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