45daf0e6597c65200800ba33182cdbede88ff9dd
[gcc.git] / libgomp / ChangeLog
1 2014-05-21 Jakub Jelinek <jakub@redhat.com>
2
3 PR middle-end/61252
4 * testsuite/libgomp.c++/simd-9.C: New test.
5
6 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
7
8 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
9 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10 texts according to their @menu entry positions.
11
12 2014-05-11 Jakub Jelinek <jakub@redhat.com>
13
14 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
15 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
18 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
19 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
20 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
21 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
22 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
23 * testsuite/libgomp.fortran/depend-1.f90: New test.
24 * testsuite/libgomp.fortran/depend-2.f90: New test.
25 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
26 * testsuite/libgomp.fortran/simd1.f90: New test.
27 * testsuite/libgomp.fortran/simd2.f90: New test.
28 * testsuite/libgomp.fortran/simd3.f90: New test.
29 * testsuite/libgomp.fortran/simd4.f90: New test.
30 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
31
32 2014-05-02 Jakub Jelinek <jakub@redhat.com>
33
34 * testsuite/libgomp.c/simd-10.c: New test.
35 * testsuite/libgomp.c/simd-11.c: New test.
36 * testsuite/libgomp.c/simd-12.c: New test.
37 * testsuite/libgomp.c/simd-13.c: New test.
38
39 2014-04-24 Jakub Jelinek <jakub@redhat.com>
40
41 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
42 atomic type clauses in any order and optional comma in between.
43 * testsuite/libgomp.c++/atomic-15.C: Likewise.
44 * testsuite/libgomp.c/atomic-17.c: Likewise.
45
46 * testsuite/libgomp.c/simd-7.c: New test.
47 * testsuite/libgomp.c/simd-8.c: New test.
48 * testsuite/libgomp.c/simd-9.c: New test.
49 * testsuite/libgomp.c/loop-16.c: New test.
50
51 2014-04-02 Richard Henderson <rth@redhat.com>
52
53 * config/linux/futex.h (futex_wait): Get error value from errno.
54 (futex_wake): Likewise.
55
56 2014-03-25 Jakub Jelinek <jakub@redhat.com>
57
58 PR c++/60331
59 * testsuite/libgomp.c++/udr-11.C: New test.
60 * testsuite/libgomp.c++/udr-12.C: New test.
61 * testsuite/libgomp.c++/udr-13.C: New test.
62 * testsuite/libgomp.c++/udr-14.C: New test.
63 * testsuite/libgomp.c++/udr-15.C: New test.
64 * testsuite/libgomp.c++/udr-16.C: New test.
65 * testsuite/libgomp.c++/udr-17.C: New test.
66 * testsuite/libgomp.c++/udr-18.C: New test.
67 * testsuite/libgomp.c++/udr-19.C: New test.
68
69 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
70
71 Update copyright years
72
73 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
74
75 * hashtab.h: Use the standard form for the copyright notice.
76
77 2014-01-02 Tobias Burnus <burnus@net-b.de>
78
79 * libgomp.texi: Bump @copying's copyright year.
80
81 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
82
83 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
84 alloca () with __builtin_alloca ().
85 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
86 * testsuite/libgomp.c/lock-3.c: Likewise.
87 * testsuite/libgomp.c/pr48591.c: Likewise.
88
89 2013-12-17 Jakub Jelinek <jakub@redhat.com>
90
91 PR testsuite/59534
92 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
93 comparisons.
94
95 2013-12-16 Jakub Jelinek <jakub@redhat.com>
96
97 PR libgomp/58756
98 * testsuite/libgomp.c/pr58756.c: New test.
99
100 2013-12-12 Jakub Jelinek <jakub@redhat.com>
101
102 PR libgomp/59467
103 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
104 !$omp parallel.
105
106 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
107
108 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
109 ALWAYS_CFLAGS.
110 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
111 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
112 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
113 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
114 Likewise.
115
116 * libgomp_g.h: Include <stddef.h> for size_t.
117
118 * libgomp.spec.in: Update comment about libgomp's dependencies.
119 * configure.ac: Likewise.
120 * configure: Regenerate.
121
122 2013-10-16 Tobias Burnus <burnus@net-b.de>
123
124 * libgomp.texi: (Runtime Library Routines): Update references for
125 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
126 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
127 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
128 (Environment Variables): Update references for OpenMP 4.0. Add
129 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
130 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
131 order.
132
133 2013-10-14 Jakub Jelinek <jakub@redhat.com>
134
135 * env.c (parse_bind_var): Initialize value to avoid
136 (false positive) warning.
137
138 2013-10-12 Jakub Jelinek <jakub@redhat.com>
139
140 PR libgomp/58691
141 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
142 to check variable.
143 (gomp_init_num_threads): Move i variable declaration into
144 #ifdef CPU_ALLOC_SIZE block.
145 * config/linux/affinity.c (gomp_affinity_init_level): Test
146 gomp_places_list_len == 0 rather than gomp_places_list == 0
147 when checking for topology reading error.
148 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
149 * env.c (parse_affinity): Add ignore argument, if true, don't populate
150 gomp_places_list, only parse env var and always return false.
151 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
152 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
153 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
154 and either of these variables were parsed correctly into a places
155 list.
156
157 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
158 Jakub Jelinek <jakub@redhat.com>
159
160 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
161 of 5 loopfn matches.
162 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
163 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
164 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
165 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
166 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
167 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
168 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
169 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
170
171 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
172
173 * Makefile.am (omp_lib.mod): Streamline rule.
174 * Makefile.in: Regenerate.
175
176 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
177 exceptions.
178
179 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
180 * testsuite/libgomp.fortran/lib1.f90: Likewise.
181 * testsuite/libgomp.fortran/lib2.f: Likewise.
182 * testsuite/libgomp.fortran/lib3.f: Likewise.
183
184 * configure.ac: Typo fix.
185 * configure: Regenerate.
186
187 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
188 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
189
190 * omp.h.in: Don't touch the user's namespace.
191
192 2013-10-11 Jakub Jelinek <jakub@redhat.com>
193 Tobias Burnus <burnus@net-b.de>
194 Richard Henderson <rth@redhat.com>
195
196 * target.c: New file.
197 * Makefile.am (libgomp_la_SOURCES): Add target.c.
198 * Makefile.in: Regenerated.
199 * libgomp_g.h (GOMP_task): Add depend argument.
200 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
201 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
202 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
203 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
204 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
205 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
206 GOMP_taskgroup_start, GOMP_taskgroup_end,
207 GOMP_parallel_sections): New prototypes.
208 * fortran.c (omp_is_initial_device): Add ialias_redirect.
209 (omp_is_initial_device_): New function.
210 (ULP, STR1, STR2, ialias_redirect): Removed.
211 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
212 omp_set_default_device_8_, omp_get_default_device_,
213 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
214 functions.
215 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
216 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
217 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
218 @@GOMP_4.0.
219 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
220 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
221 omp_set_default_device, omp_set_default_device_,
222 omp_set_default_device_8_, omp_get_default_device,
223 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
224 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
225 omp_get_team_num_): Export @@OMP_4.0.
226 * team.c (struct gomp_thread_start_data): Add place field.
227 (gomp_thread_start): Clear thr->thread_pool and
228 thr->task before returning. Use gomp_team_barrier_wait_final
229 instead of gomp_team_barrier_wait. Initialize thr->place.
230 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
231 team_cancelled and task_queued_count fields.
232 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
233 before calling pthread_exit.
234 (gomp_free_thread): No longer static. Use
235 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
236 (gomp_team_start): Add flags argument. Set
237 thr->thread_pool->threads_busy to nthreads immediately after creating
238 new pool. Use gomp_managed_threads_lock instead of
239 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
240 (gomp_team_end): Use gomp_managed_threads_lock instead of
241 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
242 of gomp_team_barrier_wait. If team->team_cancelled, call
243 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
244 rather than thr->ts.work_share.
245 (initialize_team): Don't call gomp_sem_init here.
246 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
247 caller.
248 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
249 * env.c (gomp_global_icv): Add default_device_var, target_data and
250 bind_var initializers.
251 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
252 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
253 gomp_places_list_len): New variables.
254 (parse_bind_var, parse_one_place, parse_places_var): New functions.
255 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
256 sized places.
257 (gomp_cancel_var): New global variable.
258 (parse_int): New function.
259 (handle_omp_display_env): New function.
260 (initialize_env): Use it. Initialize default_device_var.
261 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
262 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
263 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
264 been successfully parsed (and call gomp_init_affinity in that case).
265 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
266 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
267 omp_get_team_num, omp_is_initial_device): New functions.
268 * libgomp.h: Include stdlib.h.
269 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
270 Define.
271 (struct target_mem_desc): Forward declare.
272 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
273 and thread_limit_var fields.
274 (gomp_get_num_devices): New prototype.
275 (gomp_cancel_var): New extern decl.
276 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
277 team_cancelled and task_queued_count fields. Add comments about
278 task_{,queued_,running_}count.
279 (gomp_cancel_kind): New enum.
280 (gomp_work_share_end_cancel): New prototype.
281 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
282 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
283 and depend fields.
284 (struct gomp_taskgroup): New type.
285 (struct gomp_task_depend_entry,
286 struct gomp_dependers_vec): New types.
287 (gomp_finish_task): Free depend_hash if non-NULL.
288 (struct gomp_team_state): Add place_partition_off
289 and place_partition_len fields.
290 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
291 gomp_places_list_len): New extern decls.
292 (struct gomp_thread): Add place field.
293 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
294 (gomp_init_thread_affinity): Add place argument.
295 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
296 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
297 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
298 gomp_affinity_init_level, gomp_affinity_print_place): New
299 prototypes.
300 (gomp_team_start): Add flags argument.
301 (gomp_thread_limit_var, gomp_remaining_threads_count,
302 gomp_remaining_threads_lock): Remove.
303 (gomp_managed_threads_lock): New variable.
304 (struct gomp_thread_pool): Add threads_busy field.
305 (gomp_free_thread): New prototype.
306 * task.c: Include hashtab.h.
307 (hash_entry_type): New typedef.
308 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
309 (gomp_init_task): Clear dependers, depend_hash, depend_count,
310 copy_ctors_done and taskgroup fields.
311 (GOMP_task): Add depend argument, handle depend clauses. If
312 gomp_team_barrier_cancelled or if it's taskgroup has been
313 cancelled, don't queue or start new tasks. Set copy_ctors_done
314 field if needed. Initialize taskgroup field. If copy_ctors_done
315 and already cancelled, don't discard the task. If taskgroup is
316 non-NULL, enqueue the task into taskgroup queue. Increment
317 num_children field in taskgroup. Increment task_queued_count.
318 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
319 gomp_task_run_post_remove_taskgroup): New inline functions.
320 (gomp_task_run_post_handle_depend_hash,
321 gomp_task_run_post_handle_dependers,
322 gomp_task_run_post_handle_depend): New functions.
323 (GOMP_taskwait): Use them. If more than one new tasks
324 have been queued, wake other threads if needed.
325 (gomp_barrier_handle_tasks): Likewise. If
326 gomp_team_barrier_cancelled, don't start any new tasks, just free
327 all tasks.
328 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
329 * omp_lib.f90.in
330 (omp_proc_bind_kind, omp_proc_bind_false,
331 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
332 omp_proc_bind_spread): New params.
333 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
334 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
335 omp_get_team_num, omp_is_initial_device): New interfaces.
336 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
337 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
338 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
339 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
340 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
341 useless use omp_lib_kinds.
342 * omp.h.in (omp_proc_bind_t): New typedef.
343 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
344 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
345 omp_get_team_num, omp_is_initial_device): New prototypes.
346 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
347 through to gomp_team_start.
348 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
349 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
350 Adjust gomp_parallel_loop_start callers.
351 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
352 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
353 GOMP_loop_end_cancel): New functions.
354 (GOMP_parallel_end): Add ialias_redirect.
355 * hashtab.h: New file.
356 * libgomp.texi (Environment Variables): Minor cleanup,
357 update section refs to OpenMP 4.0rc2.
358 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
359 environment variables.
360 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
361 team->work_shares_to_free to thr->ts.work_share before calling
362 free_work_share.
363 (gomp_work_share_end_cancel): New function.
364 * config/linux/proc.c: Include errno.h.
365 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
366 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
367 sizeof (cpu_set_t) to determine number of iterations. Fix up check
368 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
369 gomp_cpuset_size is sizeof (cpu_set_t).
370 (gomp_init_num_threads): Initialize gomp_cpuset_size,
371 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
372 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
373 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
374 contain any logical CPUs.
375 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
376 is NULL. Use gomp_cpusetp instead of &cpuset and pass
377 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
378 pthread_getaffinity_np. Check gomp_places_list instead of
379 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
380 * config/linux/bar.c (gomp_barrier_wait_end,
381 gomp_barrier_wait_last): Use BAR_* defines.
382 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
383 from state where needed. Set work_share_cancelled to 0 on last
384 thread.
385 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
386 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
387 functions.
388 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
389 Add cpusetsize argument.
390 (gomp_cpuset_size, gomp_cpusetp): Declare.
391 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
392 (affinity_counter): Remove.
393 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
394 if CPU_ALLOC_SIZE isn't defined.
395 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
396 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
397 bind current thread to the first place.
398 (gomp_init_thread_affinity): Rewritten. Add place argument, just
399 pthread_setaffinity_np to gomp_places_list[place].
400 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
401 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
402 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
403 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
404 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
405 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
406 (gomp_barrier_t): Add awaited_final field.
407 (gomp_barrier_init): Initialize awaited_final field.
408 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
409 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
410 prototypes.
411 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
412 defines.
413 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
414 gomp_team_barrier_cancelled): New inline functions.
415 (gomp_barrier_last_thread,
416 gomp_team_barrier_set_task_pending,
417 gomp_team_barrier_clear_task_pending,
418 gomp_team_barrier_set_waiting_for_tasks,
419 gomp_team_barrier_waiting_for_tasks,
420 gomp_team_barrier_done): Use BAR_* defines.
421 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
422 (gomp_barrier_wait_end): Use BAR_* defines.
423 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
424 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
425 Use BAR_* defines.
426 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
427 gomp_team_barrier_cancel): New functions.
428 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
429 argument.
430 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
431 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
432 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
433 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
434 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
435 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
436 (gomp_barrier_t): Add cancellable field.
437 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
438 gomp_team_barrier_cancel): New prototypes.
439 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
440 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
441 gomp_team_barrier_cancelled): New inline functions.
442 (gomp_barrier_wait_start, gomp_barrier_last_thread,
443 gomp_team_barrier_set_task_pending,
444 gomp_team_barrier_clear_task_pending,
445 gomp_team_barrier_set_waiting_for_tasks,
446 gomp_team_barrier_waiting_for_tasks,
447 gomp_team_barrier_done): Use BAR_* defines.
448 * barrier.c (GOMP_barrier_cancel): New function.
449 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
450 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
451 omp_proc_bind_spread): New params.
452 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
453 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
454 omp_get_team_num, omp_is_initial_device): New externals.
455 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
456 New functions.
457 (gomp_resolve_num_threads): Adjust for thread_limit now being in
458 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
459 infinity. If not nested, just return minimum of max_num_threads
460 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
461 to the returned value. Otherwise, don't update atomically
462 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
463 (GOMP_parallel_end): Adjust for thread_limit now being in
464 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
465 infinity. Adjust threads_busy in the pool rather than
466 gomp_remaining_threads_count. Remember team->nthreads and call
467 gomp_team_end before adjusting threads_busy, if not nested
468 afterwards, just set it to 1 non-atomically. Add ialias.
469 (GOMP_parallel_start): Adjust gomp_team_start caller.
470 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
471 * testsuite/libgomp.c/affinity-1.c: New test.
472 * testsuite/libgomp.c/atomic-15.c: New test.
473 * testsuite/libgomp.c/atomic-16.c: New test.
474 * testsuite/libgomp.c/atomic-17.c: New test.
475 * testsuite/libgomp.c/cancel-for-1.c: New test.
476 * testsuite/libgomp.c/cancel-for-2.c: New test.
477 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
478 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
479 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
480 * testsuite/libgomp.c/cancel-sections-1.c: New test.
481 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
482 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
483 * testsuite/libgomp.c/depend-1.c: New test.
484 * testsuite/libgomp.c/depend-2.c: New test.
485 * testsuite/libgomp.c/depend-3.c: New test.
486 * testsuite/libgomp.c/depend-4.c: New test.
487 * testsuite/libgomp.c/for-1.c: New test.
488 * testsuite/libgomp.c/for-1.h: New file.
489 * testsuite/libgomp.c/for-2.c: New test.
490 * testsuite/libgomp.c/for-2.h: New file.
491 * testsuite/libgomp.c/for-3.c: New test.
492 * testsuite/libgomp.c/pr58392.c: New test.
493 * testsuite/libgomp.c/simd-1.c: New test.
494 * testsuite/libgomp.c/simd-2.c: New test.
495 * testsuite/libgomp.c/simd-3.c: New test.
496 * testsuite/libgomp.c/simd-4.c: New test.
497 * testsuite/libgomp.c/simd-5.c: New test.
498 * testsuite/libgomp.c/simd-6.c: New test.
499 * testsuite/libgomp.c/target-1.c: New test.
500 * testsuite/libgomp.c/target-2.c: New test.
501 * testsuite/libgomp.c/target-3.c: New test.
502 * testsuite/libgomp.c/target-4.c: New test.
503 * testsuite/libgomp.c/target-5.c: New test.
504 * testsuite/libgomp.c/target-6.c: New test.
505 * testsuite/libgomp.c/target-7.c: New test.
506 * testsuite/libgomp.c/taskgroup-1.c: New test.
507 * testsuite/libgomp.c/thread-limit-1.c: New test.
508 * testsuite/libgomp.c/thread-limit-2.c: New test.
509 * testsuite/libgomp.c/thread-limit-3.c: New test.
510 * testsuite/libgomp.c/udr-1.c: New test.
511 * testsuite/libgomp.c/udr-2.c: New test.
512 * testsuite/libgomp.c/udr-3.c: New test.
513 * testsuite/libgomp.c++/affinity-1.C: New test.
514 * testsuite/libgomp.c++/atomic-10.C: New test.
515 * testsuite/libgomp.c++/atomic-11.C: New test.
516 * testsuite/libgomp.c++/atomic-12.C: New test.
517 * testsuite/libgomp.c++/atomic-13.C: New test.
518 * testsuite/libgomp.c++/atomic-14.C: New test.
519 * testsuite/libgomp.c++/atomic-15.C: New test.
520 * testsuite/libgomp.c++/cancel-for-1.C: New test.
521 * testsuite/libgomp.c++/cancel-for-2.C: New test.
522 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
523 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
524 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
525 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
526 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
527 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
528 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
529 * testsuite/libgomp.c++/cancel-test.h: New file.
530 * testsuite/libgomp.c++/for-9.C: New test.
531 * testsuite/libgomp.c++/for-10.C: New test.
532 * testsuite/libgomp.c++/for-11.C: New test.
533 * testsuite/libgomp.c++/simd-1.C: New test.
534 * testsuite/libgomp.c++/simd-2.C: New test.
535 * testsuite/libgomp.c++/simd-3.C: New test.
536 * testsuite/libgomp.c++/simd-4.C: New test.
537 * testsuite/libgomp.c++/simd-5.C: New test.
538 * testsuite/libgomp.c++/simd-6.C: New test.
539 * testsuite/libgomp.c++/simd-7.C: New test.
540 * testsuite/libgomp.c++/simd-8.C: New test.
541 * testsuite/libgomp.c++/target-1.C: New test.
542 * testsuite/libgomp.c++/target-2.C: New test.
543 * testsuite/libgomp.c++/target-2-aux.cc: New file.
544 * testsuite/libgomp.c++/target-3.C: New test.
545 * testsuite/libgomp.c++/taskgroup-1.C: New test.
546 * testsuite/libgomp.c++/udr-1.C: New test.
547 * testsuite/libgomp.c++/udr-2.C: New test.
548 * testsuite/libgomp.c++/udr-3.C: New test.
549 * testsuite/libgomp.c++/udr-4.C: New test.
550 * testsuite/libgomp.c++/udr-5.C: New test.
551 * testsuite/libgomp.c++/udr-6.C: New test.
552 * testsuite/libgomp.c++/udr-7.C: New test.
553 * testsuite/libgomp.c++/udr-8.C: New test.
554 * testsuite/libgomp.c++/udr-9.C: New test.
555
556 2013-09-20 Jakub Jelinek <jakub@redhat.com>
557
558 PR testsuite/57605
559 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
560 ALWAYS_CFLAGS.
561
562 2013-09-20 Alan Modra <amodra@gmail.com>
563
564 * configure: Regenerate.
565
566 2013-09-19 Jakub Jelinek <jakub@redhat.com>
567
568 * testsuite/libgomp.c/sections-2.c: New test.
569
570 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
571
572 * testsuite/libgomp.fortran/strassen.f90:
573 Add dg-skip-if aarch64_tiny.
574
575 2013-06-20 Iain Sandoe <iain@codesourcery.com>
576 Cesar Philippidis <cesar@codesourcery.com>
577
578 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
579 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
580 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
581 * testsuite/libgomp.fortran/fortran.exp: Likewise.
582 * testsuite/libgomp.graphite/graphite.exp: Likewise.
583 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
584 Use dg-runtest rather than gfortran-dg-runtest.
585
586 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
587
588 * testsuite/libgomp.c/icv-2.c: Extend current handling of
589 Linux-based x86 systems to cover all GNU systems.
590 * testsuite/libgomp.c/lock-3.c: Likewise.
591 * testsuite/libgomp.c/pr48591.c: Likewise.
592
593 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
594
595 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
596 GNU/Hurd, as done for Linux-based systems.
597
598 * config/posix/ptrlock.h: Fix comment.
599
600 2013-05-27 Tobias Burnus <burnus@net-b.de>
601
602 PR fortran/57423
603 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
604 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
605 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
606 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
607 omp_destroy_nest_lock): Correct arguments to match the one in
608 the OpenMP spec.
609 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
610 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
611 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
612 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
613
614 2013-05-16 Jakub Jelinek <jakub@redhat.com>
615
616 * testsuite/libgomp.c/loop-13.c: New test.
617 * testsuite/libgomp.c/loop-14.c: New test.
618 * testsuite/libgomp.c/loop-15.c: New test.
619 * testsuite/libgomp.c++/loop-13.C: New test.
620 * testsuite/libgomp.c++/loop-14.C: New test.
621 * testsuite/libgomp.c++/loop-15.C: New test.
622
623 2013-02-06 Jakub Jelinek <jakub@redhat.com>
624
625 PR middle-end/56217
626 * testsuite/libgomp.c++/pr56217.C: New test.
627
628 2013-02-01 Alan Modra <amodra@gmail.com>
629
630 * task.c (GOMP_task, GOMP_taskwait): Comment.
631
632 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
633 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
634
635 PR libgomp/55561
636 * config/linux/wait.h (do_spin): Use atomic load for addr.
637 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
638 for intptr and ptrlock.
639 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
640 for ptrlock.
641
642 2013-01-22 Alan Modra <amodra@gmail.com>
643
644 PR libgomp/51376
645 PR libgomp/56073
646 * task.c (GOMP_task): Revert 2011-12-09 change.
647 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
648 barrier to read task->children..
649 (gomp_barrier_handle_tasks): ..and matching atomic store with
650 release barrier here when setting parent->children to NULL.
651
652 2013-01-16 Jakub Jelinek <jakub@redhat.com>
653 Tobias Burnus <burnus@net-b.de>
654
655 PR driver/55884
656 * testsuite/libgomp.fortran/fortran.exp: Use
657 -fintrinsic-modules-path= instead of
658 -fintrinsic-modules-path.
659
660 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
661
662 Update copyright years.
663
664 2012-12-19 Tobias Burnus <burnus@net-b.de>
665
666 * testsuite/libgomp.fortran/fortran.exp: Set
667 -fintrinsic-modules-path.
668
669 2012-12-19 Tobias Burnus <burnus@net-b.de>
670
671 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
672 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
673
674 2012-11-21 Jakub Jelinek <jakub@redhat.com>
675
676 PR libgomp/55411
677 * team.c (gomp_free_thread): Decrease gomp_managed_threads
678 if pool had any threads_used.
679
680 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
681
682 * testsuite/libgomp.c++/pr24455.C: Use
683 -Wl,-undefined,dynamic_lookup on darwin.
684
685 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
686
687 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
688
689 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
690
691 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
692
693 2012-10-23 Ian Bolton <ian.bolton@arm.com>
694 Jim MacArthur <jim.macarthur@arm.com>
695 Marcus Shawcroft <marcus.shawcroft@arm.com>
696 Nigel Stephens <nigel.stephens@arm.com>
697 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
698 Richard Earnshaw <rearnsha@arm.com>
699 Sofiane Naci <sofiane.naci@arm.com>
700 Stephen Thomas <stephen.thomas@arm.com>
701 Tejas Belagod <tejas.belagod@arm.com>
702 Yufeng Zhang <yufeng.zhang@arm.com>
703
704 * configure.tgt: Add AArch64.
705
706 2012-10-04 Jason Merrill <jason@redhat.com>
707
708 * testsuite/libgomp.c++/tls-init1.C: New.
709
710 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
711
712 * configure: Regenerated.
713
714 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
715
716 * config/linux/mips/futex.h (sys_futex0): Change to static
717 function with noinline, nomips16 attributes under MIPS16. Adjust
718 asm statement to place 'li v0,SYS_futex' immediately before
719 syscall insn.
720
721 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
722
723 * libgomp.texi (Library Index): Renamed from "Index" to prevent
724 conflict with index.html on case-insensitive file systems.
725
726 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
727
728 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
729 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
730
731 2012-07-02 Richard Guenther <rguenther@suse.de>
732 Michael Matz <matz@suse.de>
733 Tobias Grosser <tobias@grosser.es>
734 Sebastian Pop <sebpop@gmail.com>
735
736 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
737 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
738 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
739 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
740
741 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
742
743 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
744
745 2012-06-22 Richard Guenther <rguenther@suse.de>
746
747 Merge from graphite branch
748 2012-01-13 Tobias Grosser <tobias@grosser.es>
749
750 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
751 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
752
753 2012-06-07 Jakub Jelinek <jakub@redhat.com>
754
755 PR middle-end/53580
756 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
757 use GOMP_barrier () call instead.
758 * testsuite/libgomp.c/pr26943-3.c: Likewise.
759 * testsuite/libgomp.c/pr26943-4.c: Likewise.
760 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
761 call GOMP_barrier instead.
762 * testsuite/libgomp.fortran/vla5.f90: Likewise.
763
764 2012-06-06 Jakub Jelinek <jakub@redhat.com>
765
766 PR libgomp/52993
767 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
768 argument to memset call.
769
770 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
771
772 * configure: Regenerated.
773
774 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
775
776 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
777
778 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
779
780 PR bootstrap/52812
781 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
782
783 2012-03-22 Jakub Jelinek <jakub@redhat.com>
784
785 PR middle-end/52547
786 * testsuite/libgomp.c/pr52547.c: New test.
787
788 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
789
790 * testsuite/lib/libgomp.exp: load fortran-modules.exp
791
792 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
793
794 * configure.tgt (mips-sgi-irix6*): Remove.
795
796 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
797
798 * configure.tgt (alpha*-dec-osf*): Remove.
799
800 * config/osf/sem.h: Remove.
801 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
802
803 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
804
805 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
806
807 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
808
809 PR libstdc++/52188
810 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
811 Remove ENABLE_SYMVERS_SOL2.
812 * configure: Regenerate.
813 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
814 (PREPROCESS): New variable.
815 (libgomp.ver): New target.
816 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
817 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
818 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
819 Use libgomp.ver.
820 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
821 * Makefile.in: Regenerate.
822
823 2012-02-14 Walter Lee <walt@tilera.com>
824
825 * configure.tgt: Handle tilegx and tilepro.
826 * config/linux/tile/futex.h: New file.
827
828 2012-02-08 Richard Guenther <rguenther@suse.de>
829
830 PR tree-optimization/46886
831 * testsuite/libgomp.c/pr46886.c: New testcase.
832
833 2012-01-25 Matthias Klose <doko@ubuntu.com>
834
835 * config/linux/arm: Remove empty directory.
836 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
837
838 2011-12-09 Alan Modra <amodra@gmail.com>
839
840 PR libgomp/51376
841 * task.c (GOMP_taskwait): Don't access task->children outside of
842 task_lock mutex region.
843 (GOMP_task): Likewise.
844
845 2011-12-06 Jakub Jelinek <jakub@redhat.com>
846
847 PR libgomp/51132
848 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
849 to file scope.
850 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
851 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
852 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
853 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
854 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
855
856 2011-12-02 Alan Modra <amodra@gmail.com>
857
858 * config/linux/affinity.c: Use atomic rather than sync builtin.
859 * config/linux/lock.c: Likewise.
860 * config/linux/ptrlock.h: Likewise.
861 * config/linux/ptrlock.c: Likewise.
862 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
863 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
864 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
865 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
866 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
867 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
868 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
869 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
870 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
871 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
872
873 2011-11-30 Alan Modra <amodra@gmail.com>
874
875 PR libgomp/51298
876 * config/linux/bar.h: Use atomic rather than sync builtins.
877 * config/linux/bar.c: Likewise. Add missing acquire
878 synchronisation on generation field.
879 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
880 double unlock.
881
882 2011-11-30 Alan Modra <amodra@gmail.com>
883
884 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
885 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
886 * config/linux/mutex.h: Use atomic rather than sync builtins.
887 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
888 * config/linux/omp-lock.h: Comment fix.
889 * config/linux/arm/mutex.h: Delete.
890 * config/linux/powerpc/mutex.h: Delete.
891 * config/linux/ia64/mutex.h: Delete.
892 * config/linux/mips/mutex.h: Delete.
893
894 2011-11-30 Alan Modra <amodra@gmail.com>
895
896 PR libgomp/51249
897 * config/linux/sem.h: Rewrite.
898 * config/linux/sem.c: Rewrite.
899
900 2011-11-28 Richard Henderson <rth@redhat.com>
901
902 * libgomp.h (enum memmodel): New.
903
904 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
905
906 * configure: Regenerate.
907
908 2011-10-10 Matthias Klose <doko@ubuntu.com>
909
910 * config/posix95: Remove empty directory.
911
912 2011-08-26 Jakub Jelinek <jakub@redhat.com>
913
914 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
915
916 2011-08-19 Jakub Jelinek <jakub@redhat.com>
917
918 PR fortran/49792
919 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
920 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
921
922 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
923
924 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
925
926 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
927
928 PR libgomp/49965
929 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
930
931 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
932
933 * config/linux/proc.h: New.
934 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
935 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
936 (gomp_init_num_threads): Update call to cpuset_popcount.
937 (get_num_procs): Ditto.
938 * config/linux/affinity.c (gomp_init_affinity): Call
939 gomp_cpuset_popcount.
940
941 2011-08-02 Jakub Jelinek <jakub@redhat.com>
942
943 PR fortran/42041
944 PR fortran/46752
945 * omp.h.in (omp_in_final): New prototype.
946 * omp_lib.f90.in (omp_in_final): New interface.
947 (omp_integer_kind, omp_logical_kind): Remove
948 and replace all its uses in the module with 4.
949 (openmp_version): Change to 201107.
950 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
951 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
952 kind for the parameters.
953 (omp_in_final): New external.
954 (openmp_version): Change to 201107.
955 * task.c (omp_in_final): New function.
956 (gomp_init_task): Initialize final_task.
957 (GOMP_task): Remove unused attribute from flags. Handle final
958 tasks.
959 (GOMP_taskyield): New function.
960 (omp_in_final): Return true if if (false) or final (true) task
961 or descendant of final (true).
962 * fortran.c (omp_in_final_): New function.
963 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
964 (GOMP_3.0): Export GOMP_taskyield.
965 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
966 variables.
967 (parse_unsigned_long_list): New function.
968 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
969 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
970 even if parse_affinity returned false.
971 * config/linux/affinity.c (gomp_init_affinity): Handle
972 gomp_cpu_affinity_len == 0.
973 * libgomp_g.h (GOMP_taskyield): New prototype.
974 * libgomp.h (struct gomp_task): Add final_task field.
975 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
976 * team.c (gomp_team_start): Override new task's nthreads_var icv
977 if list form OMP_NUM_THREADS has been used and it has value for
978 the new nesting level.
979
980 * testsuite/libgomp.c/atomic-11.c: New test.
981 * testsuite/libgomp.c/atomic-12.c: New test.
982 * testsuite/libgomp.c/atomic-13.c: New test.
983 * testsuite/libgomp.c/atomic-14.c: New test.
984 * testsuite/libgomp.c/reduction-6.c: New test.
985 * testsuite/libgomp.c/task-5.c: New test.
986 * testsuite/libgomp.c++/atomic-2.C: New test.
987 * testsuite/libgomp.c++/atomic-3.C: New test.
988 * testsuite/libgomp.c++/atomic-4.C: New test.
989 * testsuite/libgomp.c++/atomic-5.C: New test.
990 * testsuite/libgomp.c++/atomic-6.C: New test.
991 * testsuite/libgomp.c++/atomic-7.C: New test.
992 * testsuite/libgomp.c++/atomic-8.C: New test.
993 * testsuite/libgomp.c++/atomic-9.C: New test.
994 * testsuite/libgomp.c++/task-8.C: New test.
995 * testsuite/libgomp.c++/reduction-4.C: New test.
996 * testsuite/libgomp.fortran/allocatable7.f90: New test.
997 * testsuite/libgomp.fortran/allocatable8.f90: New test.
998 * testsuite/libgomp.fortran/crayptr3.f90: New test.
999 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
1000 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
1001 * testsuite/libgomp.fortran/pointer1.f90: New test.
1002 * testsuite/libgomp.fortran/pointer2.f90: New test.
1003 * testsuite/libgomp.fortran/task4.f90: New test.
1004
1005 2011-08-02 Tobias Burnus <burnus@net-b.de>
1006
1007 * libgomp.texi: Update OpenMP spec references to 3.1.
1008 (omp_in_final,OMP_PROC_BIND): New sections.
1009 (OMP_NUM_THREADS): Document that the value can be now a list.
1010 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
1011
1012 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
1013
1014 * config/linux/x86/futex.h: Check __x86_64__ instead of
1015 __LP64__.
1016
1017 2011-07-29 Jakub Jelinek <jakub@redhat.com>
1018
1019 PR middle-end/49897
1020 PR middle-end/49898
1021 * testsuite/libgomp.c/pr49897-1.c: New test.
1022 * testsuite/libgomp.c/pr49897-2.c: New test.
1023 * testsuite/libgomp.c/pr49898-1.c: New test.
1024 * testsuite/libgomp.c/pr49898-2.c: New test.
1025
1026 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
1027
1028 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
1029 for ia32 instead of ilp32.
1030
1031 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
1032 * testsuite/libgomp.c/atomic-6.c: Likewise.
1033
1034 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
1035
1036 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
1037 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
1038
1039 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1040
1041 PR libgomp/45351
1042 * config/osf/sem.h: New file.
1043 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
1044
1045 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1046
1047 PR target/49541
1048 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
1049 ldflags.
1050
1051 2011-07-15 Jakub Jelinek <jakub@redhat.com>
1052
1053 * config/linux/wait.h (do_spin): New inline, largely copied
1054 from do_wait, just don't do futex_wait here, instead return true if
1055 it should be done.
1056 (do_wait): Implement using do_spin.
1057 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
1058 to prototype.
1059 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
1060 __sync_bool_compare_and_swap, pass the oldval to
1061 gomp_mutex_lock_slow.
1062 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
1063 If all mutex contenders are just spinning and not sleeping, don't
1064 change state to 2 unnecessarily. Optimize the loop when state has
1065 already become 2 to use just one atomic operation per loop instead
1066 of two.
1067 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
1068 to prototype.
1069 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
1070 __sync_bool_compare_and_swap, pass the oldval to
1071 gomp_mutex_lock_slow.
1072
1073 2011-06-22 Jakub Jelinek <jakub@redhat.com>
1074
1075 PR libgomp/49490
1076 * iter.c (gomp_iter_static_next): For chunk size 0
1077 only use n ceil/ nthreads size for the first
1078 n % nthreads threads in the team instead of
1079 all threads except for the last few ones which
1080 get less work or none at all.
1081 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
1082 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
1083 chunk argument, set run_sched_modifier to 0 for static
1084 resp. 1 for other kinds. If chunk argument is 0
1085 and not static, set value to 1.
1086
1087 2011-05-19 Jakub Jelinek <jakub@redhat.com>
1088
1089 PR c++/49043
1090 * testsuite/libgomp.c++/pr49043.C: New test.
1091
1092 PR c++/48869
1093 * testsuite/libgomp.c++/pr48869.C: New test.
1094
1095 2011-05-06 Jakub Jelinek <jakub@redhat.com>
1096
1097 PR fortran/48894
1098 * fortran.c: Include limits.h.
1099 (TO_INT): Define.
1100 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
1101 *set.
1102 (omp_set_num_threads_8_, omp_set_schedule_8_,
1103 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
1104 omp_get_team_size_8_): Use TO_INT macro.
1105 * testsuite/libgomp.fortran/pr48894.f90: New test.
1106
1107 2011-04-13 Jakub Jelinek <jakub@redhat.com>
1108
1109 PR middle-end/48591
1110 * testsuite/libgomp.c/pr48591.c: New test.
1111
1112 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1113
1114 PR bootstrap/48135
1115 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
1116 * configure: Regenerate.
1117
1118 2011-02-27 Jakub Jelinek <jakub@redhat.com>
1119
1120 PR fortran/47886
1121 * testsuite/libgomp.fortran/task3.f90: New test.
1122
1123 2011-02-24 Tobias Burnus <burnus@net-b.de>
1124
1125 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
1126
1127 2011-02-23 Jakub Jelinek <jakub@redhat.com>
1128
1129 PR libgomp/47854
1130 * libgomp.texi (omp_get_wtime): Don't say time in the past
1131 must be Unix Epoch.
1132
1133 2011-02-18 Jakub Jelinek <jakub@redhat.com>
1134
1135 PR libgomp/47804
1136 * testsuite/libgomp.fortran/fortran.exp: Check for both
1137 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
1138 but $blddir != "", still append ${blddir}/${lang_library_path}
1139 to ld_library_path.
1140
1141 2011-02-16 Tobias Burnus <burnus@net-b.de>
1142
1143 PR libgomp/47758
1144 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
1145 of libquadmath.a before adding its libpath to ldflags.
1146
1147 2011-02-14 Jakub Jelinek <jakub@redhat.com>
1148
1149 PR libgomp/47731
1150 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
1151 to FUTEX_WAIT futex syscall.
1152 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
1153
1154 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1155
1156 * configure: Regenerate.
1157
1158 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
1159
1160 PR libstdc++/36104
1161 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
1162
1163 2011-01-16 Gerald Pfeifer
1164
1165 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
1166
1167 2010-12-14 Jakub Jelinek <jakub@redhat.com>
1168
1169 PR fortran/46874
1170 * libgomp.fortran/allocatable6.f90: New test.
1171
1172 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1173
1174 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
1175 * configure: Regenerate.
1176
1177 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
1178
1179 PR target/40125
1180 PR lto/46695
1181 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
1182 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
1183 * aclocal.m4: Regenerate.
1184 * configure: Regenerate.
1185 * Makefile.in: Regenerate.
1186 * testsuite/Makefile.in: Regenerate.
1187
1188 2010-12-02 Jakub Jelinek <jakub@redhat.com>
1189
1190 PR fortran/46753
1191 * libgomp.fortran/pr46753.f90: New test.
1192
1193 PR libgomp/43706
1194 * env.c (initialize_env): Default to spin count 300000
1195 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
1196 is specified.
1197
1198 PR libgomp/45240
1199 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
1200 at the end if sync builtins aren't supported.
1201
1202 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1203
1204 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
1205
1206 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1207
1208 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
1209
1210 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
1211
1212 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
1213
1214 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1215 Tobias Burnus <burnus@net-b.de>
1216
1217 PR fortran/32049
1218 * configure.ac:
1219 * configure: Regenerate.
1220
1221 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
1222
1223 * config/linux/futex.h: New.
1224 * config/linux/arm/mutex.h: New.
1225 * configure.tgt (arm*-*-linux*): Add config path.
1226
1227 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
1228
1229 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1230
1231 2010-09-23 Tobias Burnus <burnus@net-b.de>
1232
1233 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
1234 Change Fortran datatype to LOGICAL.
1235 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
1236 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
1237
1238 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1239
1240 * configure: Regenerate.
1241
1242 2010-07-26 Jakub Jelinek <jakub@redhat.com>
1243
1244 * libgomp.texi: Add function keyword to a couple of Fortran
1245 interfaces, use integer instead of int for Fortran.
1246
1247 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
1248
1249 * libgomp.texi: Fix spelling and pasto problems throughout.
1250 Adjust prototypes to match code.
1251
1252 2010-07-24 Tobias Burnus <burnus@net-b.de>
1253
1254 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
1255 silence -fwhole-file warning.
1256
1257 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1258
1259 * configure.tgt (*-*-solaris2.[56]*): Removed.
1260
1261 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1262
1263 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
1264 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
1265 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
1266 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
1267 targetting solaris2*.
1268 * configure: Regenerate.
1269 * config.h.in: Regenerate.
1270
1271 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
1272 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
1273 Add libgomp_version_dep.
1274 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
1275 versioning.
1276 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
1277 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
1278 * Makefile.in: Regenerate.
1279
1280 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
1281 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
1282 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
1283 to common block, protected by
1284 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
1285
1286 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
1287
1288 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
1289
1290 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
1291
1292 PR bootstrap/43170
1293 * configure: Regenerate.
1294
1295 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1296
1297 PR other/43620
1298 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
1299 * configure: Regenerate.
1300 * Makefile.in: Regenerate.
1301 * testsuite/Makefile.in: Regenerate.
1302
1303 2010-04-26 Jakub Jelinek <jakub@redhat.com>
1304
1305 PR c/43893
1306 * testsuite/libgomp.c/pr43893.c: New test.
1307 * testsuite/libgomp.c++/pr43893.C: New test.
1308
1309 2010-04-21 Jakub Jelinek <jakub@redhat.com>
1310
1311 PR middle-end/43570
1312 * testsuite/libgomp.fortran/vla8.f90: New test.
1313
1314 2010-04-20 Jakub Jelinek <jakub@redhat.com>
1315
1316 PR libgomp/43706
1317 * config/linux/affinity.c (gomp_init_affinity): Decrease
1318 gomp_available_cpus if affinity mask confines the process to fewer
1319 CPUs.
1320 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
1321 non-NULL, just return gomp_available_cpus.
1322
1323 PR libgomp/43569
1324 * sections.c (gomp_sections_init): Initialize ws->mode.
1325
1326 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
1327
1328 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
1329 not unused bar variable.
1330 * configure: Regenerate.
1331
1332 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1333
1334 * Makefile.in: Regenerate.
1335 * aclocal.m4: Regenerate.
1336 * testsuite/Makefile.in: Regenerate.
1337
1338 2010-03-22 Jakub Jelinek <jakub@redhat.com>
1339
1340 PR libgomp/42942
1341 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
1342 (initialize_env): Adjust callers.
1343 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
1344 when the argument is 0.
1345
1346 * testsuite/libgomp.c/pr42942.c: New test.
1347
1348 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
1349
1350 PR middle-end/42644
1351 PR middle-end/42130
1352 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
1353 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
1354
1355 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1356
1357 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
1358 * testsuite/libgomp.c++/task-6.C: Likewise.
1359
1360 2010-01-28 Steve Ellcey <sje@cup.hp.com>
1361
1362 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
1363
1364 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
1365
1366 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
1367 * configure: Regenerate.
1368
1369 2010-01-26 Jakub Jelinek <jakub@redhat.com>
1370
1371 PR fortran/42866
1372 * testsuite/libgomp.fortran/allocatable5.f90: New test.
1373
1374 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
1375
1376 * configure.ac: Test for executability of GFORTRAN.
1377 * configure: Regenerate.
1378
1379 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1380
1381 * configure: Regenerate.
1382
1383 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
1384
1385 PR libgomp/42602
1386 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
1387
1388 2010-01-03 Richard Guenther <rguenther@suse.de>
1389
1390 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
1391
1392 2009-12-23 Sebastian Pop <sebpop@gmail.com>
1393
1394 * testsuite/libgomp.graphite/pr4118.c: New.
1395
1396 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1397
1398 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
1399 for darwin, protect the test with require-effective-target tls_runtime.
1400 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
1401
1402 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1403
1404 PR target/41605
1405 * testsuite/lib/libgomp.exp: Provide -B options to allow for
1406 link spec %s substitutions for static libraries.
1407
1408 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
1409
1410 PR testsuite/42135
1411 * libgomp.graphite/force-parallel-2.c: Reduce array size.
1412
1413 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1414
1415 * Makefile.in: Regenerate.
1416 * configure: Regenerate.
1417 * testsuite/Makefile.in: Regenerate.
1418
1419 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
1420
1421 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
1422 settings for LC_ALL and LANG.
1423
1424 2009-11-25 Jakub Jelinek <jakub@redhat.com>
1425
1426 PR fortran/42162
1427 * testsuite/libgomp.fortran/pr42162.f90: New test.
1428
1429 2009-11-13 Jakub Jelinek <jakub@redhat.com>
1430
1431 PR middle-end/42029
1432 * testsuite/libgomp.c/pr42029.c: New test.
1433
1434 2009-10-26 Jakub Jelinek <jakub@redhat.com>
1435
1436 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
1437 *s. Accept ld version without text in ()s.
1438 * configure: Regenerated.
1439
1440 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
1441
1442 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
1443
1444 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1445
1446 PR libgomp/41418
1447 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
1448 or a hyphen (happens with fortran language disabled).
1449 * configure: Regenerate.
1450
1451 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1452
1453 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
1454 use sed script portable to Solaris /bin/sed for extracting ld
1455 version.
1456 * configure: Regenerate.
1457
1458 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
1459
1460 * testsuite/libgomp.graphite/bounds.c: New test.
1461
1462 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1463
1464 * Makefile.am (libgomp_la_LINK): New.
1465 * Makefile.in: Regenerate.
1466
1467 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1468
1469 * configure.ac (AC_PREREQ): Bump to 2.64.
1470
1471 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1472
1473 * Makefile.am (install-html, install-pdf): Remove.
1474 * Makefile.in: Regenerate.
1475
1476 * Makefile.in: Regenerate.
1477 * aclocal.m4: Regenerate.
1478 * config.h.in: Regenerate.
1479 * configure: Regenerate.
1480 * testsuite/Makefile.in: Regenerate.
1481
1482 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1483
1484 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
1485 * Makefile.in: Regenerate.
1486
1487 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
1488
1489 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
1490 * Makefile.in: Regenerate.
1491
1492 2009-08-19 Tobias Burnus <burnus@net-b.de>
1493
1494 PR fortran/41102
1495 omp_lib.h.in: Fix -std=f95 errors.
1496
1497
1498 2009-08-14 David Edelsohn <edelsohn@gnu.org>
1499
1500 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
1501 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
1502 * testsuite/libgomp.graphite/graphite.exp: New.
1503
1504 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
1505
1506 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
1507 only build.
1508
1509 2009-08-04 David Daney <ddaney@caviumnetworks.com>
1510
1511 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
1512 needed memory barrier semantics.
1513 * config/linux/mips/mutex.h: New file.
1514
1515 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1516
1517 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1518
1519 2009-07-16 Joseph Myers <joseph@codesourcery.com>
1520
1521 * configure: Regenerate.
1522
1523 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1524
1525 PR testsuite/40699
1526 PR testsuite/40707
1527 PR testsuite/40709
1528 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
1529 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
1530 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
1531
1532 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
1533
1534 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
1535 options when choosing a multilib.
1536
1537 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1538
1539 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
1540 ld_library_path. Use add_path. Add just find_libgcc_s to
1541 ld_library_path, not every libgcc multilib directory.
1542 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
1543 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
1544 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
1545 Use add_path.
1546 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
1547
1548 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
1549
1550 * Makefile.am (LTLDFLAGS): Define.
1551 (LINK): Define.
1552 * Makefile.in: Regenerate.
1553
1554 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
1555
1556 PR fortran/39718
1557 * testsuite/libgomp.fortran/fortran.exp: Don't link with
1558 libgfortranbegin, check existence of libgfortran.a instead of
1559 libgfortranbegin.a.
1560
1561 2009-05-20 Jakub Jelinek <jakub@redhat.com>
1562
1563 PR libgomp/40174
1564 * team.c (gomp_thread_start): Destroy thr->release semaphore.
1565 (gomp_free_pool_helper): Likewise.
1566
1567 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
1568 Jakub Jelinek <jakub@redhat.com>
1569
1570 PR fortran/35423
1571 * testsuite/libgomp.fortran/workshare2.f90: New test.
1572
1573 2009-04-09 Nick Clifton <nickc@redhat.com>
1574
1575 * iter.c: Change copyright header to refer to version 3 of the
1576 GNU General Public License with version 3.1 of the GCC Runtime
1577 Library Exception and to point readers at the COPYING3 and
1578 COPYING3.RUNTIME files and the FSF's license web page.
1579 * alloc.c: Likewise.
1580 * barrier.c: Likewise.
1581 * config/bsd/proc.c: Likewise.
1582 * config/linux/affinity.c: Likewise.
1583 * config/linux/alpha/futex.h: Likewise.
1584 * config/linux/bar.c: Likewise.
1585 * config/linux/bar.h: Likewise.
1586 * config/linux/ia64/futex.h: Likewise.
1587 * config/linux/ia64/mutex.h: Likewise.
1588 * config/linux/lock.c: Likewise.
1589 * config/linux/mips/futex.h: Likewise.
1590 * config/linux/mutex.c: Likewise.
1591 * config/linux/mutex.h: Likewise.
1592 * config/linux/powerpc/futex.h: Likewise.
1593 * config/linux/proc.c: Likewise.
1594 * config/linux/ptrlock.c: Likewise.
1595 * config/linux/ptrlock.h: Likewise.
1596 * config/linux/s390/futex.h: Likewise.
1597 * config/linux/sem.c: Likewise.
1598 * config/linux/sem.h: Likewise.
1599 * config/linux/sparc/futex.h: Likewise.
1600 * config/linux/wait.h: Likewise.
1601 * config/linux/x86/futex.h: Likewise.
1602 * config/mingw32/proc.c: Likewise.
1603 * config/mingw32/time.c: Likewise.
1604 * config/posix/affinity.c: Likewise.
1605 * config/posix/bar.c: Likewise.
1606 * config/posix/bar.h: Likewise.
1607 * config/posix/lock.c: Likewise.
1608 * config/posix/mutex.h: Likewise.
1609 * config/posix/proc.c: Likewise.
1610 * config/posix/ptrlock.h: Likewise.
1611 * config/posix/sem.c: Likewise.
1612 * config/posix/sem.h: Likewise.
1613 * config/posix/time.c: Likewise.
1614 * config/posix95/lock.c: Likewise.
1615 * critical.c: Likewise.
1616 * env.c: Likewise.
1617 * error.c: Likewise.
1618 * fortran.c: Likewise.
1619 * iter_ull.c: Likewise.
1620 * libgomp.h: Likewise.
1621 * libgomp_f.h.in: Likewise.
1622 * libgomp_g.h: Likewise.
1623 * loop.c: Likewise.
1624 * loop_ull.c: Likewise.
1625 * omp.h.in: Likewise.
1626 * omp_lib.f90.in: Likewise.
1627 * omp_lib.h.in: Likewise.
1628 * ordered.c: Likewise.
1629 * parallel.c: Likewise.
1630 * sections.c: Likewise.
1631 * single.c: Likewise.
1632 * task.c: Likewise.
1633 * team.c: Likewise.
1634 * work.c: Likewise.
1635
1636 2009-04-09 Jakub Jelinek <jakub@redhat.com>
1637
1638 * testsuite/config/default.exp: Change copyright header to refer to
1639 version 3 of the GNU General Public License and to point readers
1640 at the COPYING3 file and the FSF's license web page.
1641
1642 2009-04-08 Jakub Jelinek <jakub@redhat.com>
1643
1644 PR middle-end/39573
1645 * libgomp.c++/pr39573.C: New test.
1646
1647 2009-04-01 Jakub Jelinek <jakub@redhat.com>
1648
1649 PR other/39591
1650 * testsuite/libgomp.c/pr39591-1.c: New test.
1651 * testsuite/libgomp.c/pr39591-2.c: New test.
1652 * testsuite/libgomp.c/pr39591-3.c: New test.
1653
1654 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
1655
1656 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
1657 * testsuite/libgomp.c/atomic-6.c: Ditto.
1658
1659 2009-03-23 Jakub Jelinek <jakub@redhat.com>
1660
1661 PR c/39495
1662 * testsuite/libgomp.c/loop-12.c: New test.
1663 * testsuite/libgomp.c/loop-11.c: New test.
1664 * testsuite/libgomp.c++/loop-11.C: New test.
1665 * testsuite/libgomp.c++/loop-12.C: New test.
1666 * testsuite/libgomp.c++/for-8.C: New test.
1667
1668 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1669
1670 * configure: Regenerate.
1671
1672 2009-02-11 Jakub Jelinek <jakub@redhat.com>
1673
1674 PR middle-end/39154
1675 * testsuite/libgomp.c/pr39154.c: New test.
1676
1677 2009-01-30 Ian Lance Taylor <iant@google.com>
1678
1679 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
1680 libgomp_ld_is_gold. Get gold version number.
1681 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
1682 * configure: Rebuild.
1683
1684 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1685
1686 * testsuite/lib/libgomp.exp: Add -B option for targets that
1687 use libgfortran.a%s in their specs.
1688
1689 2009-01-07 Jakub Jelinek <jakub@redhat.com>
1690
1691 PR libgomp/38086
1692 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
1693 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
1694 HAVE_AS_SYMVER_DIRECTIVE is not defined.
1695 * configure: Regenerated.
1696 * config.h.in: Likewise.
1697
1698 2008-12-28 Jakub Jelinek <jakub@redhat.com>
1699
1700 PR c++/38650
1701 * testsuite/libgomp.c/pr38650.c: New test.
1702 * testsuite/libgomp.c++/pr38650.C: New test.
1703
1704 2008-12-27 Jakub Jelinek <jakub@redhat.com>
1705
1706 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
1707
1708 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
1709
1710 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
1711
1712 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1713
1714 * configure: Regenerate.
1715
1716 2008-12-08 Jakub Jelinek <jakub@redhat.com>
1717
1718 PR middle-end/36802
1719 * testsuite/libgomp.c/pr36802-1.c: New test.
1720 * testsuite/libgomp.c/pr36802-2.c: New test.
1721 * testsuite/libgomp.c/pr36802-3.c: New test.
1722
1723 2008-12-01 Janis Johnson <janis187@us.ibm.com>
1724
1725 PR libgomp/38270
1726 * config/linux/powerpc/mutex.h: New.
1727
1728 2008-12-01 Jakub Jelinek <jakub@redhat.com>
1729
1730 PR c++/38257
1731 * testsuite/libgomp.c++/for-7.C: New test.
1732
1733 PR c++/38348
1734 * testsuite/libgomp.c++/for-6.C: New test.
1735
1736 2008-11-26 Janis Johnson <janis187@us.ibm.com>
1737
1738 PR testsuite/28870
1739 * testsuite/lib/libgomp.exp: Include new timeout library files.
1740 (libgomp_target_compile): Set timeout value from new proc.
1741
1742 2008-11-13 Steve Ellcey <sje@cup.hp.com>
1743
1744 PR libgomp/37938
1745 * config/linux/ia64/mutex.h: New.
1746
1747 2008-11-04 Tobias Burnus <burnus@net-b.de>
1748
1749 PR libgomp/37935
1750 * libgomp.texi (Runtime library routines, environment variables):
1751 Update for OpenMP version 3.0.
1752
1753 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
1754 Steve Ellcey <sje@cup.hp.com>
1755
1756 * configure: Regenerate for new libtool.
1757 * Makefile.in: Ditto.
1758 * testsuite/Makefile.in: Ditto.
1759
1760 2008-09-19 Jakub Jelinek <jakub@redhat.com>
1761 Andreas Tobler <a.tobler@schweiz.org>
1762
1763 * config/bsd/proc.c: New file.
1764 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
1765 * configure.ac: Check for header <sys/sysctl.h>
1766 * configure: Regenerate.
1767 * config.h.in: Likewise.
1768
1769 2008-09-05 Janis Johnson <janis187@us.ibm.com>
1770
1771 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
1772
1773 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1774
1775 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
1776 * Makefile.in: Regenerated.
1777 * testsuite/Makefile.in: Regenerated.
1778
1779 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
1780
1781 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
1782 depend on blddir if blddir exists.
1783 (libgomp_target_compile): Likewise.
1784 * testsuite/libgomp.c++/c++.exp: Likewise.
1785 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1786
1787 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1788
1789 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
1790 Do not list GPL as Invariant Section.
1791
1792 2008-07-28 Ilie Garbacea <ilie@mips.com>
1793 Chao-ying Fu <fu@mips.com>
1794
1795 * configure.tgt: Enable futex for MIPS.
1796 * config/linux/mips/futex.h: New file.
1797
1798 2008-07-16 Jakub Jelinek <jakub@redhat.com>
1799
1800 * team.c (gomp_team_end): Free team immediately if it has
1801 just one thread.
1802
1803 2008-07-08 David Edelsohn <edelsohn@gnu.org>
1804
1805 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
1806 * testsuite/libgomp.fortran/fortran.exp: Same.
1807 * testsuite/libgomp.c/c.exp: Same.
1808 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
1809 directory to library path first.
1810
1811 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
1812
1813 * env.c (parse_stacksize): Add cast to avoid warning.
1814 (parse_spincount): Likewise.
1815
1816 2008-06-27 Jakub Jelinek <jakub@redhat.com>
1817
1818 * testsuite/libgomp.c/loop-10.c: New test.
1819 * libgomp.c/loop-3.c (main): Add lastprivate clause.
1820 * libgomp.c++/loop-6.C (main): Likewise.
1821
1822 PR debug/36617
1823 * testsuite/libgomp.c/debug-1.c: New test.
1824
1825 2008-06-19 Jakub Jelinek <jakub@redhat.com>
1826
1827 * testsuite/libgomp.c/nqueens-1.c: New test.
1828
1829 PR c++/36523
1830 * testsuite/libgomp.c++/task-7.C: New function.
1831
1832 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1833
1834 * configure: Regenerate.
1835
1836 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1837
1838 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
1839 mutex when HAVE_SYNC_BUILTINS isn't defined.
1840
1841 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1842
1843 * libgomp.texi (omp_test_lock): Fix typo.
1844
1845 2008-06-12 Tobias Burnus <burnus@net-b.de>
1846
1847 * omp_lib.f90.in: Add "implicit none".
1848
1849 2008-06-12 Jakub Jelinek <jakub@redhat.com>
1850
1851 PR middle-end/36506
1852 * testsuite/libgomp.c/reduction-5.c: New test.
1853
1854 2008-06-11 Jakub Jelinek <jakub@redhat.com>
1855
1856 * libgomp.h (struct gomp_task): Add in_tied_task field.
1857 * task.c (gomp_init_task): Initialize it.
1858 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
1859 unconditionally. Don't call gomp_team_barrier_wake if
1860 current task is implicit or if(0) from implicit and number of
1861 running tasks is equal to nthreads - 1.
1862
1863 PR libgomp/36471
1864 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
1865 omp_get_team_size_8): Fix pastos.
1866
1867 PR libgomp/36469
1868 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
1869 * configure: Regenerated.
1870 * config.h.in: Regenerated.
1871 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
1872 defined.
1873
1874 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
1875
1876 PR bootstrap/36452
1877 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
1878 (GOMP_loop_ull_dynamic_start): Likewise.
1879 (GOMP_loop_ull_guided_start): Likewise.
1880 (GOMP_loop_ull_ordered_static_start): Likewise.
1881 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
1882 (GOMP_loop_ull_ordered_guided_start): Likewise.
1883
1884 2008-06-06 Jakub Jelinek <jakub@redhat.com>
1885 Richard Henderson <rth@redhat.com>
1886 Ulrich Drepper <drepper@redhat.com>
1887 Jakob Blomer <jakob.blomer@ira.uka.de>
1888
1889 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
1890 Substitute also OMP_*LOCK_25*.
1891 * configure: Regenerated.
1892 * config.h.in: Regenerated.
1893 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
1894 ptrlock.c and task.c.
1895 * Makefile.in: Regenerated.
1896 * testsuite/Makefile.in: Regenerated.
1897 * task.c: New file.
1898 * loop_ull.c: New file.
1899 * iter_ull.c: New file.
1900 * libgomp.h: Include ptrlock.h.
1901 (enum gomp_task_kind): New type.
1902 (struct gomp_team): Add task_lock, task_queue, task_count,
1903 task_running_count, single_count fields. Add
1904 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
1905 Remove work_share_lock, generation_mask,
1906 oldest_live_gen, num_live_gen and init_work_shares fields, add
1907 work work_share_list_alloc, work_share_list_free and work_share_chunk
1908 fields. Change work_shares from pointer to pointers into an array.
1909 Change ordered_release field into gomp_sem_t ** from flexible array
1910 member. Add implicit_task and initial_work_shares fields.
1911 Move close to the end of the struct.
1912 (struct gomp_team_state): Add single_count, last_work_share,
1913 active_level and level fields, remove work_share_generation.
1914 (gomp_barrier_handle_tasks): New prototype.
1915 (gomp_finish_task): New inline function.
1916 (struct gomp_work_share): Move chunk_size, end, incr into
1917 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
1918 next_ll fields. Reshuffle fields. Add next_alloc,
1919 next_ws, next_free and inline_ordered_team_ids fields, change
1920 ordered_team_ids into pointer from flexible array member.
1921 Add mode field. Put lock and next into a different cache line
1922 from most of the write-once fields.
1923 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
1924 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
1925 gomp_iter_ull_guided_next): New prototypes.
1926 (gomp_new_icv): New prototype.
1927 (struct gomp_thread): Add thread_pool and task fields.
1928 (struct gomp_thread_pool): New type.
1929 (gomp_new_team): New prototype.
1930 (gomp_team_start): Change type of last argument.
1931 (gomp_new_work_share): Removed.
1932 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
1933 (gomp_work_share_init_done): New static inline.
1934 (gomp_throttled_spin_count_var, gomp_available_cpus,
1935 gomp_managed_threads): New extern decls.
1936 (gomp_init_task): New prototype.
1937 (gomp_spin_count_var): New extern var decl.
1938 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
1939 or no alias support, or if not PIC.
1940 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
1941 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
1942 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
1943 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
1944 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
1945 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
1946 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
1947 gomp_test_nest_lock_25): New prototypes.
1948 (omp_lock_symver, strong_alias): Define.
1949 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
1950 decls.
1951 (gomp_end_task): New.
1952 (struct gomp_task_icv, gomp_global_icv): New.
1953 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
1954 (struct gomp_task): New.
1955 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
1956 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
1957 (gomp_icv): New.
1958 (gomp_schedule_type): Reorder enum to match
1959 omp_sched_t.
1960 * team.c (struct gomp_thread_start_data): Add thread_pool and task
1961 fields.
1962 (gomp_thread_start): Add gomp_team_barrier_wait call.
1963 For non-nested case remove clearing of docked thread thr fields.
1964 Use pool fields instead of global gomp_* variables. Use
1965 gomp_barrier_wait_last when needed. Initialize ts.active_level.
1966 Create tasks for each member thread.
1967 (free_team): Only destroy team barrier, task_lock here and free it.
1968 (gomp_free_thread): Free last_team if non-NULL.
1969 (gomp_team_end): Call gomp_team_barrier_wait instead of
1970 gomp_barrier_wait. For nested case call one extra
1971 gomp_barrier_wait. Move here some destruction from free_team.
1972 Call free_team on pool->last_team if any, rather than freeing
1973 current team. Destroy work_share_list_free_lock ifndef
1974 HAVE_SYNC_BUILTINS.
1975 (gomp_new_icv): New function.
1976 (gomp_threads, gomp_threads_size, gomp_threads_used,
1977 gomp_threads_dock): Removed.
1978 (gomp_thread_destructor): New variable.
1979 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
1980 functions.
1981 (gomp_team_start): Create new pool if current thread doesn't have
1982 one. Use pool fields instead of global gomp_* variables.
1983 Initialize thread_pool field for new threads. Clear single_count.
1984 Change last argument from ws to team, don't create
1985 new team, set ts.work_share to &team->work_shares[0] and clear
1986 ts.last_work_share. Don't clear ts.work_share_generation.
1987 If number of threads changed, adjust atomically gomp_managed_threads.
1988 Use gomp_init_task instead of gomp_new_task,
1989 set thr->task to the corresponding implicit_task array entry.
1990 Create tasks for each member thread. Initialize ts.level.
1991 (initialize_team): Call pthread_key_create on
1992 gomp_thread_destructor.
1993 (team_destructor): New function.
1994 (new_team): Removed.
1995 (gomp_new_team): New function.
1996 (free_team): Free gomp_work_share blocks chained through next_alloc,
1997 instead of freeing work_shares and destroying work_share_lock.
1998 (gomp_team_end): Call gomp_fini_work_share. If number of threads
1999 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
2000 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
2001 of gomp_barrier_wait.
2002 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
2003 instead of gomp_barrier_wait. Call gomp_work_share_init_done
2004 if gomp_work_share_start returned true. Don't unlock ws->lock.
2005 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
2006 of gomp_barrier_wait.
2007 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
2008 gomp_work_share_init_done if gomp_work_share_start returned true.
2009 Don't unlock ws->lock.
2010 * work.c: Include stddef.h.
2011 (free_work_share): Use work_share_list_free_lock instead
2012 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
2013 Call gomp_fini_work_share and then either free ws if orphaned, or
2014 put it into work_share_list_free list of the current team.
2015 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
2016 functions.
2017 (gomp_work_share_start, gomp_work_share_end,
2018 gomp_work_share_end_nowait): Rewritten.
2019 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
2020 (openmp_version): Set to 200805.
2021 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
2022 omp_sched_guided, omp_sched_auto): New parameters.
2023 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2024 omp_set_max_active_levels, omp_get_max_active_levels,
2025 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2026 omp_get_active_level): New interfaces.
2027 * omp_lib.h.in (openmp_version): Set to 200805.
2028 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
2029 omp_sched_guided, omp_sched_auto): New parameters.
2030 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2031 omp_set_max_active_levels, omp_get_max_active_levels,
2032 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2033 omp_get_active_level): New externals.
2034 * loop.c: Include limits.h.
2035 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
2036 GFS_AUTO.
2037 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
2038 Likewise. Use gomp_icv.
2039 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
2040 ts.static_trip here.
2041 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
2042 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
2043 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
2044 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
2045 don't unlock ws->lock, otherwise lock it.
2046 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
2047 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
2048 (gomp_parallel_loop_start): Call gomp_new_team instead of
2049 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
2050 Adjust gomp_team_start caller. Pass 0 as second argument to
2051 gomp_resolve_num_threads.
2052 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
2053 If adding ws->chunk_size nthreads + 1 times after end won't
2054 overflow, set ws->mode to 1.
2055 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
2056 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
2057 GOMP_loop_ull_ordered_static_start,
2058 GOMP_loop_ull_ordered_dynamic_start,
2059 GOMP_loop_ull_ordered_guided_start,
2060 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
2061 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
2062 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
2063 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
2064 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
2065 prototypes.
2066 * libgomp.map: Export lock routines also @@OMP_2.0.
2067 (GOMP_loop_ordered_dynamic_first,
2068 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
2069 GOMP_loop_ordered_static_first): Remove.
2070 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
2071 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
2072 GOMP_loop_ull_ordered_dynamic_next,
2073 GOMP_loop_ull_ordered_dynamic_start,
2074 GOMP_loop_ull_ordered_guided_next,
2075 GOMP_loop_ull_ordered_guided_start,
2076 GOMP_loop_ull_ordered_runtime_next,
2077 GOMP_loop_ull_ordered_runtime_start,
2078 GOMP_loop_ull_ordered_static_next,
2079 GOMP_loop_ull_ordered_static_start,
2080 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
2081 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
2082 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
2083 (omp_set_schedule, omp_get_schedule,
2084 omp_get_thread_limit, omp_set_max_active_levels,
2085 omp_get_max_active_levels, omp_get_level,
2086 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
2087 omp_set_schedule_, omp_set_schedule_8_,
2088 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
2089 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
2090 omp_get_max_active_levels_, omp_get_level_,
2091 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
2092 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
2093 New exports @@OMP_3.0.
2094 * omp.h.in (omp_sched_t): New type.
2095 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2096 omp_set_max_active_levels, omp_get_max_active_levels,
2097 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
2098 omp_get_active_level): New prototypes.
2099 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
2100 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
2101 gomp_thread_limit_var, gomp_remaining_threads_count,
2102 gomp_remaining_threads_lock): New variables.
2103 (parse_spincount): New function.
2104 (initialize_env): Call gomp_init_num_threads unconditionally.
2105 Initialize gomp_available_cpus. Call parse_spincount,
2106 initialize gomp_{,throttled_}spin_count_var
2107 depending on presence and value of OMP_WAIT_POLICY and
2108 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
2109 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
2110 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
2111 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
2112 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
2113 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
2114 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
2115 (gomp_global_icv): New.
2116 (parse_schedule): Use it. Parse "auto".
2117 (omp_set_num_threads): Use gomp_icv.
2118 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
2119 Likewise.
2120 (omp_get_max_threads): Move from parallel.c.
2121 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
2122 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
2123 add ialias.
2124 (parse_stacksize, parse_wait_policy): New functions.
2125 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
2126 both wrappers for compatibility and new locks.
2127 (omp_set_schedule, omp_get_schedule,
2128 omp_get_thread_limit, omp_set_max_active_levels,
2129 omp_get_max_active_levels, omp_get_level,
2130 omp_get_ancestor_thread_num, omp_get_team_size,
2131 omp_get_active_level): New ialias_redirect.
2132 (omp_set_schedule_, omp_set_schedule_8_,
2133 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
2134 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
2135 omp_get_max_active_levels_, omp_get_level_,
2136 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
2137 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
2138 New functions.
2139 * parallel.c: Include limits.h.
2140 (gomp_resolve_num_threads): Add count argument. Rewritten.
2141 (GOMP_parallel_start): Call gomp_new_team and pass that as last
2142 argument to gomp_team_start. Pass 0 as second argument to
2143 gomp_resolve_num_threads.
2144 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
2145 if gomp_thread_limit_var != ULONG_MAX.
2146 (omp_in_parallel): Implement using ts.active_level.
2147 (omp_get_max_threads): Move to env.c.
2148 (omp_get_level, omp_get_ancestor_thread_num,
2149 omp_get_team_size, omp_get_active_level): New functions,
2150 add ialias.
2151 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
2152 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
2153 gomp_iter_dynamic_next instead of the _locked variant and don't take
2154 lock around it, otherwise acquire it before calling
2155 gomp_iter_dynamic_next_locked.
2156 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
2157 gomp_iter_dynamic_next instead of the _locked variant and don't take
2158 lock around it.
2159 (GOMP_parallel_sections_start): Call gomp_new_team instead of
2160 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
2161 Adjust gomp_team_start caller. Pass count as second argument to
2162 gomp_resolve_num_threads, don't adjust num_threads after the call.
2163 Use gomp_icv.
2164 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
2165 ws->chunk_size by incr.
2166 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
2167 code.
2168 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
2169 types.
2170 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
2171 (omp_check_defines): Check even the compat defines.
2172 * config/linux/ptrlock.c: New file.
2173 * config/linux/ptrlock.h: New file.
2174 * config/linux/wait.h: New file.
2175 * config/posix/ptrlock.c: New file.
2176 * config/posix/ptrlock.h: New file.
2177 * config/linux/bar.h (gomp_team_barrier_wait,
2178 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
2179 (gomp_team_barrier_set_task_pending,
2180 gomp_team_barrier_clear_task_pending,
2181 gomp_team_barrier_set_waiting_for_tasks,
2182 gomp_team_barrier_waiting_for_tasks,
2183 gomp_team_barrier_done): New inlines.
2184 (gomp_barrier_t): Rewritten.
2185 (gomp_barrier_state_t): New typedef.
2186 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
2187 gomp_barrier_wait_start): Rewritten.
2188 (gomp_barrier_wait_end): Change second argument to
2189 gomp_barrier_state_t.
2190 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
2191 inlines.
2192 * config/linux/bar.c: Include wait.h instead of libgomp.h and
2193 futex.h.
2194 (gomp_barrier_wait_end): Rewritten.
2195 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
2196 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
2197 * config/posix/bar.h (gomp_barrier_t): Add generation field.
2198 (gomp_barrier_state_t): New typedef.
2199 (gomp_team_barrier_wait,
2200 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
2201 (gomp_barrier_wait_start): Or all but low 2 bits from generation
2202 into the return value. Return gomp_barrier_state_t.
2203 (gomp_team_barrier_set_task_pending,
2204 gomp_team_barrier_clear_task_pending,
2205 gomp_team_barrier_set_waiting_for_tasks,
2206 gomp_team_barrier_waiting_for_tasks,
2207 gomp_team_barrier_done): New inlines.
2208 (gomp_barrier_wait_end): Change second argument to
2209 gomp_barrier_state_t.
2210 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
2211 inlines.
2212 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
2213 (gomp_barrier_wait_end): Change second argument to
2214 gomp_barrier_state_t.
2215 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
2216 gomp_team_barrier_wake): New functions.
2217 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
2218 futex.h.
2219 (gomp_futex_wake, gomp_futex_wait): New variables.
2220 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
2221 * config/linux/lock.c: Rewrite to make locks task owned,
2222 for backwards compatibility provide the old entrypoints
2223 if symbol versioning. Include wait.h instead of libgomp.h and
2224 futex.h.
2225 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
2226 * config/posix95/lock.c: Rewrite to make locks task owned,
2227 for backwards compatibility provide the old entrypoints
2228 if symbol versioning.
2229 * config/posix/lock.c: Rewrite to make locks task owned,
2230 for backwards compatibility provide the old entrypoints
2231 if symbol versioning.
2232 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
2233 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
2234 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
2235 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2236 (sys_futex0): Return error code.
2237 (futex_wake, futex_wait): If ENOSYS was returned, clear
2238 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2239 (cpu_relax, atomic_write_barrier): New static inlines.
2240 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2241 (futex_wake, futex_wait): If ENOSYS was returned, clear
2242 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2243 (cpu_relax, atomic_write_barrier): New static inlines.
2244 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2245 (sys_futex0): Return error code.
2246 (futex_wake, futex_wait): If ENOSYS was returned, clear
2247 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2248 (cpu_relax, atomic_write_barrier): New static inlines.
2249 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2250 (sys_futex0): Return error code.
2251 (futex_wake, futex_wait): If ENOSYS was returned, clear
2252 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2253 (cpu_relax, atomic_write_barrier): New static inlines.
2254 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2255 (sys_futex0): Return error code.
2256 (futex_wake, futex_wait): If ENOSYS was returned, clear
2257 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2258 (cpu_relax, atomic_write_barrier): New static inlines.
2259 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
2260 (sys_futex0): Return error code.
2261 (futex_wake, futex_wait): If ENOSYS was returned, clear
2262 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
2263 (cpu_relax, atomic_write_barrier): New static inlines.
2264 * config/linux/sem.c: Include wait.h instead of libgomp.h and
2265 futex.h.
2266 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
2267 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
2268 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
2269 types.
2270 (omp_nest_lock_t): Change owner into void *, add lock field.
2271 * config/posix95/omp-lock.h: Include semaphore.h.
2272 (omp_lock_25_t, omp_nest_lock_25_t): New types.
2273 (omp_lock_t): Use sem_t instead of mutex if semaphores
2274 aren't broken.
2275 (omp_nest_lock_t): Likewise. Change owner to void *.
2276 * config/posix/omp-lock.h: Include semaphore.h.
2277 (omp_lock_25_t, omp_nest_lock_25_t): New types.
2278 (omp_lock_t): Use sem_t instead of mutex if semaphores
2279 aren't broken.
2280 (omp_nest_lock_t): Likewise. Add owner field.
2281
2282 2008-06-06 Jakub Jelinek <jakub@redhat.com>
2283
2284 * testsuite/libgomp.c/collapse-1.c: New test.
2285 * testsuite/libgomp.c/collapse-2.c: New test.
2286 * testsuite/libgomp.c/collapse-3.c: New test.
2287 * testsuite/libgomp.c/icv-1.c: New test.
2288 * testsuite/libgomp.c/icv-2.c: New test.
2289 * testsuite/libgomp.c/lib-2.c: New test.
2290 * testsuite/libgomp.c/lock-1.c: New test.
2291 * testsuite/libgomp.c/lock-2.c: New test.
2292 * testsuite/libgomp.c/lock-3.c: New test.
2293 * testsuite/libgomp.c/loop-4.c: New test.
2294 * testsuite/libgomp.c/loop-5.c: New test.
2295 * testsuite/libgomp.c/loop-6.c: New test.
2296 * testsuite/libgomp.c/loop-7.c: New test.
2297 * testsuite/libgomp.c/loop-8.c: New test.
2298 * testsuite/libgomp.c/loop-9.c: New test.
2299 * testsuite/libgomp.c/nested-3.c: New test.
2300 * testsuite/libgomp.c/nestedfn-6.c: New test.
2301 * testsuite/libgomp.c/sort-1.c: New test.
2302 * testsuite/libgomp.c/task-1.c: New test.
2303 * testsuite/libgomp.c/task-2.c: New test.
2304 * testsuite/libgomp.c/task-3.c: New test.
2305 * testsuite/libgomp.c/task-4.c: New test.
2306 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
2307 to C++ testsuite default compiler options.
2308 * testsuite/libgomp.c++/collapse-1.C: New test.
2309 * testsuite/libgomp.c++/collapse-2.C: New test.
2310 * testsuite/libgomp.c++/ctor-10.C: New test.
2311 * testsuite/libgomp.c++/for-1.C: New test.
2312 * testsuite/libgomp.c++/for-2.C: New test.
2313 * testsuite/libgomp.c++/for-3.C: New test.
2314 * testsuite/libgomp.c++/for-4.C: New test.
2315 * testsuite/libgomp.c++/for-5.C: New test.
2316 * testsuite/libgomp.c++/loop-8.C: New test.
2317 * testsuite/libgomp.c++/loop-9.C: New test.
2318 * testsuite/libgomp.c++/loop-10.C: New test.
2319 * testsuite/libgomp.c++/task-1.C: New test.
2320 * testsuite/libgomp.c++/task-2.C: New test.
2321 * testsuite/libgomp.c++/task-3.C: New test.
2322 * testsuite/libgomp.c++/task-4.C: New test.
2323 * testsuite/libgomp.c++/task-5.C: New test.
2324 * testsuite/libgomp.c++/task-6.C: New test.
2325 * testsuite/libgomp.fortran/allocatable1.f90: New test.
2326 * testsuite/libgomp.fortran/allocatable2.f90: New test.
2327 * testsuite/libgomp.fortran/allocatable3.f90: New test.
2328 * testsuite/libgomp.fortran/allocatable4.f90: New test.
2329 * testsuite/libgomp.fortran/collapse1.f90: New test.
2330 * testsuite/libgomp.fortran/collapse2.f90: New test.
2331 * testsuite/libgomp.fortran/collapse3.f90: New test.
2332 * testsuite/libgomp.fortran/collapse4.f90: New test.
2333 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
2334 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
2335 * testsuite/libgomp.fortran/lib4.f90: New test.
2336 * testsuite/libgomp.fortran/lock-1.f90: New test.
2337 * testsuite/libgomp.fortran/lock-2.f90: New test.
2338 * testsuite/libgomp.fortran/nested1.f90: New test.
2339 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
2340 * testsuite/libgomp.fortran/strassen.f90: New test.
2341 * testsuite/libgomp.fortran/tabs1.f90: New test.
2342 * testsuite/libgomp.fortran/tabs2.f: New test.
2343 * testsuite/libgomp.fortran/task1.f90: New test.
2344 * testsuite/libgomp.fortran/task2.f90: New test.
2345 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
2346 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2347 * testsuite/libgomp.c/pr26943-2.c: Likewise.
2348 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2349 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2350
2351 2008-05-23 Jakub Jelinek <jakub@redhat.com>
2352
2353 PR c++/36308
2354 * testsuite/libgomp.c++/ctor-11.C: New test.
2355 * testsuite/libgomp.c++/ctor-12.C: New test.
2356
2357 2008-05-15 Janis Johnson <janis187@us.ibm.com>
2358
2359 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
2360
2361 2008-05-07 Jakub Jelinek <jakub@redhat.com>
2362
2363 PR middle-end/36106
2364 * testsuite/libgomp.c/atomic-5.c: New test.
2365 * testsuite/libgomp.c/atomic-6.c: New test.
2366 * testsuite/libgomp.c/autopar-1.c: New test.
2367
2368 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2369
2370 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
2371 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
2372 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
2373 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
2374 * configure: Regenerate.
2375 * Makefile.in, testsuite/Makefile.in: Likewise.
2376
2377 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
2378
2379 PR bootstrap/35457
2380 * aclocal.m4: Regenerate.
2381 * configure: Regenerate.
2382
2383 2008-03-18 Jakub Jelinek <jakub@redhat.com>
2384
2385 PR middle-end/35611
2386 * testsuite/libgomp.c/atomic-4.c: New test.
2387
2388 PR libgomp/35625
2389 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
2390 (gomp_iter_guided_next): Likewise.
2391 * testsuite/libgomp.c/pr35625.c: New test.
2392
2393 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2394
2395 * aclocal.m4: Regenerate.
2396 * configure: Likewise.
2397 * Makefile.in: Likewise.
2398 * testsuite/Makefile.in: Likewise.
2399
2400 2008-03-13 Jakub Jelinek <jakub@redhat.com>
2401
2402 PR middle-end/35185
2403 * testsuite/libgomp.c++/pr35185.C: New test.
2404
2405 2008-03-12 Jakub Jelinek <jakub@redhat.com>
2406
2407 PR middle-end/35549
2408 * testsuite/libgomp.c/pr35549.c: New test.
2409
2410 2008-03-06 Jakub Jelinek <jakub@redhat.com>
2411
2412 * testsuite/libgomp.c/atomic-3.c: New test.
2413
2414 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2415
2416 PR fortran/33197
2417 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
2418 .F08 file suffixes.
2419
2420 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
2421
2422 PR libgomp/33131
2423 * configure.ac: Add ACX_HEADER_STRING.
2424 * env.c: Include strings.h.
2425 * aclocal.m4: Regenerate.
2426 * config.h.in: Regenerate.
2427 * configure: Regenerate.
2428 * Makefile.in: Regenerate.
2429 * testsuite/Makefile.in: Regenerate.
2430
2431 2008-02-15 Jakub Jelinek <jakub@redhat.com>
2432
2433 PR middle-end/35196
2434 * testsuite/libgomp.c/pr35196.c: New test.
2435
2436 PR middle-end/35130
2437 * testsuite/libgomp.fortran/pr35130.f90: New test.
2438 * testsuite/libgomp.c/pr35130.c: New test.
2439
2440 2008-01-25 Jakub Jelinek <jakub@redhat.com>
2441
2442 PR middle-end/33880
2443 * testsuite/libgomp.c/pr33880.c: New test.
2444 * testsuite/libgomp.fortran/pr33880.f90: New test.
2445
2446 2008-01-24 David Edelsohn <edelsohn@gnu.org>
2447
2448 * configure: Regenerate.
2449
2450 2008-01-08 Jakub Jelinek <jakub@redhat.com>
2451
2452 * configure.ac: Move futex checking into ../config/futex.m4.
2453 * configure: Rebuilt.
2454 * aclocal.m4: Rebuilt.
2455 * Makefile.in: Rebuilt.
2456
2457 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
2458 2007-10-15 ../config/tls.m4 change.
2459
2460 2007-12-19 Jakub Jelinek <jakub@redhat.com>
2461
2462 PR c++/34513
2463 * testsuite/libgomp.c/pr34513.c: New test.
2464 * testsuite/libgomp.c++/pr34513.C: New test.
2465
2466 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
2467
2468 PR target/32765
2469 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
2470
2471 2007-12-04 Jakub Jelinek <jakub@redhat.com>
2472
2473 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
2474
2475 2007-12-03 Jakub Jelinek <jakub@redhat.com>
2476
2477 * testsuite/libgomp.c/private-1.c: New test.
2478
2479 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
2480 Paolo Bonzini <bonzini@gnu.org>
2481
2482 * Makefile.am: Use space as vpath separator. Use 'vpath %'
2483 instead of 'VPATH ='.
2484 * Makefile.in: Regenerate.
2485
2486 2007-11-23 Matthias Klose <doko@ubuntu.com>
2487
2488 * configure.ac: Adjust makeinfo version check.
2489 * configure: Regenerate.
2490
2491 2007-11-10 Jakub Jelinek <jakub@redhat.com>
2492
2493 PR fortran/34020
2494 * testsuite/libgomp.fortran/pr34020.f90: New test.
2495
2496 2007-11-06 Jakub Jelinek <jakub@redhat.com>
2497
2498 PR c++/33894
2499 * testsuite/libgomp.c++/atomic-1.C: New test.
2500
2501 2007-10-25 Jakub Jelinek <jakub@redhat.com>
2502
2503 PR libgomp/33275
2504 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
2505 Make x and y integers rather than (implicit) reals. Add private (j)
2506 clause to the last omp parallel.
2507
2508 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
2509
2510 * configure: Regenerate following changes to ../config/tls.m4.
2511
2512 2007-09-28 Jakub Jelinek <jakub@redhat.com>
2513
2514 * testsuite/libgomp.fortran/stack.f90: New test.
2515
2516 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
2517
2518 * config/mingw32/proc.c: New file.
2519
2520 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
2521
2522 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
2523 (main): Use __get_cpuid to get i386 target fetaures.
2524 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
2525 (main): Use __get_cpuid to get x86_64 target fetaures.
2526
2527 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
2528
2529 PR target/32765
2530 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
2531 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
2532
2533 2007-07-12 Jakub Jelinek <jakub@redhat.com>
2534
2535 PR fortran/32550
2536 * testsuite/libgomp.fortran/pr32550.f90: New test.
2537 * testsuite/libgomp.fortran/crayptr2.f90: New test.
2538
2539 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2540
2541 * aclocal.m4: Regenerated.
2542
2543 2007-07-05 Tobias Burnus <burnus@net-b.de>
2544
2545 PR fortran/32359
2546 * testsuite/libgomp.fortran/pr32359.f90: New.
2547
2548 2007-07-02 Jakub Jelinek <jakub@redhat.com>
2549
2550 PR libgomp/32468
2551 * sections.c (GOMP_parallel_sections_start): Only decrease
2552 number of threads to COUNT if dyn_var is true.
2553 * testsuite/libgomp.c/pr32468.c: New test.
2554
2555 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2556
2557 PR libgomp/26308
2558 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
2559
2560 2007-06-21 Jakub Jelinek <jakub@redhat.com>
2561
2562 PR middle-end/32362
2563 * testsuite/libgomp.c/pr32362-1.c: New test.
2564 * testsuite/libgomp.c/pr32362-2.c: New test.
2565 * testsuite/libgomp.c/pr32362-3.c: New test.
2566
2567 2007-06-07 Jakub Jelinek <jakub@redhat.com>
2568
2569 * team.c (gomp_team_start): Fix setting up thread_attr
2570 stack size.
2571
2572 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
2573
2574 * configure: Regenerate.
2575
2576 2007-05-23 Steve Ellcey <sje@cup.hp.com>
2577
2578 * Makefile.in: Regenerate.
2579 * configure: Regenerate.
2580 * aclocal.m4: Regenerate.
2581 * testsuite/Makefile.in: Regenerate.
2582
2583 2007-05-04 Jakub Jelinek <jakub@redhat.com>
2584
2585 * config/linux/proc.c: New file.
2586
2587 PR libgomp/28482
2588 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
2589
2590 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
2591
2592 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
2593
2594 2007-04-16 Matthias Klose <doko@debian.org>
2595
2596 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
2597 flags if not building with -m64.
2598 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
2599 flag for i?86-*-* targets, if current target matches -m64.
2600
2601 2007-04-14 Steve Ellcey <sje@cup.hp.com>
2602
2603 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
2604 * Makefile.in: Regenerate.
2605
2606 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2607
2608 PR testsuite/31369
2609 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
2610 ld_library_path.
2611 * testsuite/libgomp.fortran/fortran.exp: Likewise.
2612
2613 2007-04-04 Jakub Jelinek <jakub@redhat.com>
2614
2615 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
2616 decls.
2617 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
2618 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
2619 (parse_affinity): New function.
2620 (initialize_env): Call it and gomp_init_affinity.
2621 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
2622 create new pthread_attr_t and call gomp_init_thread_affinity
2623 on it for each thread before passing the attribute to pthread_create.
2624 * config/linux/affinity.c: New file.
2625 * config/posix/affinity.c: New file.
2626 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
2627 * configure: Rebuilt.
2628 * config.h.in: Rebuilt.
2629 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
2630 * Makefile.in: Rebuilt.
2631
2632 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
2633
2634 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
2635 *-*-darwin*.
2636 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
2637 and use it if found.
2638
2639 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
2640
2641 * testsuite/config/default.exp: New file.
2642 * testsuite/lib/libgomp.exp: New file.
2643 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
2644 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
2645 load_lib *, load_gcc_lib *): Move to libgomp.exp.
2646 (libgomp_load): Remove.
2647 * testsuite/lib/libgomp.exp (libgomp_init): Compute
2648 always_ld_library_path, not ld_library_path. Set additional_flags
2649 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
2650 (target_compile): Do not call libgomp_init. Append lang_library_path
2651 and lang_link_flags to options.
2652 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
2653 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
2654 here.
2655 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
2656 always_ld_library_path. Set LD_LIBRARY_PATH here.
2657 * testsuite/libgomp.fortran/fortran.exp: Ditto.
2658 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
2659 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
2660 CX8 flag.
2661 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
2662 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
2663 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
2664 * testsuite/libgomp.c/pr29947-1.c: Ditto.
2665 * testsuite/libgomp.c/atomic-10.c: Ditto.
2666
2667 2007-03-21 Jakub Jelinek <jakub@redhat.com>
2668
2669 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
2670 dg-final cleanup-modules line.
2671 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
2672 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
2673 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
2674 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
2675 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
2676 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
2677 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
2678
2679 2007-03-18 Andreas Schwab <schwab@suse.de>
2680
2681 * acinclude.m4: Adjust regular expression for ld version
2682 extraction.
2683 * configure: Regenerate.
2684
2685 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2686
2687 * Makefile.am: Add install-pdf target as copied from
2688 automake v1.10 rules.
2689 * Makefile.in: Regenerate
2690
2691 2007-02-07 Jakub Jelinek <jakub@redhat.com>
2692
2693 PR libgomp/28486
2694 * configure: Regenerate.
2695
2696 PR c++/30703
2697 * testsuite/libgomp.c++/pr30703.C: New test.
2698
2699 2007-02-02 Jakub Jelinek <jakub@redhat.com>
2700
2701 Revert:
2702 2006-07-05 Eric Christopher <echristo@apple.com>
2703 * configure.ac: Depend addition of -pthread on host OS.
2704 * configure: Regenerate.
2705
2706 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2707
2708 * libgomp.texi: Fix spacing after abbreviations.
2709
2710 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
2711
2712 PR libgomp/30546
2713 * configure.ac: Add check for makeinfo
2714 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
2715 if an appropiate version of makeinfo is found.
2716 * aclocal.m4: Regenerated.
2717 * configure: Regenerated.
2718 * Makefile.in: Regenerated.
2719 * testsuite/Makefile.in: Regenerated.
2720
2721 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
2722
2723 PR libgomp/30540
2724 * libgomp.texi: More about implementation-dependent settings.
2725
2726 2007-01-26 Tobias Burnus <burnus@net-b.de>
2727
2728 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
2729
2730 2007-01-24 Jakub Jelinek <jakub@redhat.com>
2731
2732 PR middle-end/30494
2733 * testsuite/libgomp.c/pr30494.c: New test.
2734
2735 2007-01-15 Tom Tromey <tromey@redhat.com>
2736
2737 * configure: Rebuilt.
2738 * configure.ac: Fixed comment.
2739
2740 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
2741
2742 * libgomp.texi: Document implementation specific default values of
2743 environment variables.
2744
2745 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
2746
2747 PR libgomp/28209
2748 * libgomp.texi: New file.
2749 * configure.ac: Add --enable-generated-files-in-srcdir option.
2750 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
2751 files to srcdir.
2752 * Makefile.in: Regenerated.
2753 * config.h.in: Regenerated.
2754 * testsuite/Makefile.in: Regenerated.
2755 * NOTES: Removed.
2756
2757 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
2758
2759 PR libgomp/29949
2760 * env.c (omp_set_num_threads): Set illegal thread count to 1.
2761
2762 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
2763
2764 * configure: Regenerate.
2765
2766 2006-12-04 Jakub Jelinek <jakub@redhat.com>
2767
2768 PR libgomp/29947
2769 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
2770 start if there shouldn't be any loop iterations.
2771 (gomp_loop_ordered_static_start): Remove start == end test.
2772 * testsuite/libgomp.c/pr29947-1.c: New test.
2773 * testsuite/libgomp.c/pr29947-2.c: New test.
2774
2775 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2776
2777 * configure.tgt: Force initial-exec TLS model on Linux only.
2778
2779 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
2780
2781 * configure: Regenerated.
2782
2783 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
2784
2785 * env.c (parse_schedule): Reject out of range values.
2786 (parse_unsigned_long): Reject out of range, negative or zero values.
2787
2788 2006-10-29 Jakub Jelinek <jakub@redhat.com>
2789
2790 PR fortran/29629
2791 * testsuite/libgomp.fortran/pr29629.f90: New test.
2792
2793 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
2794
2795 PR libgomp/29494
2796 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
2797 * config/posix95: New directory.
2798 * config/posix95/omp-lock.h: New file.
2799 * config/posix95/lock.c: Likewise.
2800
2801 2006-10-14 Geoffrey Keating <geoffk@apple.com>
2802
2803 * aclocal.m4: Regenerate.
2804 * configure: Regenerate.
2805
2806 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
2807
2808 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
2809 '<' to '<='.
2810
2811 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
2812
2813 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
2814 test.
2815 * configure: Regenerate.
2816 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
2817
2818 2006-09-26 Jakub Jelinek <jakub@redhat.com>
2819
2820 PR middle-end/25261
2821 PR middle-end/28790
2822 * testsuite/libgomp.c/nestedfn-4.c: New test.
2823 * testsuite/libgomp.c/nestedfn-5.c: New test.
2824 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
2825
2826 PR fortran/29097
2827 * testsuite/libgomp.fortran/condinc1.f: New test.
2828 * testsuite/libgomp.fortran/condinc2.f: New test.
2829 * testsuite/libgomp.fortran/condinc3.f90: New test.
2830 * testsuite/libgomp.fortran/condinc4.f90: New test.
2831 * testsuite/libgomp.fortran/condinc1.inc: New file.
2832
2833 2006-09-18 Tom Tromey <tromey@redhat.com>
2834
2835 * configure: Rebuilt.
2836
2837 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
2838
2839 PR c/28768
2840 PR preprocessor/14634
2841 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
2842 to AC_DEFINE.
2843 * configure: Regenerate.
2844
2845 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
2846
2847 * testsuite/libgomp.fortran/reduction3.f90: Change
2848 -2147483648 to -huge(i)-1 to avoid overflow.
2849 * testsuite/libgomp.fortran/reduction4.f90: Change
2850 Z'ffffffff' to not(0) to avoid overflow.
2851
2852 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
2853
2854 PR libgomp/25938
2855 * Makefile.am (libsubincludedir): New.
2856 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
2857 * Makefile.in: Regenerate.
2858
2859 2006-08-17 Jakub Jelinek <jakub@redhat.com>
2860
2861 PR libgomp/28725
2862 * env.c: Include ctype.h.
2863 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
2864 leading and/or trailing whitespace and compare strings case
2865 insensitively.
2866
2867 2006-07-16 Jakub Jelinek <jakub@redhat.com>
2868
2869 PR fortran/28390
2870 * testsuite/libgomp.fortran/pr28390.f: New test.
2871
2872 2006-07-05 Eric Christopher <echristo@apple.com>
2873
2874 * configure.ac: Depend addition of -pthread on host OS.
2875 * configure: Regenerate.
2876
2877 2006-06-21 Jakub Jelinek <jakub@redhat.com>
2878
2879 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
2880 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
2881 defined.
2882
2883 2006-06-20 Jakub Jelinek <jakub@redhat.com>
2884
2885 PR libgomp/26175
2886 PR libgomp/26477
2887 * configure.ac: If neither --enable-linux-futex nor
2888 --disable-linux-futex is passed, determine the default by checking
2889 for compiling and/or running against NPTL. With --enable-linux-futex,
2890 check if SYS_gettid and SYS_futex are defined.
2891 * configure: Rebuilt.
2892
2893 2006-06-14 Richard Henderson <rth@redhat.com>
2894
2895 PR libgomp/28008
2896 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
2897 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
2898
2899 2006-06-09 Richard Henderson <rth@redhat.com>
2900
2901 * env.c (gomp_nthreads_var): Change to unsigned long.
2902 (gomp_run_sched_chunk): Likewise.
2903 (parse_unsigned_long): Rename from parse_num_threads and generalize.
2904 (initialize_env): Initialize gomp_thread_attr.
2905 * libgomp.h (gomp_nthreads_var): Update decl.
2906 (gomp_run_sched_chunk): Likewise.
2907 (gomp_thread_attr): Declare.
2908 * team.c (gomp_thread_attr): Export.
2909 (initialize_team): Don't initialize it.
2910
2911 2006-06-09 Jakub Jelinek <jakub@redhat.com>
2912
2913 PR fortran/27916
2914 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
2915 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
2916
2917 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
2918
2919 * config/mingw32/time.c: New file.
2920 * configure.tgt: Use it.
2921
2922 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2923
2924 * Makefile.am: Add install-html target. Add install-html to .PHONY
2925 * Makefile.in: Regenerate.
2926
2927 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2928
2929 PR libgomp/27612
2930 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
2931 * testsuite/libgomp.c/critical-1.c: Likewise.
2932 * testsuite/libgomp.c/loop-1.c: Likewise.
2933 * testsuite/libgomp.c/loop-2.c: Likewise.
2934 * testsuite/libgomp.c/single-1.c: Likewise.
2935 * testsuite/libgomp.c/ordered-1.c: Likewise.
2936 * testsuite/libgomp.c/ordered-2.c: Likewise.
2937
2938 2006-05-15 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR middle-end/27416
2941 * libgomp.fortran/pr27416-1.f90: New test.
2942
2943 2006-05-03 Jakub Jelinek <jakub@redhat.com>
2944
2945 PR fortran/27395
2946 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
2947 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
2948
2949 2006-05-02 Jakub Jelinek <jakub@redhat.com>
2950
2951 PR c++/26943
2952 * testsuite/libgomp.c/pr26943-1.c: New test.
2953 * testsuite/libgomp.c/pr26943-2.c: New test.
2954 * testsuite/libgomp.c/pr26943-3.c: New test.
2955 * testsuite/libgomp.c/pr26943-4.c: New test.
2956 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
2957 * testsuite/libgomp.c++/pr26943.C: New test.
2958
2959 2006-05-02 Jakub Jelinek <jakub@redhat.com>
2960
2961 PR middle-end/27337
2962 * testsuite/libgomp.c++/pr27337.C: New test.
2963
2964 2006-04-26 Jakub Jelinek <jakub@redhat.com>
2965
2966 PR c/26171
2967 * testsuite/libgomp.c/pr26171.c: New test.
2968
2969 2006-04-25 Richard Henderson <rth@redhat.com>
2970
2971 PR libgomp/25865
2972 * configure.ac: Use GCC_CHECK_TLS.
2973 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
2974 * Makefile.in, aclocal.m4, configure: Regenerate.
2975
2976 2006-04-10 Matthias Klose <doko@debian.org>
2977
2978 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
2979 directory names containing underscores.
2980
2981 2006-03-21 Jakub Jelinek <jakub@redhat.com>
2982
2983 PR c++/26691
2984 * testsuite/libgomp.c++/pr26691.C: New test.
2985
2986 2006-03-13 Jakub Jelinek <jakub@redhat.com>
2987
2988 * testsuite/libgomp.fortran/retval2.f90: New test.
2989
2990 2006-03-09 Diego Novillo <dnovillo@redhat.com>
2991
2992 * testsuite/libgomp.c++: New directory.
2993
2994 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
2995
2996 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
2997 * config/posix/sem.c: Implement the above.
2998
2999 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
3000
3001 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
3002 define HAVE_BROKEN_POSIX_SEMAPHORES.
3003 * configure: Rebuilt.
3004 * config.h.in: Rebuilt.
3005
3006 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
3007
3008 PR bootstrap/26161
3009 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
3010 for the other pthread check.
3011 * configure: Regenerate.
3012 * config.h.in: Regenerate.
3013
3014 2006-02-15 Jakub Jelinek <jakub@redhat.com>
3015
3016 PR libgomp/25938
3017 PR libgomp/25984
3018 * Makefile.am (fincludedir): New variable.
3019 (nodist_include_HEADERS): Remove Fortran files.
3020 (nodist_finclude_HEADERS): New variable.
3021 * Makefile.in: Regenerated.
3022
3023 2006-02-13 Jakub Jelinek <jakub@redhat.com>
3024
3025 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
3026 Remove tests for returning assumed character length arrays.
3027
3028 2006-02-12 Roger Sayle <roger@eyesopen.com>
3029 John David Anglin <dave@hiauly1.hia.nrc.ca>
3030
3031 PR libgomp/25936
3032 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
3033
3034 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
3035
3036 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
3037
3038 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3039
3040 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
3041 part of LD_LIBRARY_PATH manually.
3042
3043 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
3044
3045 PR libgomp/25852
3046 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
3047 libgomp_init.
3048
3049 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
3050
3051 PR libgomp/25884
3052 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
3053 * configure.ac (PERL): Don't set.
3054 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
3055 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
3056 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
3057 * omp.h.in: Wrap the new configure substitutions with @ characters.
3058 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
3059 * aclocal.m4, configure, Makefile.in: Regenerate.
3060 * mkomp_h.pl: Delete.
3061
3062 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
3063
3064 PR libgomp/25259
3065 * configure.ac: Use GCC_HEADER_STDINT.
3066 * libgomp.h: Include gstdint.h.
3067 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
3068 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
3069
3070 2006-01-24 Richard Henderson <rth@redhat.com>
3071
3072 PR libgomp/25942
3073 * configure.ac: Add AM_MAINTAINER_MODE.
3074 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
3075
3076 2006-01-24 Diego Novillo <dnovillo@redhat.com>
3077
3078 * Makefile.in: Regenerate.
3079 * testsuite/Makefile.in: Regenerate.
3080 * aclocal.m4: Regenerate.
3081
3082 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
3083
3084 * config/posix/proc.c: Conditional include of sys/loadavg.h for
3085 Solaris.
3086 * configure.ac: Add check for loadavg.h.
3087 (link_gomp): Adjust comment.
3088 * configure: Regenerate.
3089 * config.h.in: Regenerate.
3090
3091 2006-01-21 Steve Ellcey <sje@cup.hp.com>
3092
3093 PR libgomp/25877
3094 * configure.ac: Remove check for alloca.h.
3095 * configure: Regenerate.
3096 * config.h.in: Regenerate.
3097 * libgomp.h: define gomp_alloca to be __builtin_alloca.
3098 * team.c: Remove use of alloca.h.
3099 Call gomp_alloca instead of alloca.
3100
3101 2006-01-20 Steve Ellcey <sje@cup.hp.com>
3102
3103 PR libgomp/25877
3104 * team.c: Add include of alloca.h.
3105 * configure.ac: Add check for alloca.h.
3106 * configure: Regenerate.
3107 * config.h.in: Regenerate.
3108
3109 2006-01-17 Jakub Jelinek <jakub@redhat.com>
3110
3111 PR fortran/25219
3112 * testsuite/libgomp.fortran/pr25219.f90: New test.
3113
3114 2005-12-05 Uros Bizjak <uros@kss-loka.si>
3115
3116 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
3117 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
3118 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
3119 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
3120 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
3121 testsuite/libgomp.fortran/threadprivate1.f90,
3122 testsuite/libgomp.fortran/threadprivate2.f90,
3123 testsuite/libgomp.fortran/threadprivate3.f90,
3124 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
3125 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
3126 testsuite/libgomp.fortran/omp_parse3.f90: Change required
3127 effective-target to TLS runtime.
3128
3129 * testsuite/libgomp.fortran/pr25162.f: Require
3130 effective-target TLS runtime.
3131
3132 2005-12-01 Jakub Jelinek <jakub@redhat.com>
3133
3134 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
3135 * testsuite/libgomp.c/nestedfn-3.c: New test.
3136
3137 2005-11-30 Jakub Jelinek <jakub@redhat.com>
3138
3139 PR fortran/25162
3140 * testsuite/libgomp.fortran/pr25162.f: New test.
3141
3142 2005-11-28 Jakub Jelinek <jakub@redhat.com>
3143
3144 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
3145 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
3146
3147 2005-11-25 Jakub Jelinek <jakub@redhat.com>
3148
3149 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
3150 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
3151 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
3152 single.c, team.c, work.c, config/linux/alpha/futex.h,
3153 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
3154 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
3155 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
3156 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
3157 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
3158 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
3159 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
3160 FSF address.
3161
3162 2005-11-18 Jakub Jelinek <jakub@redhat.com>
3163
3164 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
3165 to nodist_noinst_HEADERS.
3166 * Makefile.in: Rebuilt.
3167
3168 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
3169 add integer count field.
3170 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
3171 omp_nest_lock_t type change.
3172 (omp_init_nest_lock): Likewise. Initialize count to 0.
3173 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
3174 Increment count.
3175 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
3176 Decrement count.
3177 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
3178 Increment count if successful and return the new nesting level.
3179 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
3180 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
3181 * testsuite/libgomp.c/lib-1.c: New test.
3182 * testsuite/libgomp.fortran/lib1.f90: New test.
3183 * testsuite/libgomp.fortran/lib2.f: New test.
3184 * testsuite/libgomp.fortran/lib3.f: New test.
3185
3186 2005-11-17 Richard Henderson <rth@redhat.com>
3187
3188 PR 24845
3189 * Makefile.am (nodist_toolexeclib_HEADERS): New.
3190 * configure.ac (link_gomp): New. Substitute it.
3191 (AC_CONFIG_FILES): Add libgomp.spec.
3192 * libgomp.spec.in: New file.
3193 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
3194 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
3195
3196 2005-11-18 Jakub Jelinek <jakub@redhat.com>
3197
3198 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
3199 reduction(-:var) behaving the same as reduction(+:var).
3200 * testsuite/libgomp.c/reduction-4.c: New test.
3201
3202 2005-11-15 Uros Bizjak <uros@kss-loka.si>
3203
3204 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
3205 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
3206 testsuite/libgomp.c/copyin-3.c,
3207 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
3208 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
3209 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
3210 testsuite/libgomp.c++/pr24455.C,
3211 testsuite/libgomp.fortran/threadprivate1.f90,
3212 testsuite/libgomp.fortran/threadprivate2.f90,
3213 testsuite/libgomp.fortran/threadprivate3.f90,
3214 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
3215 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
3216 testsuite/libgomp.fortran/omp_parse3.f90: Require
3217 effective-target TLS.
3218
3219 2005-11-14 Diego Novillo <dnovillo@redhat.com>
3220
3221 * HEADER: Remove.
3222
3223 2005-11-13 Jakub Jelinek <jakub@redhat.com>
3224
3225 PR libgomp/24797
3226 * team.c (initialize_team): Pass NULL rather than free as
3227 pthread_key_create destructor. Initialize thread specific data
3228 pointer in initial thread to a static local variable rather than
3229 malloced memory.
3230
3231 2005-11-11 Uros Bizjak <uros@kss-loka.si>
3232
3233 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
3234 its location to ld_library_path.
3235
3236 2005-11-10 Diego Novillo <dnovillo@redhat.com>
3237
3238 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
3239
3240 2005-11-10 Diego Novillo <dnovillo@redhat.com>
3241
3242 * testsuite/libgomp.c: Rename from libgomp.dg.
3243
3244 2005-11-09 Diego Novillo <dnovillo@redhat.com>
3245
3246 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
3247 threadprivate variable 'i'.
3248
3249 2005-11-09 Jakub Jelinek <jakub@redhat.com>
3250
3251 * config/linux/s390/futex.h: New file.
3252 * configure.tgt: Use it.
3253
3254 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
3255 before the parallel.
3256
3257 2005-11-08 Jakub Jelinek <jakub@redhat.com>
3258
3259 PR c++/24734
3260 * testsuite/libgomp.c++/master-1.C: New test.
3261
3262 2005-11-07 Jakub Jelinek <jakub@redhat.com>
3263
3264 * testsuite/libgomp.dg/copyin-3.c: New test.
3265
3266 2005-11-07 Jakub Jelinek <jakub@redhat.com>
3267
3268 * testsuite/libgomp.fortran/retval1.f90: New test.
3269 * testsuite/libgomp.fortran/vla7.f90: New test.
3270
3271 2005-11-06 Jakub Jelinek <jakub@redhat.com>
3272
3273 * testsuite/libgomp.fortran/vla2.f90: New test.
3274 * testsuite/libgomp.fortran/vla3.f90: New test.
3275 * testsuite/libgomp.fortran/vla4.f90: New test.
3276 * testsuite/libgomp.fortran/vla5.f90: New test.
3277 * testsuite/libgomp.fortran/vla6.f90: New test.
3278
3279 2005-11-01 Jakub Jelinek <jakub@redhat.com>
3280
3281 * config/linux/sparc/futex.h: New file.
3282 * configure.tgt: Use it.
3283 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
3284
3285 * critical.c: Include stdlib.h.
3286 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
3287 ignoring return value.
3288 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
3289 LIBGOMP_CHECK_SYNC_BUILTINS check.
3290 * configure: Rebuilt.
3291
3292 2005-10-31 Jakub Jelinek <jakub@redhat.com>
3293
3294 * testsuite/libgomp.fortran/vla1.f90: New test.
3295
3296 2005-10-31 Richard Henderson <rth@redhat.com>
3297
3298 * testsuite/libgomp.fortran/character2.f90: Fix race condition
3299 setting 's' in different threads.
3300
3301 2005-10-31 Jakub Jelinek <jakub@redhat.com>
3302
3303 * libgomp.h (attribute_hidden, ialias): Define.
3304 * config/posix/proc.c (omp_get_num_procs): Add ialias.
3305 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
3306 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
3307 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
3308 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
3309 omp_test_lock, omp_test_nest_lock): Likewise.
3310 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
3311 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
3312 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
3313 omp_test_lock, omp_test_nest_lock): Likewise.
3314 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
3315 omp_get_dynamic, omp_get_nested): Likewise.
3316 * parallel.c (omp_get_num_threads, omp_get_max_threads,
3317 omp_get_thread_num, omp_in_parallel): Likewise.
3318 * fortran.c (ialias_redirect): Define.
3319 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
3320 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
3321 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
3322 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
3323 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
3324 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
3325 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
3326 omp_get_wtime): Add ialias_redirect.
3327
3328 2005-10-30 Jakub Jelinek <jakub@redhat.com>
3329
3330 * fortran.c: Include stdlib.h.
3331
3332 2005-10-29 Jakub Jelinek <jakub@redhat.com>
3333
3334 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
3335 * Makefile.in: Regenerated.
3336
3337 2005-10-28 Jakub Jelinek <jakub@redhat.com>
3338
3339 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
3340 * libgomp_f.h.in (omp_check_defines): New function.
3341 * env.c: Include libgomp_f.h.
3342 (initialize_env): Call omp_check_defines.
3343
3344 * testsuite/libgomp.dg/copyin-2.c: New test.
3345 * testsuite/libgomp.c++/copyin-2.C: New test.
3346 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
3347
3348 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
3349 * testsuite/libgomp.fortran/sharing2.f90: New test.
3350
3351 * testsuite/libgomp.dg/copyin-1.c: New test.
3352 * testsuite/libgomp.c++/copyin-1.C: New test.
3353
3354 2005-10-26 Jakub Jelinek <jakub@redhat.com>
3355
3356 * testsuite/libgomp.fortran/crayptr1.f90: New test.
3357
3358 * testsuite/libgomp.fortran/workshare1.f90: New test.
3359
3360 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
3361 only test.
3362 * libgomp.fortran/sharing1.f90: New test.
3363
3364 2005-10-24 Jakub Jelinek <jakub@redhat.com>
3365
3366 PR c++/24502
3367 * testsuite/libgomp.c++/loop-7.C: New test.
3368
3369 * testsuite/libgomp.dg/nestedfn-2.c: New test.
3370
3371 * testsuite/libgomp.dg/nestedfn-1.c: New test.
3372 * testsuite/libgomp.fortran/reduction6.f90: New test.
3373 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
3374
3375 2005-10-23 Richard Henderson <rth@redhat.com>
3376
3377 * testsuite/libgomp.c++/ctor-1.C: New.
3378 * testsuite/libgomp.c++/ctor-2.C: New.
3379 * testsuite/libgomp.c++/ctor-3.C: New.
3380 * testsuite/libgomp.c++/ctor-4.C: New.
3381 * testsuite/libgomp.c++/ctor-5.C: New.
3382 * testsuite/libgomp.c++/ctor-6.C: New.
3383 * testsuite/libgomp.c++/ctor-7.C: New.
3384 * testsuite/libgomp.c++/ctor-8.C: New.
3385 * testsuite/libgomp.c++/ctor-9.C: New.
3386
3387 2005-10-21 Diego Novillo <dnovillo@redhat.com>
3388
3389 PR 24455
3390 * testsuite/libgomp.c++/pr24455-1.C: New test.
3391 * testsuite/libgomp.c++/pr24455.C: New test.
3392 * testsuite/libgomp.dg/pr24455-1.c: New test.
3393 * testsuite/libgomp.dg/pr24455.c: New test.
3394
3395 2005-10-20 Richard Henderson <rth@redhat.com>
3396
3397 * testsuite/libgomp.c++/loop-6.C: New.
3398 * testsuite/libgomp.dg/loop-3.c: New.
3399
3400 2005-10-20 Jakub Jelinek <jakub@redhat.com>
3401
3402 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
3403 explicitly private.
3404 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
3405 explicitly shared.
3406
3407 2005-10-19 Diego Novillo <dnovillo@redhat.com>
3408
3409 * testsuite/libgomp.fortran/jacobi.f: New test.
3410
3411 2005-10-19 Richard Henderson <rth@redhat.com>
3412
3413 * configure.tgt (i?86-linux): Default to with_arch instead of
3414 CFLAGS. Add -mtune to match target_cpu.
3415 (x86_64-linux): Tune to i686.
3416
3417 * fortran.c (omp_test_nest_lock_): Fix typo.
3418
3419 2005-10-19 Jakub Jelinek <jakub@redhat.com>
3420
3421 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
3422 gomp_ordered_sync): Do nothing if team->nthreads == 1.
3423 * testsuite/libgomp.dg/ordered-3.c: New test.
3424
3425 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
3426 Remove volatile keyword.
3427
3428 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
3429 in COMMON block to avoid warnings on 64-bit targets.
3430
3431 2005-10-18 Diego Novillo <dnovillo@redhat.com>
3432
3433 * testsuite/libgomp.dg/shared-3.c: New test.
3434
3435 2005-10-18 Jakub Jelinek <jakub@redhat.com>
3436
3437 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
3438 * testsuite/libgomp.fortran/reduction5.f90: New test.
3439
3440 2005-10-18 Jakub Jelinek <jakub@redhat.com>
3441
3442 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
3443 dg-options.
3444 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
3445 flush loop now that __sync_synchronize has proper memory barrier.
3446 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
3447 Add -ffixed-form to dg-options.
3448
3449 2005-10-17 Diego Novillo <dnovillo@redhat.com>
3450
3451 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
3452 from subdirectories.
3453 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
3454 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
3455 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
3456 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
3457 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
3458 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
3459 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
3460 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
3461 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
3462 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
3463 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
3464 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
3465 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
3466 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
3467 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
3468 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
3469 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
3470 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
3471 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
3472 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
3473 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
3474 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
3475 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
3476 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
3477 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
3478
3479 2005-10-17 Jakub Jelinek <jakub@redhat.com>
3480
3481 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
3482 lang_library_path exists. Use find instead of glob to gather tests.
3483 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
3484
3485 2005-10-17 Diego Novillo <dnovillo@redhat.com>
3486
3487 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
3488 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
3489 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
3490 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
3491 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
3492 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
3493 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
3494 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
3495 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
3496 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
3497 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
3498 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
3499 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
3500
3501 2005-10-15 Jakub Jelinek <jakub@redhat.com>
3502
3503 * testsuite/libgomp.dg/vla-1.c: New test.
3504
3505 * testsuite/libgomp.fortran/reference2.f90: New test.
3506
3507 * testsuite/libgomp.fortran/character2.f90: Remove explicit
3508 declaration of omp_get_thread_num.
3509 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
3510 use omp_lib.
3511
3512 * testsuite/libgomp.fortran/reduction1.f90: New test.
3513 * testsuite/libgomp.fortran/reduction2.f90: New test.
3514 * testsuite/libgomp.fortran/reduction3.f90: New test.
3515 * testsuite/libgomp.fortran/reduction4.f90: New test.
3516
3517 2005-10-13 Richard Henderson <rth@redhat.com>
3518
3519 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
3520 * Makefile.in: Regenerate.
3521 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
3522 * libgomp.h: Include bar.h.
3523 (struct gomp_barrier): Remove.
3524 (struct gomp_team): Add barrier. Replace master_barrier with
3525 master_release. Replace threads with ordered_release.
3526 (struct gomp_thread): Replace barrier with release.
3527 * ordered.c (gomp_ordered_first): Update for ordered_release change.
3528 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
3529 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
3530 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
3531 (GOMP_single_copy_end): Likewise.
3532 * team.c (gomp_threads_dock): New.
3533 (gomp_barrier_init, gomp_barrier_destroy): Remove.
3534 (gomp_thread_start): Use gomp_barrier_wait.
3535 (new_team, free_team): Update for gomp_team changes.
3536 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
3537 (gomp_team_end): Use gomp_barrier_wait.
3538 (initialize_team): Update for gomp_thread changes.
3539 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
3540 (gomp_work_share_end_nowait): Use atomic ops when available.
3541 * config/linux/bar.c, config/linux/bar.h: New files.
3542 * config/posix/bar.c, config/posix/bar.h: New files.
3543
3544 2005-10-13 Jakub Jelinek <jakub@redhat.com>
3545
3546 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
3547 * testsuite/libgomp.dg/single-2.c: New test.
3548
3549 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
3550 lang_link_flags): Unset, so that they aren't inherited from previously
3551 sourced *.exp.
3552
3553 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
3554
3555 2005-10-12 Richard Henderson <rth@redhat.com>
3556
3557 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
3558 (libgomp_init): Use lang_test_file, lang_library_path, and
3559 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
3560
3561 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
3562 (lang_test_file, lang_link_flags): New.
3563 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
3564
3565 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
3566 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
3567 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
3568 testsuite/libgomp.c++/parallel-1.C,
3569 testsuite/libgomp.c++/reduction-1.C,
3570 testsuite/libgomp.c++/reduction-2.C,
3571 testsuite/libgomp.c++/reduction-3.C,
3572 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
3573 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
3574 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
3575 New files, largely cribbed from the C testsuite.
3576
3577 2005-10-12 Jakub Jelinek <jakub@redhat.com>
3578
3579 * testsuite/libgomp.fortran/character1.f90: New test.
3580 * testsuite/libgomp.fortran/character2.f90: New test.
3581
3582 * testsuite/libgomp.dg/nested-1.c: New test.
3583 * testsuite/libgomp.dg/nested-2.c: New test.
3584 * testsuite/libgomp.fortran/do1.f90: New test.
3585 * testsuite/libgomp.fortran/do2.f90: New test.
3586
3587 * testsuite/libgomp.fortran/reference1.f90: New test.
3588
3589 2005-10-11 Jakub Jelinek <jakub@redhat.com>
3590
3591 * testsuite/libgomp.dg/reduction-1.c: New test.
3592 * testsuite/libgomp.dg/reduction-2.c: New test.
3593 * testsuite/libgomp.dg/reduction-3.c: New test.
3594
3595 2005-10-10 Jakub Jelinek <jakub@redhat.com>
3596
3597 * testsuite/libgomp.dg/atomic-1.c: New test.
3598 * testsuite/libgomp.dg/atomic-2.c: New test.
3599
3600 2005-10-09 Richard Henderson <rth@redhat.com>
3601
3602 * critical.c (atomic_lock): New.
3603 (initialize_critical): Initialize it.
3604 (GOMP_atomic_start, GOMP_atomic_end): New.
3605 * libgomp.map: Export them.
3606 * libgomp_g.h: Declare them.
3607
3608 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
3609
3610 2005-10-02 Richard Henderson <rth@redhat.com>
3611
3612 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
3613 to XCFLAGS instead of CFLAGS.
3614
3615 2005-09-30 Richard Henderson <rth@redhat.com>
3616
3617 * configure.ac: Determine whether -pthread or -lpthread is needed.
3618 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
3619 * Makefine.in, configure: Rebuild.
3620
3621 2005-09-28 Richard Henderson <rth@redhat.com>
3622
3623 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
3624 * testsuite/libgomp.dg/omp-single-3.c: New test.
3625
3626 2005-09-28 Diego Novillo <dnovillo@redhat.com>
3627
3628 * testsuite/libgomp.dg/omp-single-2.c: New test.
3629 * testsuite/libgomp.dg/shared-2.c: Fix return code.
3630
3631 2005-09-27 Richard Henderson <rth@redhat.com>
3632
3633 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
3634 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
3635
3636 2005-09-27 Jakub Jelinek <jakub@redhat.com>
3637
3638 * testsuite/libgomp.dg/omp-loop03.c: New test.
3639
3640 2005-09-27 Diego Novillo <dnovillo@redhat.com>
3641
3642 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
3643
3644 2005-09-27 Diego Novillo <dnovillo@redhat.com>
3645
3646 * testsuite/libgomp.dg/omp-single-1.c: New test.
3647 * testsuite/libgomp.dg/shared-1.c: Return 0.
3648 Add prototype for abort.
3649 * testsuite/libgomp.dg/shared-2.c: Likewise.
3650
3651 2005-09-26 Jakub Jelinek <jakub@redhat.com>
3652
3653 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
3654 constructs.
3655
3656 2005-09-26 Diego Novillo <dnovillo@redhat.com>
3657
3658 * testsuite/libgomp.dg/shared-1.c: New test.
3659 * testsuite/libgomp.dg/shared-2.c: New test.
3660
3661 2005-09-24 Richard Henderson <rth@redhat.com>
3662
3663 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
3664
3665 2005-09-24 Richard Henderson <rth@redhat.com>
3666
3667 * iter.c (gomp_iter_static_next): Round up when computing number
3668 of iterations. Don't bother distributing a remainder equally.
3669
3670 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
3671 Don't call srand. Zero b before testing.
3672 (main): New.
3673
3674 2005-09-24 Jakub Jelinek <jakub@redhat.com>
3675
3676 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
3677 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
3678
3679 2005-09-23 Jakub Jelinek <jakub@redhat.com>
3680
3681 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
3682 without !$omp end do, followed immediately by subroutine end.
3683
3684 2005-09-23 Diego Novillo <dnovillo@redhat.com>
3685
3686 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
3687
3688 2005-09-22 Richard Henderson <rth@redhat.com>
3689
3690 * critical.c (GOMP_critical_name_start): Change argument to void**.
3691 Reuse the pointer space if the mutex fits.
3692 (GOMP_critical_name_end): Likewise.
3693 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
3694 * libgomp_g.h (GOMP_critical_name_start): Update decl.
3695 (GOMP_critical_name_end): Likewise.
3696 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
3697 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
3698
3699 2005-09-20 Richard Henderson <rth@redhat.com>
3700
3701 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
3702 (create_lock_lock): New.
3703 (initialize_critical): Initialize it.
3704 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
3705 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
3706
3707 2005-09-20 Diego Novillo <dnovillo@redhat.com>
3708
3709 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
3710
3711 2005-09-20 Diego Novillo <dnovillo@redhat.com>
3712
3713 * testsuite/libgomp.dg/omp-loop01.c: New test.
3714 * testsuite/libgomp.dg/omp-loop02.c: New test.
3715
3716 2005-09-20 Jakub Jelinek <jakub@redhat.com>
3717
3718 * configure.ac (AC_PROG_FC): Add.
3719 (USE_FORTRAN): New automake conditional.
3720 * configure: Rebuilt.
3721 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
3722 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
3723 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
3724 Add rules to build them.
3725 * Makefile.in: Rebuilt.
3726 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
3727 OMP_NEST_LOCK_KIND.
3728 * libgomp.map: Add Fortran wrappers.
3729 * libgomp_f.h.in: New file.
3730 * omp_lib.h.in: New file.
3731 * omp_lib.f90.in: New file.
3732 * fortran.c: New file.
3733 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
3734 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
3735 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
3736 libgfortran has been built.
3737 * testsuite/libgomp.fortran/fortran.exp: New file.
3738 * testsuite/libgomp.fortran/omp_cond1.f: New test.
3739 * testsuite/libgomp.fortran/omp_cond2.f: New test.
3740 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
3741 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
3742 * testsuite/libgomp.fortran/omp_hello.f: New test.
3743 * testsuite/libgomp.fortran/omp_orphan.f: New test.
3744 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
3745 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
3746 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
3747 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
3748 * testsuite/libgomp.fortran/omp_reduction.f: New test.
3749 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
3750 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
3751
3752 2005-08-30 Richard Henderson <rth@redhat.com>
3753
3754 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
3755 function for when aliases are not usable.
3756 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
3757 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
3758 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
3759 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
3760 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
3761 GOMP_loop_ordered_guided_next): Likewise.
3762 * ordered.c (GOMP_ordered_start): Likewise.
3763
3764 2005-08-01 Diego Novillo <dnovillo@redhat.com>
3765
3766 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
3767 * testsuite/libgomp.dg/omp_hello.c: Fix return code
3768 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
3769 * testsuite/libgomp.dg/omp_orphan.c: Likewise
3770 * testsuite/libgomp.dg/omp_reduction.c: Likewise
3771 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
3772 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
3773 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
3774 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
3775
3776 2005-07-07 Eric Christopher <echristo@redhat.com>
3777 Diego Novillo <dnovillo@redhat.com>
3778
3779 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
3780 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
3781 up code.
3782 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
3783 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
3784 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
3785 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
3786 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
3787 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
3788 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
3789
3790 2005-06-13 Diego Novillo <dnovillo@redhat.com>
3791
3792 * TOPLEVEL.patch: Remove.
3793
3794 2005-05-16 Richard Henderson <rth@redhat.com>
3795
3796 * configure.ac: Test for clock_gettime.
3797 * config.h.in, configure: Rebuild.
3798 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
3799 (omp_get_wtime): Use clock_gettime if available.
3800 (omp_get_wtick): Use clock_getres if available.
3801
3802 2005-05-11 Richard Henderson <rth@redhat.com>
3803
3804 * config/linux/ia64/futex.h: New file.
3805 * configure.tgt: Use it.
3806
3807 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
3808
3809 2005-05-07 Richard Henderson <rth@redhat.com>
3810
3811 * config/linux/powerpc/futex.h: New file.
3812 * configure.tgt: Use it.
3813
3814 * config/linux/i486/futex.h: Merge ...
3815 * config/linux/x86_64/futex.h: ... into ...
3816 * config/linux/x86/futex.h: ... here.
3817 * configure.tgt: Update to match.
3818
3819 2005-05-06 Richard Henderson <rth@redhat.com>
3820
3821 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
3822 * config/linux/i486/futex.h: Likewise.
3823 * config/linux/x86_64/futex.h: Likewise.
3824
3825 * config/linux/lock.c: New file.
3826 * config/linux/omp-lock.h: New file.
3827
3828 * critical.c, env.h: Don't include omp.h
3829 * config/posix/lock.c: Include libgomp.h instead of omp.h.
3830 * config/posix/time.c: Likewise.
3831 * config/posix/omp-lock.h: New file.
3832 * libgomp.h: Include omp-lock.h and omp.h.
3833 * Makefile.am (nodist_include_HEADERS): New.
3834 (omp.h): New rule.
3835 * configure.ac (PERL): New.
3836 * mkomp_h.pl: New file.
3837 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
3838 with templates.
3839 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
3840
3841 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
3842 build directory. Re-add -march=i486 hack.
3843
3844 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
3845 (libgomp_link_flags): Remove.
3846 (libgomp_initialized): Remove.
3847 (libgomp_init): Don't protect from reinitialization. Copy code
3848 from libstdc++ for getting the multilib set correctly.
3849
3850 2005-05-05 Richard Henderson <rth@redhat.com>
3851
3852 * config/linux/alpha/futex.h: New file.
3853 * configure.tgt (alpha*-*-linux*): Use it.
3854
3855 * config/posix/mutex.c: New file.
3856 * config/posix/sem.c: Use libgomp.h.
3857
3858 * configure.tgt (x86_64-linux): Also test CC for -m32.
3859 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
3860
3861 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
3862 after $gccpath.
3863
3864 * Makefile.am (SUBDIRS): New.
3865 (libgomp_la_LDFLAGS): Add -lpthread.
3866 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
3867 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
3868
3869 * libgomp_g.h: New file.
3870 * libgomp.h: Split out all public declarations to libgomp_g.h.
3871 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
3872 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
3873 * config/linux/sem.h: Likewise.
3874 * config/posix/sem.h: Likewise.
3875
3876 * Makefile.am (AM_LDFLAGS): New.
3877 (libgomp_version_script): Split out from ...
3878 (libgomp_la_LDFLAGS): ... here.
3879 (libgomp_version_info): New.
3880 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
3881 (LIBGOMP_ENABLE): New.
3882 (LIBGOMP_CHECK_LINKER_FEATURES): New.
3883 (LIBGOMP_ENABLE_SYMVERS): New.
3884 * configure.ac (AC_INIT): Version 1.0.
3885 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
3886 (enable-linux-futex): Likewise. Rename from enable-futex.
3887 (libtool_VERSION): New.
3888 (LIBGOMP_ENABLE_SYMVERS): Use it.
3889 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
3890 * Makefile.in, aclocal.m4, configure: Rebuild.
3891
3892 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
3893 (gomp_mutex_unlock_slow): Fix typo.
3894 * config/linux/sem.c: Similarly.
3895 (gomp_sem_post_slow): Fix typo.
3896 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
3897 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
3898 [__PIC__] (sys_futex0): Don't use tmp output in asm.
3899
3900 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
3901 (libgomp_la_LDFLAGS): Add top_srcdir to path.
3902 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
3903 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
3904 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
3905 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
3906 LDFLAGS. Pull enable_futex check to top-level.
3907 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
3908 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
3909
3910 First attempt at real configury.
3911 * Makefile, config.h: Remove file.
3912 * Makefile.am, Makefile.in: New file.
3913 * acinclude.m4 aclocal.m4: New file.
3914 * configure.ac, configure.tgt, configure: New file.
3915
3916 * config/posix/lock.c: Rename from sys-lock.c.
3917 * config/posix/mutex.h: Rename from sys-mutex.h.
3918 * config/posix/sem.c: Rename from sys-sem.c.
3919 * config/posix/sem.h: Rename from sys-sem.h.
3920 * config/posix/proc.c: Rename from sys-proc.c.
3921 * config/posix/time.c: Rename from sys-proc.c.
3922
3923 * config/linux/mutex.c: New file.
3924 * config/linux/mutex.h: New file.
3925 * config/linux/sem.c: New file.
3926 * config/linux/sem.h: New file.
3927 * config/linux/i486/futex.h: New file.
3928 * config/linux/x86_64/futex.h: New file.
3929
3930 2005-05-04 Richard Henderson <rth@redhat.com>
3931
3932 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
3933 * libgomp.h: Declare them.
3934 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
3935 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
3936
3937 2005-05-04 Richard Henderson <rth@redhat.com>
3938
3939 * libgomp-1 code drop
3940
3941 2005-05-04 Richard Henderson <rth@redhat.com>
3942
3943 * iter.c (gomp_iter_static_next): Return tri-state on 0.
3944 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
3945 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
3946 (gomp_iter_static_next): Update.
3947 (gomp_ordered_static_next): Update.
3948 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
3949 (gomp_loop_ordered_static_start): Likewise. Exit early for a
3950 totally empty range.
3951 (gomp_loop_ordered_static_next): Refine test for calling
3952 gomp_ordered_static_next.
3953 * testsuite/ordered-1.c: Add case for more threads than iterations.
3954
3955 * iter.c (gomp_iter_runtime_next_locked): Remove.
3956 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
3957 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3958 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3959 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
3960 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
3961 gomp_loop_ordered_guided_next): Downcase name, make static, add
3962 an external alias with the old name.
3963 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3964 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
3965 switch and call one of the above static functions.
3966 * libgomp.h: Update.
3967
3968 * work.c (gomp_work_share_start): Lock the mutex for !first too.
3969 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
3970 GOMP_loop_guided_start, GOMP_loop_runtime_start,
3971 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
3972 GOMP_loop_ordered_guided_start): Update to match.
3973 * sections.c (GOMP_sections_start): Likewise.
3974 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
3975
3976 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
3977 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
3978 Use bounds check instead of modulus.
3979 (gomp_ordered_sync): Split out of GOMP_ordered_start.
3980 (gomp_ordered_last): Don't sync with ordered_owner here.
3981 (gomp_ordered_next): Likewise.
3982 (gomp_ordered_static_loop_next): Likewise.
3983 * loop.c, libgomp.h: Update to match.
3984
3985 * libgomp.h (GOMP_barrier): Declare.
3986
3987 * testsuite/barrier-1.c: New file.
3988 * testsuite/critical-1.c: New file.
3989 * testsuite/ordered-2.c: New file.
3990 * testsuite/ordered-1.c: New file.
3991 * testsuite/sections-1.c: New file.
3992 * testsuite/single-1.c: New file.
3993 * testsuite/Makefile (TESTS): Add them.
3994
3995 2005-05-04 Richard Henderson <rth@redhat.com>
3996
3997 * libgomp.h (struct gomp_work_share): Add ordered_owner.
3998 * loop.c (GOMP_loop_static_start): If not the startup thread,
3999 acquire the mutex to wait for initialization complete.
4000 (GOMP_loop_ordered_static_start): Likewise.
4001 (GOMP_loop_ordered_runtime_start): Likewise.
4002 (GOMP_loop_ordered_static_first): Remove.
4003 (GOMP_loop_ordered_dynamic_first): Remove.
4004 (GOMP_loop_ordered_guided_first): Remove.
4005 (GOMP_loop_ordered_runtime_first): Remove.
4006 * ordered.c (gomp_ordered_loop_first): Post to own release when
4007 we're the first thread.
4008 (gomp_ordered_loop_last): Wait on release if not owner.
4009 (gomp_ordered_loop_next): Likewise.
4010 (gomp_ordered_static_loop_init): New.
4011 (gomp_ordered_static_loop_next): Use ordered_owner.
4012 (GOMP_ordered_start): Likewise.
4013 * work.c (gomp_new_work_share): Initialize ordered_owner.
4014
4015 2005-05-03 Richard Henderson <rth@redhat.com>
4016
4017 * Makefile (OPT): New.
4018 (CFLAGS): Use it.
4019
4020 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
4021 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
4022 * libgomp.h, libgomp.map, NOTES: Update to match.
4023
4024 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
4025 Add initialized and thr members.
4026 (gomp_thread_start): Pause when initially spawned to wait for
4027 the whole team to be created.
4028 (gomp_team_start): Release team members at the end.
4029
4030 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
4031 (f_foo_1): Use GOMP_loop_end.
4032 (f_foo_2): Use GOMP_loop_end_nowait.
4033
4034 * testsuite/loop-2.c: New file.
4035 * testsuite/Makefile (TESTS): Add it.
4036
4037 2005-05-03 Richard Henderson <rth@redhat.com>
4038
4039 * iter.c (gomp_iter_static_next): Fix overflow check typo.
4040 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
4041 * team.c (new_team): Initialize oldest_live_gen to 1 if no
4042 initial work_share.
4043
4044 * testsuite/Makefile: New file.
4045 * testsuite/loop-1.c: New file.
4046
4047 2005-05-03 Richard Henderson <rth@redhat.com>
4048
4049 Initial implementation and checkin.