1 2012-09-20 Release Manager
5 2012-06-14 Jakub Jelinek <jakub@redhat.com>
7 Backported from mainline
8 2012-06-07 Jakub Jelinek <jakub@redhat.com>
11 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
12 use GOMP_barrier () call instead.
13 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
16 call GOMP_barrier instead.
17 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19 2012-06-06 Jakub Jelinek <jakub@redhat.com>
22 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
23 argument to memset call.
25 2012-06-14 Release Manager
29 2012-03-22 Jakub Jelinek <jakub@redhat.com>
32 * testsuite/libgomp.c/pr52547.c: New test.
34 2012-03-22 Release Manager
38 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
40 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
42 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
45 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
46 Remove ENABLE_SYMVERS_SOL2.
47 * configure: Regenerate.
48 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
49 (PREPROCESS): New variable.
50 (libgomp.ver): New target.
51 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
52 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
53 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
55 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
56 * Makefile.in: Regenerate.
58 2012-02-14 Walter Lee <walt@tilera.com>
60 * configure.tgt: Handle tilegx and tilepro.
61 * config/linux/tile/futex.h: New file.
63 2012-02-08 Richard Guenther <rguenther@suse.de>
65 PR tree-optimization/46886
66 * testsuite/libgomp.c/pr46886.c: New testcase.
68 2012-01-25 Matthias Klose <doko@ubuntu.com>
70 * config/linux/arm: Remove empty directory.
71 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
73 2011-12-09 Alan Modra <amodra@gmail.com>
76 * task.c (GOMP_taskwait): Don't access task->children outside of
77 task_lock mutex region.
78 (GOMP_task): Likewise.
80 2011-12-06 Jakub Jelinek <jakub@redhat.com>
83 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
85 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
86 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
87 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
88 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
89 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
91 2011-12-02 Alan Modra <amodra@gmail.com>
93 * config/linux/affinity.c: Use atomic rather than sync builtin.
94 * config/linux/lock.c: Likewise.
95 * config/linux/ptrlock.h: Likewise.
96 * config/linux/ptrlock.c: Likewise.
97 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
98 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
99 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
100 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
101 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
102 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
103 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
104 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
105 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
106 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
108 2011-11-30 Alan Modra <amodra@gmail.com>
111 * config/linux/bar.h: Use atomic rather than sync builtins.
112 * config/linux/bar.c: Likewise. Add missing acquire
113 synchronisation on generation field.
114 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
117 2011-11-30 Alan Modra <amodra@gmail.com>
119 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
120 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
121 * config/linux/mutex.h: Use atomic rather than sync builtins.
122 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
123 * config/linux/omp-lock.h: Comment fix.
124 * config/linux/arm/mutex.h: Delete.
125 * config/linux/powerpc/mutex.h: Delete.
126 * config/linux/ia64/mutex.h: Delete.
127 * config/linux/mips/mutex.h: Delete.
129 2011-11-30 Alan Modra <amodra@gmail.com>
132 * config/linux/sem.h: Rewrite.
133 * config/linux/sem.c: Rewrite.
135 2011-11-28 Richard Henderson <rth@redhat.com>
137 * libgomp.h (enum memmodel): New.
139 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
141 * configure: Regenerate.
143 2011-10-10 Matthias Klose <doko@ubuntu.com>
145 * config/posix95: Remove empty directory.
147 2011-08-26 Jakub Jelinek <jakub@redhat.com>
149 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
151 2011-08-19 Jakub Jelinek <jakub@redhat.com>
154 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
155 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
157 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
159 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
161 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
164 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
166 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
168 * config/linux/proc.h: New.
169 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
170 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
171 (gomp_init_num_threads): Update call to cpuset_popcount.
172 (get_num_procs): Ditto.
173 * config/linux/affinity.c (gomp_init_affinity): Call
174 gomp_cpuset_popcount.
176 2011-08-02 Jakub Jelinek <jakub@redhat.com>
180 * omp.h.in (omp_in_final): New prototype.
181 * omp_lib.f90.in (omp_in_final): New interface.
182 (omp_integer_kind, omp_logical_kind): Remove
183 and replace all its uses in the module with 4.
184 (openmp_version): Change to 201107.
185 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
186 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
187 kind for the parameters.
188 (omp_in_final): New external.
189 (openmp_version): Change to 201107.
190 * task.c (omp_in_final): New function.
191 (gomp_init_task): Initialize final_task.
192 (GOMP_task): Remove unused attribute from flags. Handle final
194 (GOMP_taskyield): New function.
195 (omp_in_final): Return true if if (false) or final (true) task
196 or descendant of final (true).
197 * fortran.c (omp_in_final_): New function.
198 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
199 (GOMP_3.0): Export GOMP_taskyield.
200 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
202 (parse_unsigned_long_list): New function.
203 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
204 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
205 even if parse_affinity returned false.
206 * config/linux/affinity.c (gomp_init_affinity): Handle
207 gomp_cpu_affinity_len == 0.
208 * libgomp_g.h (GOMP_taskyield): New prototype.
209 * libgomp.h (struct gomp_task): Add final_task field.
210 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
211 * team.c (gomp_team_start): Override new task's nthreads_var icv
212 if list form OMP_NUM_THREADS has been used and it has value for
213 the new nesting level.
215 * testsuite/libgomp.c/atomic-11.c: New test.
216 * testsuite/libgomp.c/atomic-12.c: New test.
217 * testsuite/libgomp.c/atomic-13.c: New test.
218 * testsuite/libgomp.c/atomic-14.c: New test.
219 * testsuite/libgomp.c/reduction-6.c: New test.
220 * testsuite/libgomp.c/task-5.c: New test.
221 * testsuite/libgomp.c++/atomic-2.C: New test.
222 * testsuite/libgomp.c++/atomic-3.C: New test.
223 * testsuite/libgomp.c++/atomic-4.C: New test.
224 * testsuite/libgomp.c++/atomic-5.C: New test.
225 * testsuite/libgomp.c++/atomic-6.C: New test.
226 * testsuite/libgomp.c++/atomic-7.C: New test.
227 * testsuite/libgomp.c++/atomic-8.C: New test.
228 * testsuite/libgomp.c++/atomic-9.C: New test.
229 * testsuite/libgomp.c++/task-8.C: New test.
230 * testsuite/libgomp.c++/reduction-4.C: New test.
231 * testsuite/libgomp.fortran/allocatable7.f90: New test.
232 * testsuite/libgomp.fortran/allocatable8.f90: New test.
233 * testsuite/libgomp.fortran/crayptr3.f90: New test.
234 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
235 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
236 * testsuite/libgomp.fortran/pointer1.f90: New test.
237 * testsuite/libgomp.fortran/pointer2.f90: New test.
238 * testsuite/libgomp.fortran/task4.f90: New test.
240 2011-08-02 Tobias Burnus <burnus@net-b.de>
242 * libgomp.texi: Update OpenMP spec references to 3.1.
243 (omp_in_final,OMP_PROC_BIND): New sections.
244 (OMP_NUM_THREADS): Document that the value can be now a list.
245 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
247 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
249 * config/linux/x86/futex.h: Check __x86_64__ instead of
252 2011-07-29 Jakub Jelinek <jakub@redhat.com>
256 * testsuite/libgomp.c/pr49897-1.c: New test.
257 * testsuite/libgomp.c/pr49897-2.c: New test.
258 * testsuite/libgomp.c/pr49898-1.c: New test.
259 * testsuite/libgomp.c/pr49898-2.c: New test.
261 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
263 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
264 for ia32 instead of ilp32.
266 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
267 * testsuite/libgomp.c/atomic-6.c: Likewise.
269 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
271 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
272 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
274 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
277 * config/osf/sem.h: New file.
278 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
280 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
283 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
286 2011-07-15 Jakub Jelinek <jakub@redhat.com>
288 * config/linux/wait.h (do_spin): New inline, largely copied
289 from do_wait, just don't do futex_wait here, instead return true if
291 (do_wait): Implement using do_spin.
292 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
294 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
295 __sync_bool_compare_and_swap, pass the oldval to
296 gomp_mutex_lock_slow.
297 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
298 If all mutex contenders are just spinning and not sleeping, don't
299 change state to 2 unnecessarily. Optimize the loop when state has
300 already become 2 to use just one atomic operation per loop instead
302 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
304 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
305 __sync_bool_compare_and_swap, pass the oldval to
306 gomp_mutex_lock_slow.
308 2011-06-22 Jakub Jelinek <jakub@redhat.com>
311 * iter.c (gomp_iter_static_next): For chunk size 0
312 only use n ceil/ nthreads size for the first
313 n % nthreads threads in the team instead of
314 all threads except for the last few ones which
315 get less work or none at all.
316 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
317 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
318 chunk argument, set run_sched_modifier to 0 for static
319 resp. 1 for other kinds. If chunk argument is 0
320 and not static, set value to 1.
322 2011-05-19 Jakub Jelinek <jakub@redhat.com>
325 * testsuite/libgomp.c++/pr49043.C: New test.
328 * testsuite/libgomp.c++/pr48869.C: New test.
330 2011-05-06 Jakub Jelinek <jakub@redhat.com>
333 * fortran.c: Include limits.h.
335 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
337 (omp_set_num_threads_8_, omp_set_schedule_8_,
338 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
339 omp_get_team_size_8_): Use TO_INT macro.
340 * testsuite/libgomp.fortran/pr48894.f90: New test.
342 2011-04-13 Jakub Jelinek <jakub@redhat.com>
345 * testsuite/libgomp.c/pr48591.c: New test.
347 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
350 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
351 * configure: Regenerate.
353 2011-02-27 Jakub Jelinek <jakub@redhat.com>
356 * testsuite/libgomp.fortran/task3.f90: New test.
358 2011-02-24 Tobias Burnus <burnus@net-b.de>
360 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
362 2011-02-23 Jakub Jelinek <jakub@redhat.com>
365 * libgomp.texi (omp_get_wtime): Don't say time in the past
368 2011-02-18 Jakub Jelinek <jakub@redhat.com>
371 * testsuite/libgomp.fortran/fortran.exp: Check for both
372 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
373 but $blddir != "", still append ${blddir}/${lang_library_path}
376 2011-02-16 Tobias Burnus <burnus@net-b.de>
379 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
380 of libquadmath.a before adding its libpath to ldflags.
382 2011-02-14 Jakub Jelinek <jakub@redhat.com>
385 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
386 to FUTEX_WAIT futex syscall.
387 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
389 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
391 * configure: Regenerate.
393 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
396 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
398 2011-01-16 Gerald Pfeifer
400 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
402 2010-12-14 Jakub Jelinek <jakub@redhat.com>
405 * libgomp.fortran/allocatable6.f90: New test.
407 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
409 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
410 * configure: Regenerate.
412 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
416 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
417 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
418 * aclocal.m4: Regenerate.
419 * configure: Regenerate.
420 * Makefile.in: Regenerate.
421 * testsuite/Makefile.in: Regenerate.
423 2010-12-02 Jakub Jelinek <jakub@redhat.com>
426 * libgomp.fortran/pr46753.f90: New test.
429 * env.c (initialize_env): Default to spin count 300000
430 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
434 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
435 at the end if sync builtins aren't supported.
437 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
439 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
441 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
443 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
445 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
447 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
449 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
450 Tobias Burnus <burnus@net-b.de>
454 * configure: Regenerate.
456 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
458 * config/linux/futex.h: New.
459 * config/linux/arm/mutex.h: New.
460 * configure.tgt (arm*-*-linux*): Add config path.
462 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
464 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
466 2010-09-23 Tobias Burnus <burnus@net-b.de>
468 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
469 Change Fortran datatype to LOGICAL.
470 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
471 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
473 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
475 * configure: Regenerate.
477 2010-07-26 Jakub Jelinek <jakub@redhat.com>
479 * libgomp.texi: Add function keyword to a couple of Fortran
480 interfaces, use integer instead of int for Fortran.
482 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
484 * libgomp.texi: Fix spelling and pasto problems throughout.
485 Adjust prototypes to match code.
487 2010-07-24 Tobias Burnus <burnus@net-b.de>
489 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
490 silence -fwhole-file warning.
492 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
494 * configure.tgt (*-*-solaris2.[56]*): Removed.
496 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
498 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
499 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
500 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
501 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
502 targetting solaris2*.
503 * configure: Regenerate.
504 * config.h.in: Regenerate.
506 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
507 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
508 Add libgomp_version_dep.
509 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
511 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
512 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
513 * Makefile.in: Regenerate.
515 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
516 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
517 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
518 to common block, protected by
519 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
521 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
523 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
525 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
528 * configure: Regenerate.
530 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
533 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
534 * configure: Regenerate.
535 * Makefile.in: Regenerate.
536 * testsuite/Makefile.in: Regenerate.
538 2010-04-26 Jakub Jelinek <jakub@redhat.com>
541 * testsuite/libgomp.c/pr43893.c: New test.
542 * testsuite/libgomp.c++/pr43893.C: New test.
544 2010-04-21 Jakub Jelinek <jakub@redhat.com>
547 * testsuite/libgomp.fortran/vla8.f90: New test.
549 2010-04-20 Jakub Jelinek <jakub@redhat.com>
552 * config/linux/affinity.c (gomp_init_affinity): Decrease
553 gomp_available_cpus if affinity mask confines the process to fewer
555 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
556 non-NULL, just return gomp_available_cpus.
559 * sections.c (gomp_sections_init): Initialize ws->mode.
561 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
563 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
564 not unused bar variable.
565 * configure: Regenerate.
567 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
569 * Makefile.in: Regenerate.
570 * aclocal.m4: Regenerate.
571 * testsuite/Makefile.in: Regenerate.
573 2010-03-22 Jakub Jelinek <jakub@redhat.com>
576 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
577 (initialize_env): Adjust callers.
578 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
579 when the argument is 0.
581 * testsuite/libgomp.c/pr42942.c: New test.
583 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
587 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
588 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
590 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
592 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
593 * testsuite/libgomp.c++/task-6.C: Likewise.
595 2010-01-28 Steve Ellcey <sje@cup.hp.com>
597 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
599 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
601 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
602 * configure: Regenerate.
604 2010-01-26 Jakub Jelinek <jakub@redhat.com>
607 * testsuite/libgomp.fortran/allocatable5.f90: New test.
609 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
611 * configure.ac: Test for executability of GFORTRAN.
612 * configure: Regenerate.
614 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
616 * configure: Regenerate.
618 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
621 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
623 2010-01-03 Richard Guenther <rguenther@suse.de>
625 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
627 2009-12-23 Sebastian Pop <sebpop@gmail.com>
629 * testsuite/libgomp.graphite/pr4118.c: New.
631 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
633 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
634 for darwin, protect the test with require-effective-target tls_runtime.
635 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
637 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
640 * testsuite/lib/libgomp.exp: Provide -B options to allow for
641 link spec %s substitutions for static libraries.
643 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
646 * libgomp.graphite/force-parallel-2.c: Reduce array size.
648 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
650 * Makefile.in: Regenerate.
651 * configure: Regenerate.
652 * testsuite/Makefile.in: Regenerate.
654 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
656 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
657 settings for LC_ALL and LANG.
659 2009-11-25 Jakub Jelinek <jakub@redhat.com>
662 * testsuite/libgomp.fortran/pr42162.f90: New test.
664 2009-11-13 Jakub Jelinek <jakub@redhat.com>
667 * testsuite/libgomp.c/pr42029.c: New test.
669 2009-10-26 Jakub Jelinek <jakub@redhat.com>
671 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
672 *s. Accept ld version without text in ()s.
673 * configure: Regenerated.
675 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
677 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
679 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
682 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
683 or a hyphen (happens with fortran language disabled).
684 * configure: Regenerate.
686 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
688 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
689 use sed script portable to Solaris /bin/sed for extracting ld
691 * configure: Regenerate.
693 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
695 * testsuite/libgomp.graphite/bounds.c: New test.
697 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
699 * Makefile.am (libgomp_la_LINK): New.
700 * Makefile.in: Regenerate.
702 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
704 * configure.ac (AC_PREREQ): Bump to 2.64.
706 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
708 * Makefile.am (install-html, install-pdf): Remove.
709 * Makefile.in: Regenerate.
711 * Makefile.in: Regenerate.
712 * aclocal.m4: Regenerate.
713 * config.h.in: Regenerate.
714 * configure: Regenerate.
715 * testsuite/Makefile.in: Regenerate.
717 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
719 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
720 * Makefile.in: Regenerate.
722 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
724 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
725 * Makefile.in: Regenerate.
727 2009-08-19 Tobias Burnus <burnus@net-b.de>
730 omp_lib.h.in: Fix -std=f95 errors.
733 2009-08-14 David Edelsohn <edelsohn@gnu.org>
735 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
736 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
737 * testsuite/libgomp.graphite/graphite.exp: New.
739 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
741 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
744 2009-08-04 David Daney <ddaney@caviumnetworks.com>
746 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
747 needed memory barrier semantics.
748 * config/linux/mips/mutex.h: New file.
750 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
752 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
754 2009-07-16 Joseph Myers <joseph@codesourcery.com>
756 * configure: Regenerate.
758 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
763 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
764 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
765 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
767 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
769 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
770 options when choosing a multilib.
772 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
774 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
775 ld_library_path. Use add_path. Add just find_libgcc_s to
776 ld_library_path, not every libgcc multilib directory.
777 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
778 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
779 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
781 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
783 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
785 * Makefile.am (LTLDFLAGS): Define.
787 * Makefile.in: Regenerate.
789 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
792 * testsuite/libgomp.fortran/fortran.exp: Don't link with
793 libgfortranbegin, check existence of libgfortran.a instead of
796 2009-05-20 Jakub Jelinek <jakub@redhat.com>
799 * team.c (gomp_thread_start): Destroy thr->release semaphore.
800 (gomp_free_pool_helper): Likewise.
802 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
803 Jakub Jelinek <jakub@redhat.com>
806 * testsuite/libgomp.fortran/workshare2.f90: New test.
808 2009-04-09 Nick Clifton <nickc@redhat.com>
810 * iter.c: Change copyright header to refer to version 3 of the
811 GNU General Public License with version 3.1 of the GCC Runtime
812 Library Exception and to point readers at the COPYING3 and
813 COPYING3.RUNTIME files and the FSF's license web page.
815 * barrier.c: Likewise.
816 * config/bsd/proc.c: Likewise.
817 * config/linux/affinity.c: Likewise.
818 * config/linux/alpha/futex.h: Likewise.
819 * config/linux/bar.c: Likewise.
820 * config/linux/bar.h: Likewise.
821 * config/linux/ia64/futex.h: Likewise.
822 * config/linux/ia64/mutex.h: Likewise.
823 * config/linux/lock.c: Likewise.
824 * config/linux/mips/futex.h: Likewise.
825 * config/linux/mutex.c: Likewise.
826 * config/linux/mutex.h: Likewise.
827 * config/linux/powerpc/futex.h: Likewise.
828 * config/linux/proc.c: Likewise.
829 * config/linux/ptrlock.c: Likewise.
830 * config/linux/ptrlock.h: Likewise.
831 * config/linux/s390/futex.h: Likewise.
832 * config/linux/sem.c: Likewise.
833 * config/linux/sem.h: Likewise.
834 * config/linux/sparc/futex.h: Likewise.
835 * config/linux/wait.h: Likewise.
836 * config/linux/x86/futex.h: Likewise.
837 * config/mingw32/proc.c: Likewise.
838 * config/mingw32/time.c: Likewise.
839 * config/posix/affinity.c: Likewise.
840 * config/posix/bar.c: Likewise.
841 * config/posix/bar.h: Likewise.
842 * config/posix/lock.c: Likewise.
843 * config/posix/mutex.h: Likewise.
844 * config/posix/proc.c: Likewise.
845 * config/posix/ptrlock.h: Likewise.
846 * config/posix/sem.c: Likewise.
847 * config/posix/sem.h: Likewise.
848 * config/posix/time.c: Likewise.
849 * config/posix95/lock.c: Likewise.
850 * critical.c: Likewise.
853 * fortran.c: Likewise.
854 * iter_ull.c: Likewise.
855 * libgomp.h: Likewise.
856 * libgomp_f.h.in: Likewise.
857 * libgomp_g.h: Likewise.
859 * loop_ull.c: Likewise.
860 * omp.h.in: Likewise.
861 * omp_lib.f90.in: Likewise.
862 * omp_lib.h.in: Likewise.
863 * ordered.c: Likewise.
864 * parallel.c: Likewise.
865 * sections.c: Likewise.
866 * single.c: Likewise.
871 2009-04-09 Jakub Jelinek <jakub@redhat.com>
873 * testsuite/config/default.exp: Change copyright header to refer to
874 version 3 of the GNU General Public License and to point readers
875 at the COPYING3 file and the FSF's license web page.
877 2009-04-08 Jakub Jelinek <jakub@redhat.com>
880 * libgomp.c++/pr39573.C: New test.
882 2009-04-01 Jakub Jelinek <jakub@redhat.com>
885 * testsuite/libgomp.c/pr39591-1.c: New test.
886 * testsuite/libgomp.c/pr39591-2.c: New test.
887 * testsuite/libgomp.c/pr39591-3.c: New test.
889 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
891 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
892 * testsuite/libgomp.c/atomic-6.c: Ditto.
894 2009-03-23 Jakub Jelinek <jakub@redhat.com>
897 * testsuite/libgomp.c/loop-12.c: New test.
898 * testsuite/libgomp.c/loop-11.c: New test.
899 * testsuite/libgomp.c++/loop-11.C: New test.
900 * testsuite/libgomp.c++/loop-12.C: New test.
901 * testsuite/libgomp.c++/for-8.C: New test.
903 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
905 * configure: Regenerate.
907 2009-02-11 Jakub Jelinek <jakub@redhat.com>
910 * testsuite/libgomp.c/pr39154.c: New test.
912 2009-01-30 Ian Lance Taylor <iant@google.com>
914 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
915 libgomp_ld_is_gold. Get gold version number.
916 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
917 * configure: Rebuild.
919 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
921 * testsuite/lib/libgomp.exp: Add -B option for targets that
922 use libgfortran.a%s in their specs.
924 2009-01-07 Jakub Jelinek <jakub@redhat.com>
927 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
928 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
929 HAVE_AS_SYMVER_DIRECTIVE is not defined.
930 * configure: Regenerated.
931 * config.h.in: Likewise.
933 2008-12-28 Jakub Jelinek <jakub@redhat.com>
936 * testsuite/libgomp.c/pr38650.c: New test.
937 * testsuite/libgomp.c++/pr38650.C: New test.
939 2008-12-27 Jakub Jelinek <jakub@redhat.com>
941 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
943 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
945 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
947 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
949 * configure: Regenerate.
951 2008-12-08 Jakub Jelinek <jakub@redhat.com>
954 * testsuite/libgomp.c/pr36802-1.c: New test.
955 * testsuite/libgomp.c/pr36802-2.c: New test.
956 * testsuite/libgomp.c/pr36802-3.c: New test.
958 2008-12-01 Janis Johnson <janis187@us.ibm.com>
961 * config/linux/powerpc/mutex.h: New.
963 2008-12-01 Jakub Jelinek <jakub@redhat.com>
966 * testsuite/libgomp.c++/for-7.C: New test.
969 * testsuite/libgomp.c++/for-6.C: New test.
971 2008-11-26 Janis Johnson <janis187@us.ibm.com>
974 * testsuite/lib/libgomp.exp: Include new timeout library files.
975 (libgomp_target_compile): Set timeout value from new proc.
977 2008-11-13 Steve Ellcey <sje@cup.hp.com>
980 * config/linux/ia64/mutex.h: New.
982 2008-11-04 Tobias Burnus <burnus@net-b.de>
985 * libgomp.texi (Runtime library routines, environment variables):
986 Update for OpenMP version 3.0.
988 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
989 Steve Ellcey <sje@cup.hp.com>
991 * configure: Regenerate for new libtool.
992 * Makefile.in: Ditto.
993 * testsuite/Makefile.in: Ditto.
995 2008-09-19 Jakub Jelinek <jakub@redhat.com>
996 Andreas Tobler <a.tobler@schweiz.org>
998 * config/bsd/proc.c: New file.
999 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
1000 * configure.ac: Check for header <sys/sysctl.h>
1001 * configure: Regenerate.
1002 * config.h.in: Likewise.
1004 2008-09-05 Janis Johnson <janis187@us.ibm.com>
1006 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
1008 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1010 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
1011 * Makefile.in: Regenerated.
1012 * testsuite/Makefile.in: Regenerated.
1014 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
1016 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
1017 depend on blddir if blddir exists.
1018 (libgomp_target_compile): Likewise.
1019 * testsuite/libgomp.c++/c++.exp: Likewise.
1020 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1022 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1024 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
1025 Do not list GPL as Invariant Section.
1027 2008-07-28 Ilie Garbacea <ilie@mips.com>
1028 Chao-ying Fu <fu@mips.com>
1030 * configure.tgt: Enable futex for MIPS.
1031 * config/linux/mips/futex.h: New file.
1033 2008-07-16 Jakub Jelinek <jakub@redhat.com>
1035 * team.c (gomp_team_end): Free team immediately if it has
1038 2008-07-08 David Edelsohn <edelsohn@gnu.org>
1040 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
1041 * testsuite/libgomp.fortran/fortran.exp: Same.
1042 * testsuite/libgomp.c/c.exp: Same.
1043 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
1044 directory to library path first.
1046 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
1048 * env.c (parse_stacksize): Add cast to avoid warning.
1049 (parse_spincount): Likewise.
1051 2008-06-27 Jakub Jelinek <jakub@redhat.com>
1053 * testsuite/libgomp.c/loop-10.c: New test.
1054 * libgomp.c/loop-3.c (main): Add lastprivate clause.
1055 * libgomp.c++/loop-6.C (main): Likewise.
1058 * testsuite/libgomp.c/debug-1.c: New test.
1060 2008-06-19 Jakub Jelinek <jakub@redhat.com>
1062 * testsuite/libgomp.c/nqueens-1.c: New test.
1065 * testsuite/libgomp.c++/task-7.C: New function.
1067 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1069 * configure: Regenerate.
1071 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1073 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
1074 mutex when HAVE_SYNC_BUILTINS isn't defined.
1076 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1078 * libgomp.texi (omp_test_lock): Fix typo.
1080 2008-06-12 Tobias Burnus <burnus@net-b.de>
1082 * omp_lib.f90.in: Add "implicit none".
1084 2008-06-12 Jakub Jelinek <jakub@redhat.com>
1087 * testsuite/libgomp.c/reduction-5.c: New test.
1089 2008-06-11 Jakub Jelinek <jakub@redhat.com>
1091 * libgomp.h (struct gomp_task): Add in_tied_task field.
1092 * task.c (gomp_init_task): Initialize it.
1093 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
1094 unconditionally. Don't call gomp_team_barrier_wake if
1095 current task is implicit or if(0) from implicit and number of
1096 running tasks is equal to nthreads - 1.
1099 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
1100 omp_get_team_size_8): Fix pastos.
1103 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
1104 * configure: Regenerated.
1105 * config.h.in: Regenerated.
1106 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
1109 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
1112 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
1113 (GOMP_loop_ull_dynamic_start): Likewise.
1114 (GOMP_loop_ull_guided_start): Likewise.
1115 (GOMP_loop_ull_ordered_static_start): Likewise.
1116 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
1117 (GOMP_loop_ull_ordered_guided_start): Likewise.
1119 2008-06-06 Jakub Jelinek <jakub@redhat.com>
1120 Richard Henderson <rth@redhat.com>
1121 Ulrich Drepper <drepper@redhat.com>
1122 Jakob Blomer <jakob.blomer@ira.uka.de>
1124 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
1125 Substitute also OMP_*LOCK_25*.
1126 * configure: Regenerated.
1127 * config.h.in: Regenerated.
1128 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
1129 ptrlock.c and task.c.
1130 * Makefile.in: Regenerated.
1131 * testsuite/Makefile.in: Regenerated.
1133 * loop_ull.c: New file.
1134 * iter_ull.c: New file.
1135 * libgomp.h: Include ptrlock.h.
1136 (enum gomp_task_kind): New type.
1137 (struct gomp_team): Add task_lock, task_queue, task_count,
1138 task_running_count, single_count fields. Add
1139 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
1140 Remove work_share_lock, generation_mask,
1141 oldest_live_gen, num_live_gen and init_work_shares fields, add
1142 work work_share_list_alloc, work_share_list_free and work_share_chunk
1143 fields. Change work_shares from pointer to pointers into an array.
1144 Change ordered_release field into gomp_sem_t ** from flexible array
1145 member. Add implicit_task and initial_work_shares fields.
1146 Move close to the end of the struct.
1147 (struct gomp_team_state): Add single_count, last_work_share,
1148 active_level and level fields, remove work_share_generation.
1149 (gomp_barrier_handle_tasks): New prototype.
1150 (gomp_finish_task): New inline function.
1151 (struct gomp_work_share): Move chunk_size, end, incr into
1152 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
1153 next_ll fields. Reshuffle fields. Add next_alloc,
1154 next_ws, next_free and inline_ordered_team_ids fields, change
1155 ordered_team_ids into pointer from flexible array member.
1156 Add mode field. Put lock and next into a different cache line
1157 from most of the write-once fields.
1158 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
1159 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
1160 gomp_iter_ull_guided_next): New prototypes.
1161 (gomp_new_icv): New prototype.
1162 (struct gomp_thread): Add thread_pool and task fields.
1163 (struct gomp_thread_pool): New type.
1164 (gomp_new_team): New prototype.
1165 (gomp_team_start): Change type of last argument.
1166 (gomp_new_work_share): Removed.
1167 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
1168 (gomp_work_share_init_done): New static inline.
1169 (gomp_throttled_spin_count_var, gomp_available_cpus,
1170 gomp_managed_threads): New extern decls.
1171 (gomp_init_task): New prototype.
1172 (gomp_spin_count_var): New extern var decl.
1173 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
1174 or no alias support, or if not PIC.
1175 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
1176 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
1177 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
1178 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
1179 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
1180 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
1181 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
1182 gomp_test_nest_lock_25): New prototypes.
1183 (omp_lock_symver, strong_alias): Define.
1184 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
1186 (gomp_end_task): New.
1187 (struct gomp_task_icv, gomp_global_icv): New.
1188 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
1189 (struct gomp_task): New.
1190 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
1191 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
1193 (gomp_schedule_type): Reorder enum to match
1195 * team.c (struct gomp_thread_start_data): Add thread_pool and task
1197 (gomp_thread_start): Add gomp_team_barrier_wait call.
1198 For non-nested case remove clearing of docked thread thr fields.
1199 Use pool fields instead of global gomp_* variables. Use
1200 gomp_barrier_wait_last when needed. Initialize ts.active_level.
1201 Create tasks for each member thread.
1202 (free_team): Only destroy team barrier, task_lock here and free it.
1203 (gomp_free_thread): Free last_team if non-NULL.
1204 (gomp_team_end): Call gomp_team_barrier_wait instead of
1205 gomp_barrier_wait. For nested case call one extra
1206 gomp_barrier_wait. Move here some destruction from free_team.
1207 Call free_team on pool->last_team if any, rather than freeing
1208 current team. Destroy work_share_list_free_lock ifndef
1210 (gomp_new_icv): New function.
1211 (gomp_threads, gomp_threads_size, gomp_threads_used,
1212 gomp_threads_dock): Removed.
1213 (gomp_thread_destructor): New variable.
1214 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
1216 (gomp_team_start): Create new pool if current thread doesn't have
1217 one. Use pool fields instead of global gomp_* variables.
1218 Initialize thread_pool field for new threads. Clear single_count.
1219 Change last argument from ws to team, don't create
1220 new team, set ts.work_share to &team->work_shares[0] and clear
1221 ts.last_work_share. Don't clear ts.work_share_generation.
1222 If number of threads changed, adjust atomically gomp_managed_threads.
1223 Use gomp_init_task instead of gomp_new_task,
1224 set thr->task to the corresponding implicit_task array entry.
1225 Create tasks for each member thread. Initialize ts.level.
1226 (initialize_team): Call pthread_key_create on
1227 gomp_thread_destructor.
1228 (team_destructor): New function.
1229 (new_team): Removed.
1230 (gomp_new_team): New function.
1231 (free_team): Free gomp_work_share blocks chained through next_alloc,
1232 instead of freeing work_shares and destroying work_share_lock.
1233 (gomp_team_end): Call gomp_fini_work_share. If number of threads
1234 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
1235 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
1236 of gomp_barrier_wait.
1237 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
1238 instead of gomp_barrier_wait. Call gomp_work_share_init_done
1239 if gomp_work_share_start returned true. Don't unlock ws->lock.
1240 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
1241 of gomp_barrier_wait.
1242 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
1243 gomp_work_share_init_done if gomp_work_share_start returned true.
1244 Don't unlock ws->lock.
1245 * work.c: Include stddef.h.
1246 (free_work_share): Use work_share_list_free_lock instead
1247 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
1248 Call gomp_fini_work_share and then either free ws if orphaned, or
1249 put it into work_share_list_free list of the current team.
1250 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
1252 (gomp_work_share_start, gomp_work_share_end,
1253 gomp_work_share_end_nowait): Rewritten.
1254 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
1255 (openmp_version): Set to 200805.
1256 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
1257 omp_sched_guided, omp_sched_auto): New parameters.
1258 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1259 omp_set_max_active_levels, omp_get_max_active_levels,
1260 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
1261 omp_get_active_level): New interfaces.
1262 * omp_lib.h.in (openmp_version): Set to 200805.
1263 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
1264 omp_sched_guided, omp_sched_auto): New parameters.
1265 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1266 omp_set_max_active_levels, omp_get_max_active_levels,
1267 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
1268 omp_get_active_level): New externals.
1269 * loop.c: Include limits.h.
1270 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
1272 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
1273 Likewise. Use gomp_icv.
1274 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
1275 ts.static_trip here.
1276 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
1277 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
1278 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
1279 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
1280 don't unlock ws->lock, otherwise lock it.
1281 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
1282 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
1283 (gomp_parallel_loop_start): Call gomp_new_team instead of
1284 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
1285 Adjust gomp_team_start caller. Pass 0 as second argument to
1286 gomp_resolve_num_threads.
1287 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
1288 If adding ws->chunk_size nthreads + 1 times after end won't
1289 overflow, set ws->mode to 1.
1290 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
1291 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
1292 GOMP_loop_ull_ordered_static_start,
1293 GOMP_loop_ull_ordered_dynamic_start,
1294 GOMP_loop_ull_ordered_guided_start,
1295 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
1296 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
1297 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
1298 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
1299 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
1301 * libgomp.map: Export lock routines also @@OMP_2.0.
1302 (GOMP_loop_ordered_dynamic_first,
1303 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
1304 GOMP_loop_ordered_static_first): Remove.
1305 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
1306 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
1307 GOMP_loop_ull_ordered_dynamic_next,
1308 GOMP_loop_ull_ordered_dynamic_start,
1309 GOMP_loop_ull_ordered_guided_next,
1310 GOMP_loop_ull_ordered_guided_start,
1311 GOMP_loop_ull_ordered_runtime_next,
1312 GOMP_loop_ull_ordered_runtime_start,
1313 GOMP_loop_ull_ordered_static_next,
1314 GOMP_loop_ull_ordered_static_start,
1315 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
1316 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
1317 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
1318 (omp_set_schedule, omp_get_schedule,
1319 omp_get_thread_limit, omp_set_max_active_levels,
1320 omp_get_max_active_levels, omp_get_level,
1321 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
1322 omp_set_schedule_, omp_set_schedule_8_,
1323 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
1324 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
1325 omp_get_max_active_levels_, omp_get_level_,
1326 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
1327 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
1328 New exports @@OMP_3.0.
1329 * omp.h.in (omp_sched_t): New type.
1330 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1331 omp_set_max_active_levels, omp_get_max_active_levels,
1332 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
1333 omp_get_active_level): New prototypes.
1334 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
1335 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
1336 gomp_thread_limit_var, gomp_remaining_threads_count,
1337 gomp_remaining_threads_lock): New variables.
1338 (parse_spincount): New function.
1339 (initialize_env): Call gomp_init_num_threads unconditionally.
1340 Initialize gomp_available_cpus. Call parse_spincount,
1341 initialize gomp_{,throttled_}spin_count_var
1342 depending on presence and value of OMP_WAIT_POLICY and
1343 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
1344 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
1345 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
1346 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
1347 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
1348 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
1349 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
1350 (gomp_global_icv): New.
1351 (parse_schedule): Use it. Parse "auto".
1352 (omp_set_num_threads): Use gomp_icv.
1353 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
1355 (omp_get_max_threads): Move from parallel.c.
1356 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
1357 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
1359 (parse_stacksize, parse_wait_policy): New functions.
1360 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
1361 both wrappers for compatibility and new locks.
1362 (omp_set_schedule, omp_get_schedule,
1363 omp_get_thread_limit, omp_set_max_active_levels,
1364 omp_get_max_active_levels, omp_get_level,
1365 omp_get_ancestor_thread_num, omp_get_team_size,
1366 omp_get_active_level): New ialias_redirect.
1367 (omp_set_schedule_, omp_set_schedule_8_,
1368 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
1369 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
1370 omp_get_max_active_levels_, omp_get_level_,
1371 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
1372 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
1374 * parallel.c: Include limits.h.
1375 (gomp_resolve_num_threads): Add count argument. Rewritten.
1376 (GOMP_parallel_start): Call gomp_new_team and pass that as last
1377 argument to gomp_team_start. Pass 0 as second argument to
1378 gomp_resolve_num_threads.
1379 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
1380 if gomp_thread_limit_var != ULONG_MAX.
1381 (omp_in_parallel): Implement using ts.active_level.
1382 (omp_get_max_threads): Move to env.c.
1383 (omp_get_level, omp_get_ancestor_thread_num,
1384 omp_get_team_size, omp_get_active_level): New functions,
1386 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
1387 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
1388 gomp_iter_dynamic_next instead of the _locked variant and don't take
1389 lock around it, otherwise acquire it before calling
1390 gomp_iter_dynamic_next_locked.
1391 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
1392 gomp_iter_dynamic_next instead of the _locked variant and don't take
1394 (GOMP_parallel_sections_start): Call gomp_new_team instead of
1395 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
1396 Adjust gomp_team_start caller. Pass count as second argument to
1397 gomp_resolve_num_threads, don't adjust num_threads after the call.
1399 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
1400 ws->chunk_size by incr.
1401 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
1403 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
1405 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
1406 (omp_check_defines): Check even the compat defines.
1407 * config/linux/ptrlock.c: New file.
1408 * config/linux/ptrlock.h: New file.
1409 * config/linux/wait.h: New file.
1410 * config/posix/ptrlock.c: New file.
1411 * config/posix/ptrlock.h: New file.
1412 * config/linux/bar.h (gomp_team_barrier_wait,
1413 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
1414 (gomp_team_barrier_set_task_pending,
1415 gomp_team_barrier_clear_task_pending,
1416 gomp_team_barrier_set_waiting_for_tasks,
1417 gomp_team_barrier_waiting_for_tasks,
1418 gomp_team_barrier_done): New inlines.
1419 (gomp_barrier_t): Rewritten.
1420 (gomp_barrier_state_t): New typedef.
1421 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
1422 gomp_barrier_wait_start): Rewritten.
1423 (gomp_barrier_wait_end): Change second argument to
1424 gomp_barrier_state_t.
1425 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
1427 * config/linux/bar.c: Include wait.h instead of libgomp.h and
1429 (gomp_barrier_wait_end): Rewritten.
1430 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
1431 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
1432 * config/posix/bar.h (gomp_barrier_t): Add generation field.
1433 (gomp_barrier_state_t): New typedef.
1434 (gomp_team_barrier_wait,
1435 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
1436 (gomp_barrier_wait_start): Or all but low 2 bits from generation
1437 into the return value. Return gomp_barrier_state_t.
1438 (gomp_team_barrier_set_task_pending,
1439 gomp_team_barrier_clear_task_pending,
1440 gomp_team_barrier_set_waiting_for_tasks,
1441 gomp_team_barrier_waiting_for_tasks,
1442 gomp_team_barrier_done): New inlines.
1443 (gomp_barrier_wait_end): Change second argument to
1444 gomp_barrier_state_t.
1445 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
1447 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
1448 (gomp_barrier_wait_end): Change second argument to
1449 gomp_barrier_state_t.
1450 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
1451 gomp_team_barrier_wake): New functions.
1452 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
1454 (gomp_futex_wake, gomp_futex_wait): New variables.
1455 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
1456 * config/linux/lock.c: Rewrite to make locks task owned,
1457 for backwards compatibility provide the old entrypoints
1458 if symbol versioning. Include wait.h instead of libgomp.h and
1460 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
1461 * config/posix95/lock.c: Rewrite to make locks task owned,
1462 for backwards compatibility provide the old entrypoints
1463 if symbol versioning.
1464 * config/posix/lock.c: Rewrite to make locks task owned,
1465 for backwards compatibility provide the old entrypoints
1466 if symbol versioning.
1467 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
1468 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
1469 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
1470 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1471 (sys_futex0): Return error code.
1472 (futex_wake, futex_wait): If ENOSYS was returned, clear
1473 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1474 (cpu_relax, atomic_write_barrier): New static inlines.
1475 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1476 (futex_wake, futex_wait): If ENOSYS was returned, clear
1477 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1478 (cpu_relax, atomic_write_barrier): New static inlines.
1479 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1480 (sys_futex0): Return error code.
1481 (futex_wake, futex_wait): If ENOSYS was returned, clear
1482 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1483 (cpu_relax, atomic_write_barrier): New static inlines.
1484 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1485 (sys_futex0): Return error code.
1486 (futex_wake, futex_wait): If ENOSYS was returned, clear
1487 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1488 (cpu_relax, atomic_write_barrier): New static inlines.
1489 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1490 (sys_futex0): Return error code.
1491 (futex_wake, futex_wait): If ENOSYS was returned, clear
1492 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1493 (cpu_relax, atomic_write_barrier): New static inlines.
1494 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
1495 (sys_futex0): Return error code.
1496 (futex_wake, futex_wait): If ENOSYS was returned, clear
1497 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
1498 (cpu_relax, atomic_write_barrier): New static inlines.
1499 * config/linux/sem.c: Include wait.h instead of libgomp.h and
1501 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
1502 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
1503 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
1505 (omp_nest_lock_t): Change owner into void *, add lock field.
1506 * config/posix95/omp-lock.h: Include semaphore.h.
1507 (omp_lock_25_t, omp_nest_lock_25_t): New types.
1508 (omp_lock_t): Use sem_t instead of mutex if semaphores
1510 (omp_nest_lock_t): Likewise. Change owner to void *.
1511 * config/posix/omp-lock.h: Include semaphore.h.
1512 (omp_lock_25_t, omp_nest_lock_25_t): New types.
1513 (omp_lock_t): Use sem_t instead of mutex if semaphores
1515 (omp_nest_lock_t): Likewise. Add owner field.
1517 2008-06-06 Jakub Jelinek <jakub@redhat.com>
1519 * testsuite/libgomp.c/collapse-1.c: New test.
1520 * testsuite/libgomp.c/collapse-2.c: New test.
1521 * testsuite/libgomp.c/collapse-3.c: New test.
1522 * testsuite/libgomp.c/icv-1.c: New test.
1523 * testsuite/libgomp.c/icv-2.c: New test.
1524 * testsuite/libgomp.c/lib-2.c: New test.
1525 * testsuite/libgomp.c/lock-1.c: New test.
1526 * testsuite/libgomp.c/lock-2.c: New test.
1527 * testsuite/libgomp.c/lock-3.c: New test.
1528 * testsuite/libgomp.c/loop-4.c: New test.
1529 * testsuite/libgomp.c/loop-5.c: New test.
1530 * testsuite/libgomp.c/loop-6.c: New test.
1531 * testsuite/libgomp.c/loop-7.c: New test.
1532 * testsuite/libgomp.c/loop-8.c: New test.
1533 * testsuite/libgomp.c/loop-9.c: New test.
1534 * testsuite/libgomp.c/nested-3.c: New test.
1535 * testsuite/libgomp.c/nestedfn-6.c: New test.
1536 * testsuite/libgomp.c/sort-1.c: New test.
1537 * testsuite/libgomp.c/task-1.c: New test.
1538 * testsuite/libgomp.c/task-2.c: New test.
1539 * testsuite/libgomp.c/task-3.c: New test.
1540 * testsuite/libgomp.c/task-4.c: New test.
1541 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
1542 to C++ testsuite default compiler options.
1543 * testsuite/libgomp.c++/collapse-1.C: New test.
1544 * testsuite/libgomp.c++/collapse-2.C: New test.
1545 * testsuite/libgomp.c++/ctor-10.C: New test.
1546 * testsuite/libgomp.c++/for-1.C: New test.
1547 * testsuite/libgomp.c++/for-2.C: New test.
1548 * testsuite/libgomp.c++/for-3.C: New test.
1549 * testsuite/libgomp.c++/for-4.C: New test.
1550 * testsuite/libgomp.c++/for-5.C: New test.
1551 * testsuite/libgomp.c++/loop-8.C: New test.
1552 * testsuite/libgomp.c++/loop-9.C: New test.
1553 * testsuite/libgomp.c++/loop-10.C: New test.
1554 * testsuite/libgomp.c++/task-1.C: New test.
1555 * testsuite/libgomp.c++/task-2.C: New test.
1556 * testsuite/libgomp.c++/task-3.C: New test.
1557 * testsuite/libgomp.c++/task-4.C: New test.
1558 * testsuite/libgomp.c++/task-5.C: New test.
1559 * testsuite/libgomp.c++/task-6.C: New test.
1560 * testsuite/libgomp.fortran/allocatable1.f90: New test.
1561 * testsuite/libgomp.fortran/allocatable2.f90: New test.
1562 * testsuite/libgomp.fortran/allocatable3.f90: New test.
1563 * testsuite/libgomp.fortran/allocatable4.f90: New test.
1564 * testsuite/libgomp.fortran/collapse1.f90: New test.
1565 * testsuite/libgomp.fortran/collapse2.f90: New test.
1566 * testsuite/libgomp.fortran/collapse3.f90: New test.
1567 * testsuite/libgomp.fortran/collapse4.f90: New test.
1568 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
1569 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
1570 * testsuite/libgomp.fortran/lib4.f90: New test.
1571 * testsuite/libgomp.fortran/lock-1.f90: New test.
1572 * testsuite/libgomp.fortran/lock-2.f90: New test.
1573 * testsuite/libgomp.fortran/nested1.f90: New test.
1574 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
1575 * testsuite/libgomp.fortran/strassen.f90: New test.
1576 * testsuite/libgomp.fortran/tabs1.f90: New test.
1577 * testsuite/libgomp.fortran/tabs2.f: New test.
1578 * testsuite/libgomp.fortran/task1.f90: New test.
1579 * testsuite/libgomp.fortran/task2.f90: New test.
1580 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
1581 * testsuite/libgomp.fortran/vla5.f90: Likewise.
1582 * testsuite/libgomp.c/pr26943-2.c: Likewise.
1583 * testsuite/libgomp.c/pr26943-3.c: Likewise.
1584 * testsuite/libgomp.c/pr26943-4.c: Likewise.
1586 2008-05-23 Jakub Jelinek <jakub@redhat.com>
1589 * testsuite/libgomp.c++/ctor-11.C: New test.
1590 * testsuite/libgomp.c++/ctor-12.C: New test.
1592 2008-05-15 Janis Johnson <janis187@us.ibm.com>
1594 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
1596 2008-05-07 Jakub Jelinek <jakub@redhat.com>
1599 * testsuite/libgomp.c/atomic-5.c: New test.
1600 * testsuite/libgomp.c/atomic-6.c: New test.
1601 * testsuite/libgomp.c/autopar-1.c: New test.
1603 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1605 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
1606 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
1607 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
1608 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
1609 * configure: Regenerate.
1610 * Makefile.in, testsuite/Makefile.in: Likewise.
1612 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
1615 * aclocal.m4: Regenerate.
1616 * configure: Regenerate.
1618 2008-03-18 Jakub Jelinek <jakub@redhat.com>
1621 * testsuite/libgomp.c/atomic-4.c: New test.
1624 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
1625 (gomp_iter_guided_next): Likewise.
1626 * testsuite/libgomp.c/pr35625.c: New test.
1628 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1630 * aclocal.m4: Regenerate.
1631 * configure: Likewise.
1632 * Makefile.in: Likewise.
1633 * testsuite/Makefile.in: Likewise.
1635 2008-03-13 Jakub Jelinek <jakub@redhat.com>
1638 * testsuite/libgomp.c++/pr35185.C: New test.
1640 2008-03-12 Jakub Jelinek <jakub@redhat.com>
1643 * testsuite/libgomp.c/pr35549.c: New test.
1645 2008-03-06 Jakub Jelinek <jakub@redhat.com>
1647 * testsuite/libgomp.c/atomic-3.c: New test.
1649 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1652 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
1655 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
1658 * configure.ac: Add ACX_HEADER_STRING.
1659 * env.c: Include strings.h.
1660 * aclocal.m4: Regenerate.
1661 * config.h.in: Regenerate.
1662 * configure: Regenerate.
1663 * Makefile.in: Regenerate.
1664 * testsuite/Makefile.in: Regenerate.
1666 2008-02-15 Jakub Jelinek <jakub@redhat.com>
1669 * testsuite/libgomp.c/pr35196.c: New test.
1672 * testsuite/libgomp.fortran/pr35130.f90: New test.
1673 * testsuite/libgomp.c/pr35130.c: New test.
1675 2008-01-25 Jakub Jelinek <jakub@redhat.com>
1678 * testsuite/libgomp.c/pr33880.c: New test.
1679 * testsuite/libgomp.fortran/pr33880.f90: New test.
1681 2008-01-24 David Edelsohn <edelsohn@gnu.org>
1683 * configure: Regenerate.
1685 2008-01-08 Jakub Jelinek <jakub@redhat.com>
1687 * configure.ac: Move futex checking into ../config/futex.m4.
1688 * configure: Rebuilt.
1689 * aclocal.m4: Rebuilt.
1690 * Makefile.in: Rebuilt.
1692 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
1693 2007-10-15 ../config/tls.m4 change.
1695 2007-12-19 Jakub Jelinek <jakub@redhat.com>
1698 * testsuite/libgomp.c/pr34513.c: New test.
1699 * testsuite/libgomp.c++/pr34513.C: New test.
1701 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
1704 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
1706 2007-12-04 Jakub Jelinek <jakub@redhat.com>
1708 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
1710 2007-12-03 Jakub Jelinek <jakub@redhat.com>
1712 * testsuite/libgomp.c/private-1.c: New test.
1714 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
1715 Paolo Bonzini <bonzini@gnu.org>
1717 * Makefile.am: Use space as vpath separator. Use 'vpath %'
1718 instead of 'VPATH ='.
1719 * Makefile.in: Regenerate.
1721 2007-11-23 Matthias Klose <doko@ubuntu.com>
1723 * configure.ac: Adjust makeinfo version check.
1724 * configure: Regenerate.
1726 2007-11-10 Jakub Jelinek <jakub@redhat.com>
1729 * testsuite/libgomp.fortran/pr34020.f90: New test.
1731 2007-11-06 Jakub Jelinek <jakub@redhat.com>
1734 * testsuite/libgomp.c++/atomic-1.C: New test.
1736 2007-10-25 Jakub Jelinek <jakub@redhat.com>
1739 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
1740 Make x and y integers rather than (implicit) reals. Add private (j)
1741 clause to the last omp parallel.
1743 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
1745 * configure: Regenerate following changes to ../config/tls.m4.
1747 2007-09-28 Jakub Jelinek <jakub@redhat.com>
1749 * testsuite/libgomp.fortran/stack.f90: New test.
1751 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
1753 * config/mingw32/proc.c: New file.
1755 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
1757 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
1758 (main): Use __get_cpuid to get i386 target fetaures.
1759 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
1760 (main): Use __get_cpuid to get x86_64 target fetaures.
1762 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
1765 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
1766 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
1768 2007-07-12 Jakub Jelinek <jakub@redhat.com>
1771 * testsuite/libgomp.fortran/pr32550.f90: New test.
1772 * testsuite/libgomp.fortran/crayptr2.f90: New test.
1774 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
1776 * aclocal.m4: Regenerated.
1778 2007-07-05 Tobias Burnus <burnus@net-b.de>
1781 * testsuite/libgomp.fortran/pr32359.f90: New.
1783 2007-07-02 Jakub Jelinek <jakub@redhat.com>
1786 * sections.c (GOMP_parallel_sections_start): Only decrease
1787 number of threads to COUNT if dyn_var is true.
1788 * testsuite/libgomp.c/pr32468.c: New test.
1790 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1793 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
1795 2007-06-21 Jakub Jelinek <jakub@redhat.com>
1798 * testsuite/libgomp.c/pr32362-1.c: New test.
1799 * testsuite/libgomp.c/pr32362-2.c: New test.
1800 * testsuite/libgomp.c/pr32362-3.c: New test.
1802 2007-06-07 Jakub Jelinek <jakub@redhat.com>
1804 * team.c (gomp_team_start): Fix setting up thread_attr
1807 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
1809 * configure: Regenerate.
1811 2007-05-23 Steve Ellcey <sje@cup.hp.com>
1813 * Makefile.in: Regenerate.
1814 * configure: Regenerate.
1815 * aclocal.m4: Regenerate.
1816 * testsuite/Makefile.in: Regenerate.
1818 2007-05-04 Jakub Jelinek <jakub@redhat.com>
1820 * config/linux/proc.c: New file.
1823 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
1825 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
1827 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
1829 2007-04-16 Matthias Klose <doko@debian.org>
1831 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
1832 flags if not building with -m64.
1833 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
1834 flag for i?86-*-* targets, if current target matches -m64.
1836 2007-04-14 Steve Ellcey <sje@cup.hp.com>
1838 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
1839 * Makefile.in: Regenerate.
1841 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1844 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
1846 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1848 2007-04-04 Jakub Jelinek <jakub@redhat.com>
1850 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
1852 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
1853 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
1854 (parse_affinity): New function.
1855 (initialize_env): Call it and gomp_init_affinity.
1856 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
1857 create new pthread_attr_t and call gomp_init_thread_affinity
1858 on it for each thread before passing the attribute to pthread_create.
1859 * config/linux/affinity.c: New file.
1860 * config/posix/affinity.c: New file.
1861 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
1862 * configure: Rebuilt.
1863 * config.h.in: Rebuilt.
1864 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
1865 * Makefile.in: Rebuilt.
1867 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
1869 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
1871 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
1872 and use it if found.
1874 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
1876 * testsuite/config/default.exp: New file.
1877 * testsuite/lib/libgomp.exp: New file.
1878 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
1879 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
1880 load_lib *, load_gcc_lib *): Move to libgomp.exp.
1881 (libgomp_load): Remove.
1882 * testsuite/lib/libgomp.exp (libgomp_init): Compute
1883 always_ld_library_path, not ld_library_path. Set additional_flags
1884 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
1885 (target_compile): Do not call libgomp_init. Append lang_library_path
1886 and lang_link_flags to options.
1887 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
1888 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
1890 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
1891 always_ld_library_path. Set LD_LIBRARY_PATH here.
1892 * testsuite/libgomp.fortran/fortran.exp: Ditto.
1893 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
1894 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
1896 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
1897 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
1898 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
1899 * testsuite/libgomp.c/pr29947-1.c: Ditto.
1900 * testsuite/libgomp.c/atomic-10.c: Ditto.
1902 2007-03-21 Jakub Jelinek <jakub@redhat.com>
1904 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
1905 dg-final cleanup-modules line.
1906 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
1907 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
1908 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
1909 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1910 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1911 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1912 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1914 2007-03-18 Andreas Schwab <schwab@suse.de>
1916 * acinclude.m4: Adjust regular expression for ld version
1918 * configure: Regenerate.
1920 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
1922 * Makefile.am: Add install-pdf target as copied from
1923 automake v1.10 rules.
1924 * Makefile.in: Regenerate
1926 2007-02-07 Jakub Jelinek <jakub@redhat.com>
1929 * configure: Regenerate.
1932 * testsuite/libgomp.c++/pr30703.C: New test.
1934 2007-02-02 Jakub Jelinek <jakub@redhat.com>
1937 2006-07-05 Eric Christopher <echristo@apple.com>
1938 * configure.ac: Depend addition of -pthread on host OS.
1939 * configure: Regenerate.
1941 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1943 * libgomp.texi: Fix spacing after abbreviations.
1945 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
1948 * configure.ac: Add check for makeinfo
1949 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
1950 if an appropiate version of makeinfo is found.
1951 * aclocal.m4: Regenerated.
1952 * configure: Regenerated.
1953 * Makefile.in: Regenerated.
1954 * testsuite/Makefile.in: Regenerated.
1956 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
1959 * libgomp.texi: More about implementation-dependent settings.
1961 2007-01-26 Tobias Burnus <burnus@net-b.de>
1963 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
1965 2007-01-24 Jakub Jelinek <jakub@redhat.com>
1968 * testsuite/libgomp.c/pr30494.c: New test.
1970 2007-01-15 Tom Tromey <tromey@redhat.com>
1972 * configure: Rebuilt.
1973 * configure.ac: Fixed comment.
1975 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
1977 * libgomp.texi: Document implementation specific default values of
1978 environment variables.
1980 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
1983 * libgomp.texi: New file.
1984 * configure.ac: Add --enable-generated-files-in-srcdir option.
1985 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
1987 * Makefile.in: Regenerated.
1988 * config.h.in: Regenerated.
1989 * testsuite/Makefile.in: Regenerated.
1992 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
1995 * env.c (omp_set_num_threads): Set illegal thread count to 1.
1997 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1999 * configure: Regenerate.
2001 2006-12-04 Jakub Jelinek <jakub@redhat.com>
2004 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
2005 start if there shouldn't be any loop iterations.
2006 (gomp_loop_ordered_static_start): Remove start == end test.
2007 * testsuite/libgomp.c/pr29947-1.c: New test.
2008 * testsuite/libgomp.c/pr29947-2.c: New test.
2010 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2012 * configure.tgt: Force initial-exec TLS model on Linux only.
2014 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
2016 * configure: Regenerated.
2018 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
2020 * env.c (parse_schedule): Reject out of range values.
2021 (parse_unsigned_long): Reject out of range, negative or zero values.
2023 2006-10-29 Jakub Jelinek <jakub@redhat.com>
2026 * testsuite/libgomp.fortran/pr29629.f90: New test.
2028 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
2031 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
2032 * config/posix95: New directory.
2033 * config/posix95/omp-lock.h: New file.
2034 * config/posix95/lock.c: Likewise.
2036 2006-10-14 Geoffrey Keating <geoffk@apple.com>
2038 * aclocal.m4: Regenerate.
2039 * configure: Regenerate.
2041 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
2043 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
2046 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
2048 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
2050 * configure: Regenerate.
2051 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
2053 2006-09-26 Jakub Jelinek <jakub@redhat.com>
2057 * testsuite/libgomp.c/nestedfn-4.c: New test.
2058 * testsuite/libgomp.c/nestedfn-5.c: New test.
2059 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
2062 * testsuite/libgomp.fortran/condinc1.f: New test.
2063 * testsuite/libgomp.fortran/condinc2.f: New test.
2064 * testsuite/libgomp.fortran/condinc3.f90: New test.
2065 * testsuite/libgomp.fortran/condinc4.f90: New test.
2066 * testsuite/libgomp.fortran/condinc1.inc: New file.
2068 2006-09-18 Tom Tromey <tromey@redhat.com>
2070 * configure: Rebuilt.
2072 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
2075 PR preprocessor/14634
2076 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
2078 * configure: Regenerate.
2080 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
2082 * testsuite/libgomp.fortran/reduction3.f90: Change
2083 -2147483648 to -huge(i)-1 to avoid overflow.
2084 * testsuite/libgomp.fortran/reduction4.f90: Change
2085 Z'ffffffff' to not(0) to avoid overflow.
2087 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
2090 * Makefile.am (libsubincludedir): New.
2091 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
2092 * Makefile.in: Regenerate.
2094 2006-08-17 Jakub Jelinek <jakub@redhat.com>
2097 * env.c: Include ctype.h.
2098 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
2099 leading and/or trailing whitespace and compare strings case
2102 2006-07-16 Jakub Jelinek <jakub@redhat.com>
2105 * testsuite/libgomp.fortran/pr28390.f: New test.
2107 2006-07-05 Eric Christopher <echristo@apple.com>
2109 * configure.ac: Depend addition of -pthread on host OS.
2110 * configure: Regenerate.
2112 2006-06-21 Jakub Jelinek <jakub@redhat.com>
2114 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
2115 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
2118 2006-06-20 Jakub Jelinek <jakub@redhat.com>
2122 * configure.ac: If neither --enable-linux-futex nor
2123 --disable-linux-futex is passed, determine the default by checking
2124 for compiling and/or running against NPTL. With --enable-linux-futex,
2125 check if SYS_gettid and SYS_futex are defined.
2126 * configure: Rebuilt.
2128 2006-06-14 Richard Henderson <rth@redhat.com>
2131 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
2132 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
2134 2006-06-09 Richard Henderson <rth@redhat.com>
2136 * env.c (gomp_nthreads_var): Change to unsigned long.
2137 (gomp_run_sched_chunk): Likewise.
2138 (parse_unsigned_long): Rename from parse_num_threads and generalize.
2139 (initialize_env): Initialize gomp_thread_attr.
2140 * libgomp.h (gomp_nthreads_var): Update decl.
2141 (gomp_run_sched_chunk): Likewise.
2142 (gomp_thread_attr): Declare.
2143 * team.c (gomp_thread_attr): Export.
2144 (initialize_team): Don't initialize it.
2146 2006-06-09 Jakub Jelinek <jakub@redhat.com>
2149 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
2150 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
2152 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
2154 * config/mingw32/time.c: New file.
2155 * configure.tgt: Use it.
2157 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2159 * Makefile.am: Add install-html target. Add install-html to .PHONY
2160 * Makefile.in: Regenerate.
2162 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2165 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
2166 * testsuite/libgomp.c/critical-1.c: Likewise.
2167 * testsuite/libgomp.c/loop-1.c: Likewise.
2168 * testsuite/libgomp.c/loop-2.c: Likewise.
2169 * testsuite/libgomp.c/single-1.c: Likewise.
2170 * testsuite/libgomp.c/ordered-1.c: Likewise.
2171 * testsuite/libgomp.c/ordered-2.c: Likewise.
2173 2006-05-15 Jakub Jelinek <jakub@redhat.com>
2176 * libgomp.fortran/pr27416-1.f90: New test.
2178 2006-05-03 Jakub Jelinek <jakub@redhat.com>
2181 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
2182 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
2184 2006-05-02 Jakub Jelinek <jakub@redhat.com>
2187 * testsuite/libgomp.c/pr26943-1.c: New test.
2188 * testsuite/libgomp.c/pr26943-2.c: New test.
2189 * testsuite/libgomp.c/pr26943-3.c: New test.
2190 * testsuite/libgomp.c/pr26943-4.c: New test.
2191 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
2192 * testsuite/libgomp.c++/pr26943.C: New test.
2194 2006-05-02 Jakub Jelinek <jakub@redhat.com>
2197 * testsuite/libgomp.c++/pr27337.C: New test.
2199 2006-04-26 Jakub Jelinek <jakub@redhat.com>
2202 * testsuite/libgomp.c/pr26171.c: New test.
2204 2006-04-25 Richard Henderson <rth@redhat.com>
2207 * configure.ac: Use GCC_CHECK_TLS.
2208 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
2209 * Makefile.in, aclocal.m4, configure: Regenerate.
2211 2006-04-10 Matthias Klose <doko@debian.org>
2213 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
2214 directory names containing underscores.
2216 2006-03-21 Jakub Jelinek <jakub@redhat.com>
2219 * testsuite/libgomp.c++/pr26691.C: New test.
2221 2006-03-13 Jakub Jelinek <jakub@redhat.com>
2223 * testsuite/libgomp.fortran/retval2.f90: New test.
2225 2006-03-09 Diego Novillo <dnovillo@redhat.com>
2227 * testsuite/libgomp.c++: New directory.
2229 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
2231 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
2232 * config/posix/sem.c: Implement the above.
2234 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
2236 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
2237 define HAVE_BROKEN_POSIX_SEMAPHORES.
2238 * configure: Rebuilt.
2239 * config.h.in: Rebuilt.
2241 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
2244 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
2245 for the other pthread check.
2246 * configure: Regenerate.
2247 * config.h.in: Regenerate.
2249 2006-02-15 Jakub Jelinek <jakub@redhat.com>
2253 * Makefile.am (fincludedir): New variable.
2254 (nodist_include_HEADERS): Remove Fortran files.
2255 (nodist_finclude_HEADERS): New variable.
2256 * Makefile.in: Regenerated.
2258 2006-02-13 Jakub Jelinek <jakub@redhat.com>
2260 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
2261 Remove tests for returning assumed character length arrays.
2263 2006-02-12 Roger Sayle <roger@eyesopen.com>
2264 John David Anglin <dave@hiauly1.hia.nrc.ca>
2267 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
2269 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
2271 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
2273 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2275 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
2276 part of LD_LIBRARY_PATH manually.
2278 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
2281 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
2284 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
2287 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
2288 * configure.ac (PERL): Don't set.
2289 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
2290 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
2291 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
2292 * omp.h.in: Wrap the new configure substitutions with @ characters.
2293 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
2294 * aclocal.m4, configure, Makefile.in: Regenerate.
2295 * mkomp_h.pl: Delete.
2297 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
2300 * configure.ac: Use GCC_HEADER_STDINT.
2301 * libgomp.h: Include gstdint.h.
2302 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
2303 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
2305 2006-01-24 Richard Henderson <rth@redhat.com>
2308 * configure.ac: Add AM_MAINTAINER_MODE.
2309 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
2311 2006-01-24 Diego Novillo <dnovillo@redhat.com>
2313 * Makefile.in: Regenerate.
2314 * testsuite/Makefile.in: Regenerate.
2315 * aclocal.m4: Regenerate.
2317 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
2319 * config/posix/proc.c: Conditional include of sys/loadavg.h for
2321 * configure.ac: Add check for loadavg.h.
2322 (link_gomp): Adjust comment.
2323 * configure: Regenerate.
2324 * config.h.in: Regenerate.
2326 2006-01-21 Steve Ellcey <sje@cup.hp.com>
2329 * configure.ac: Remove check for alloca.h.
2330 * configure: Regenerate.
2331 * config.h.in: Regenerate.
2332 * libgomp.h: define gomp_alloca to be __builtin_alloca.
2333 * team.c: Remove use of alloca.h.
2334 Call gomp_alloca instead of alloca.
2336 2006-01-20 Steve Ellcey <sje@cup.hp.com>
2339 * team.c: Add include of alloca.h.
2340 * configure.ac: Add check for alloca.h.
2341 * configure: Regenerate.
2342 * config.h.in: Regenerate.
2344 2006-01-17 Jakub Jelinek <jakub@redhat.com>
2347 * testsuite/libgomp.fortran/pr25219.f90: New test.
2349 2005-12-05 Uros Bizjak <uros@kss-loka.si>
2351 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
2352 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
2353 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
2354 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
2355 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
2356 testsuite/libgomp.fortran/threadprivate1.f90,
2357 testsuite/libgomp.fortran/threadprivate2.f90,
2358 testsuite/libgomp.fortran/threadprivate3.f90,
2359 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
2360 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
2361 testsuite/libgomp.fortran/omp_parse3.f90: Change required
2362 effective-target to TLS runtime.
2364 * testsuite/libgomp.fortran/pr25162.f: Require
2365 effective-target TLS runtime.
2367 2005-12-01 Jakub Jelinek <jakub@redhat.com>
2369 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
2370 * testsuite/libgomp.c/nestedfn-3.c: New test.
2372 2005-11-30 Jakub Jelinek <jakub@redhat.com>
2375 * testsuite/libgomp.fortran/pr25162.f: New test.
2377 2005-11-28 Jakub Jelinek <jakub@redhat.com>
2379 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
2380 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
2382 2005-11-25 Jakub Jelinek <jakub@redhat.com>
2384 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
2385 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
2386 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
2387 single.c, team.c, work.c, config/linux/alpha/futex.h,
2388 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
2389 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
2390 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
2391 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
2392 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
2393 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
2394 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
2397 2005-11-18 Jakub Jelinek <jakub@redhat.com>
2399 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
2400 to nodist_noinst_HEADERS.
2401 * Makefile.in: Rebuilt.
2403 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
2404 add integer count field.
2405 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
2406 omp_nest_lock_t type change.
2407 (omp_init_nest_lock): Likewise. Initialize count to 0.
2408 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
2410 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
2412 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
2413 Increment count if successful and return the new nesting level.
2414 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
2415 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
2416 * testsuite/libgomp.c/lib-1.c: New test.
2417 * testsuite/libgomp.fortran/lib1.f90: New test.
2418 * testsuite/libgomp.fortran/lib2.f: New test.
2419 * testsuite/libgomp.fortran/lib3.f: New test.
2421 2005-11-17 Richard Henderson <rth@redhat.com>
2424 * Makefile.am (nodist_toolexeclib_HEADERS): New.
2425 * configure.ac (link_gomp): New. Substitute it.
2426 (AC_CONFIG_FILES): Add libgomp.spec.
2427 * libgomp.spec.in: New file.
2428 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
2429 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
2431 2005-11-18 Jakub Jelinek <jakub@redhat.com>
2433 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
2434 reduction(-:var) behaving the same as reduction(+:var).
2435 * testsuite/libgomp.c/reduction-4.c: New test.
2437 2005-11-15 Uros Bizjak <uros@kss-loka.si>
2439 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
2440 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
2441 testsuite/libgomp.c/copyin-3.c,
2442 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
2443 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
2444 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
2445 testsuite/libgomp.c++/pr24455.C,
2446 testsuite/libgomp.fortran/threadprivate1.f90,
2447 testsuite/libgomp.fortran/threadprivate2.f90,
2448 testsuite/libgomp.fortran/threadprivate3.f90,
2449 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
2450 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
2451 testsuite/libgomp.fortran/omp_parse3.f90: Require
2452 effective-target TLS.
2454 2005-11-14 Diego Novillo <dnovillo@redhat.com>
2458 2005-11-13 Jakub Jelinek <jakub@redhat.com>
2461 * team.c (initialize_team): Pass NULL rather than free as
2462 pthread_key_create destructor. Initialize thread specific data
2463 pointer in initial thread to a static local variable rather than
2466 2005-11-11 Uros Bizjak <uros@kss-loka.si>
2468 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
2469 its location to ld_library_path.
2471 2005-11-10 Diego Novillo <dnovillo@redhat.com>
2473 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
2475 2005-11-10 Diego Novillo <dnovillo@redhat.com>
2477 * testsuite/libgomp.c: Rename from libgomp.dg.
2479 2005-11-09 Diego Novillo <dnovillo@redhat.com>
2481 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
2482 threadprivate variable 'i'.
2484 2005-11-09 Jakub Jelinek <jakub@redhat.com>
2486 * config/linux/s390/futex.h: New file.
2487 * configure.tgt: Use it.
2489 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
2490 before the parallel.
2492 2005-11-08 Jakub Jelinek <jakub@redhat.com>
2495 * testsuite/libgomp.c++/master-1.C: New test.
2497 2005-11-07 Jakub Jelinek <jakub@redhat.com>
2499 * testsuite/libgomp.dg/copyin-3.c: New test.
2501 2005-11-07 Jakub Jelinek <jakub@redhat.com>
2503 * testsuite/libgomp.fortran/retval1.f90: New test.
2504 * testsuite/libgomp.fortran/vla7.f90: New test.
2506 2005-11-06 Jakub Jelinek <jakub@redhat.com>
2508 * testsuite/libgomp.fortran/vla2.f90: New test.
2509 * testsuite/libgomp.fortran/vla3.f90: New test.
2510 * testsuite/libgomp.fortran/vla4.f90: New test.
2511 * testsuite/libgomp.fortran/vla5.f90: New test.
2512 * testsuite/libgomp.fortran/vla6.f90: New test.
2514 2005-11-01 Jakub Jelinek <jakub@redhat.com>
2516 * config/linux/sparc/futex.h: New file.
2517 * configure.tgt: Use it.
2518 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
2520 * critical.c: Include stdlib.h.
2521 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
2522 ignoring return value.
2523 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
2524 LIBGOMP_CHECK_SYNC_BUILTINS check.
2525 * configure: Rebuilt.
2527 2005-10-31 Jakub Jelinek <jakub@redhat.com>
2529 * testsuite/libgomp.fortran/vla1.f90: New test.
2531 2005-10-31 Richard Henderson <rth@redhat.com>
2533 * testsuite/libgomp.fortran/character2.f90: Fix race condition
2534 setting 's' in different threads.
2536 2005-10-31 Jakub Jelinek <jakub@redhat.com>
2538 * libgomp.h (attribute_hidden, ialias): Define.
2539 * config/posix/proc.c (omp_get_num_procs): Add ialias.
2540 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
2541 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
2542 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
2543 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
2544 omp_test_lock, omp_test_nest_lock): Likewise.
2545 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
2546 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
2547 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
2548 omp_test_lock, omp_test_nest_lock): Likewise.
2549 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
2550 omp_get_dynamic, omp_get_nested): Likewise.
2551 * parallel.c (omp_get_num_threads, omp_get_max_threads,
2552 omp_get_thread_num, omp_in_parallel): Likewise.
2553 * fortran.c (ialias_redirect): Define.
2554 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
2555 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
2556 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
2557 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
2558 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
2559 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
2560 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
2561 omp_get_wtime): Add ialias_redirect.
2563 2005-10-30 Jakub Jelinek <jakub@redhat.com>
2565 * fortran.c: Include stdlib.h.
2567 2005-10-29 Jakub Jelinek <jakub@redhat.com>
2569 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
2570 * Makefile.in: Regenerated.
2572 2005-10-28 Jakub Jelinek <jakub@redhat.com>
2574 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
2575 * libgomp_f.h.in (omp_check_defines): New function.
2576 * env.c: Include libgomp_f.h.
2577 (initialize_env): Call omp_check_defines.
2579 * testsuite/libgomp.dg/copyin-2.c: New test.
2580 * testsuite/libgomp.c++/copyin-2.C: New test.
2581 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
2583 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
2584 * testsuite/libgomp.fortran/sharing2.f90: New test.
2586 * testsuite/libgomp.dg/copyin-1.c: New test.
2587 * testsuite/libgomp.c++/copyin-1.C: New test.
2589 2005-10-26 Jakub Jelinek <jakub@redhat.com>
2591 * testsuite/libgomp.fortran/crayptr1.f90: New test.
2593 * testsuite/libgomp.fortran/workshare1.f90: New test.
2595 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
2597 * libgomp.fortran/sharing1.f90: New test.
2599 2005-10-24 Jakub Jelinek <jakub@redhat.com>
2602 * testsuite/libgomp.c++/loop-7.C: New test.
2604 * testsuite/libgomp.dg/nestedfn-2.c: New test.
2606 * testsuite/libgomp.dg/nestedfn-1.c: New test.
2607 * testsuite/libgomp.fortran/reduction6.f90: New test.
2608 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
2610 2005-10-23 Richard Henderson <rth@redhat.com>
2612 * testsuite/libgomp.c++/ctor-1.C: New.
2613 * testsuite/libgomp.c++/ctor-2.C: New.
2614 * testsuite/libgomp.c++/ctor-3.C: New.
2615 * testsuite/libgomp.c++/ctor-4.C: New.
2616 * testsuite/libgomp.c++/ctor-5.C: New.
2617 * testsuite/libgomp.c++/ctor-6.C: New.
2618 * testsuite/libgomp.c++/ctor-7.C: New.
2619 * testsuite/libgomp.c++/ctor-8.C: New.
2620 * testsuite/libgomp.c++/ctor-9.C: New.
2622 2005-10-21 Diego Novillo <dnovillo@redhat.com>
2625 * testsuite/libgomp.c++/pr24455-1.C: New test.
2626 * testsuite/libgomp.c++/pr24455.C: New test.
2627 * testsuite/libgomp.dg/pr24455-1.c: New test.
2628 * testsuite/libgomp.dg/pr24455.c: New test.
2630 2005-10-20 Richard Henderson <rth@redhat.com>
2632 * testsuite/libgomp.c++/loop-6.C: New.
2633 * testsuite/libgomp.dg/loop-3.c: New.
2635 2005-10-20 Jakub Jelinek <jakub@redhat.com>
2637 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
2639 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
2642 2005-10-19 Diego Novillo <dnovillo@redhat.com>
2644 * testsuite/libgomp.fortran/jacobi.f: New test.
2646 2005-10-19 Richard Henderson <rth@redhat.com>
2648 * configure.tgt (i?86-linux): Default to with_arch instead of
2649 CFLAGS. Add -mtune to match target_cpu.
2650 (x86_64-linux): Tune to i686.
2652 * fortran.c (omp_test_nest_lock_): Fix typo.
2654 2005-10-19 Jakub Jelinek <jakub@redhat.com>
2656 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
2657 gomp_ordered_sync): Do nothing if team->nthreads == 1.
2658 * testsuite/libgomp.dg/ordered-3.c: New test.
2660 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
2661 Remove volatile keyword.
2663 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
2664 in COMMON block to avoid warnings on 64-bit targets.
2666 2005-10-18 Diego Novillo <dnovillo@redhat.com>
2668 * testsuite/libgomp.dg/shared-3.c: New test.
2670 2005-10-18 Jakub Jelinek <jakub@redhat.com>
2672 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
2673 * testsuite/libgomp.fortran/reduction5.f90: New test.
2675 2005-10-18 Jakub Jelinek <jakub@redhat.com>
2677 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
2679 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
2680 flush loop now that __sync_synchronize has proper memory barrier.
2681 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
2682 Add -ffixed-form to dg-options.
2684 2005-10-17 Diego Novillo <dnovillo@redhat.com>
2686 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
2687 from subdirectories.
2688 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
2689 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
2690 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
2691 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
2692 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
2693 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
2694 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
2695 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
2696 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
2697 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
2698 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
2699 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
2700 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
2701 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
2702 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
2703 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
2704 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
2705 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
2706 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
2707 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
2708 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
2709 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
2710 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
2711 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
2712 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
2714 2005-10-17 Jakub Jelinek <jakub@redhat.com>
2716 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
2717 lang_library_path exists. Use find instead of glob to gather tests.
2718 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
2720 2005-10-17 Diego Novillo <dnovillo@redhat.com>
2722 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
2723 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
2724 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
2725 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
2726 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
2727 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
2728 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
2729 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
2730 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
2731 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
2732 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
2733 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
2734 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
2736 2005-10-15 Jakub Jelinek <jakub@redhat.com>
2738 * testsuite/libgomp.dg/vla-1.c: New test.
2740 * testsuite/libgomp.fortran/reference2.f90: New test.
2742 * testsuite/libgomp.fortran/character2.f90: Remove explicit
2743 declaration of omp_get_thread_num.
2744 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
2747 * testsuite/libgomp.fortran/reduction1.f90: New test.
2748 * testsuite/libgomp.fortran/reduction2.f90: New test.
2749 * testsuite/libgomp.fortran/reduction3.f90: New test.
2750 * testsuite/libgomp.fortran/reduction4.f90: New test.
2752 2005-10-13 Richard Henderson <rth@redhat.com>
2754 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
2755 * Makefile.in: Regenerate.
2756 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
2757 * libgomp.h: Include bar.h.
2758 (struct gomp_barrier): Remove.
2759 (struct gomp_team): Add barrier. Replace master_barrier with
2760 master_release. Replace threads with ordered_release.
2761 (struct gomp_thread): Replace barrier with release.
2762 * ordered.c (gomp_ordered_first): Update for ordered_release change.
2763 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
2764 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
2765 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
2766 (GOMP_single_copy_end): Likewise.
2767 * team.c (gomp_threads_dock): New.
2768 (gomp_barrier_init, gomp_barrier_destroy): Remove.
2769 (gomp_thread_start): Use gomp_barrier_wait.
2770 (new_team, free_team): Update for gomp_team changes.
2771 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
2772 (gomp_team_end): Use gomp_barrier_wait.
2773 (initialize_team): Update for gomp_thread changes.
2774 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
2775 (gomp_work_share_end_nowait): Use atomic ops when available.
2776 * config/linux/bar.c, config/linux/bar.h: New files.
2777 * config/posix/bar.c, config/posix/bar.h: New files.
2779 2005-10-13 Jakub Jelinek <jakub@redhat.com>
2781 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
2782 * testsuite/libgomp.dg/single-2.c: New test.
2784 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
2785 lang_link_flags): Unset, so that they aren't inherited from previously
2788 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
2790 2005-10-12 Richard Henderson <rth@redhat.com>
2792 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
2793 (libgomp_init): Use lang_test_file, lang_library_path, and
2794 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
2796 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
2797 (lang_test_file, lang_link_flags): New.
2798 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
2800 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
2801 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
2802 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
2803 testsuite/libgomp.c++/parallel-1.C,
2804 testsuite/libgomp.c++/reduction-1.C,
2805 testsuite/libgomp.c++/reduction-2.C,
2806 testsuite/libgomp.c++/reduction-3.C,
2807 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
2808 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
2809 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
2810 New files, largely cribbed from the C testsuite.
2812 2005-10-12 Jakub Jelinek <jakub@redhat.com>
2814 * testsuite/libgomp.fortran/character1.f90: New test.
2815 * testsuite/libgomp.fortran/character2.f90: New test.
2817 * testsuite/libgomp.dg/nested-1.c: New test.
2818 * testsuite/libgomp.dg/nested-2.c: New test.
2819 * testsuite/libgomp.fortran/do1.f90: New test.
2820 * testsuite/libgomp.fortran/do2.f90: New test.
2822 * testsuite/libgomp.fortran/reference1.f90: New test.
2824 2005-10-11 Jakub Jelinek <jakub@redhat.com>
2826 * testsuite/libgomp.dg/reduction-1.c: New test.
2827 * testsuite/libgomp.dg/reduction-2.c: New test.
2828 * testsuite/libgomp.dg/reduction-3.c: New test.
2830 2005-10-10 Jakub Jelinek <jakub@redhat.com>
2832 * testsuite/libgomp.dg/atomic-1.c: New test.
2833 * testsuite/libgomp.dg/atomic-2.c: New test.
2835 2005-10-09 Richard Henderson <rth@redhat.com>
2837 * critical.c (atomic_lock): New.
2838 (initialize_critical): Initialize it.
2839 (GOMP_atomic_start, GOMP_atomic_end): New.
2840 * libgomp.map: Export them.
2841 * libgomp_g.h: Declare them.
2843 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
2845 2005-10-02 Richard Henderson <rth@redhat.com>
2847 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
2848 to XCFLAGS instead of CFLAGS.
2850 2005-09-30 Richard Henderson <rth@redhat.com>
2852 * configure.ac: Determine whether -pthread or -lpthread is needed.
2853 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
2854 * Makefine.in, configure: Rebuild.
2856 2005-09-28 Richard Henderson <rth@redhat.com>
2858 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
2859 * testsuite/libgomp.dg/omp-single-3.c: New test.
2861 2005-09-28 Diego Novillo <dnovillo@redhat.com>
2863 * testsuite/libgomp.dg/omp-single-2.c: New test.
2864 * testsuite/libgomp.dg/shared-2.c: Fix return code.
2866 2005-09-27 Richard Henderson <rth@redhat.com>
2868 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
2869 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
2871 2005-09-27 Jakub Jelinek <jakub@redhat.com>
2873 * testsuite/libgomp.dg/omp-loop03.c: New test.
2875 2005-09-27 Diego Novillo <dnovillo@redhat.com>
2877 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
2879 2005-09-27 Diego Novillo <dnovillo@redhat.com>
2881 * testsuite/libgomp.dg/omp-single-1.c: New test.
2882 * testsuite/libgomp.dg/shared-1.c: Return 0.
2883 Add prototype for abort.
2884 * testsuite/libgomp.dg/shared-2.c: Likewise.
2886 2005-09-26 Jakub Jelinek <jakub@redhat.com>
2888 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
2891 2005-09-26 Diego Novillo <dnovillo@redhat.com>
2893 * testsuite/libgomp.dg/shared-1.c: New test.
2894 * testsuite/libgomp.dg/shared-2.c: New test.
2896 2005-09-24 Richard Henderson <rth@redhat.com>
2898 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
2900 2005-09-24 Richard Henderson <rth@redhat.com>
2902 * iter.c (gomp_iter_static_next): Round up when computing number
2903 of iterations. Don't bother distributing a remainder equally.
2905 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
2906 Don't call srand. Zero b before testing.
2909 2005-09-24 Jakub Jelinek <jakub@redhat.com>
2911 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
2912 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
2914 2005-09-23 Jakub Jelinek <jakub@redhat.com>
2916 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
2917 without !$omp end do, followed immediately by subroutine end.
2919 2005-09-23 Diego Novillo <dnovillo@redhat.com>
2921 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
2923 2005-09-22 Richard Henderson <rth@redhat.com>
2925 * critical.c (GOMP_critical_name_start): Change argument to void**.
2926 Reuse the pointer space if the mutex fits.
2927 (GOMP_critical_name_end): Likewise.
2928 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
2929 * libgomp_g.h (GOMP_critical_name_start): Update decl.
2930 (GOMP_critical_name_end): Likewise.
2931 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
2932 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
2934 2005-09-20 Richard Henderson <rth@redhat.com>
2936 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
2937 (create_lock_lock): New.
2938 (initialize_critical): Initialize it.
2939 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
2940 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
2942 2005-09-20 Diego Novillo <dnovillo@redhat.com>
2944 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
2946 2005-09-20 Diego Novillo <dnovillo@redhat.com>
2948 * testsuite/libgomp.dg/omp-loop01.c: New test.
2949 * testsuite/libgomp.dg/omp-loop02.c: New test.
2951 2005-09-20 Jakub Jelinek <jakub@redhat.com>
2953 * configure.ac (AC_PROG_FC): Add.
2954 (USE_FORTRAN): New automake conditional.
2955 * configure: Rebuilt.
2956 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
2957 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
2958 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
2959 Add rules to build them.
2960 * Makefile.in: Rebuilt.
2961 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
2963 * libgomp.map: Add Fortran wrappers.
2964 * libgomp_f.h.in: New file.
2965 * omp_lib.h.in: New file.
2966 * omp_lib.f90.in: New file.
2967 * fortran.c: New file.
2968 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
2969 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
2970 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
2971 libgfortran has been built.
2972 * testsuite/libgomp.fortran/fortran.exp: New file.
2973 * testsuite/libgomp.fortran/omp_cond1.f: New test.
2974 * testsuite/libgomp.fortran/omp_cond2.f: New test.
2975 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
2976 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
2977 * testsuite/libgomp.fortran/omp_hello.f: New test.
2978 * testsuite/libgomp.fortran/omp_orphan.f: New test.
2979 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
2980 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
2981 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
2982 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
2983 * testsuite/libgomp.fortran/omp_reduction.f: New test.
2984 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
2985 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
2987 2005-08-30 Richard Henderson <rth@redhat.com>
2989 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
2990 function for when aliases are not usable.
2991 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
2992 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
2993 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
2994 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
2995 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
2996 GOMP_loop_ordered_guided_next): Likewise.
2997 * ordered.c (GOMP_ordered_start): Likewise.
2999 2005-08-01 Diego Novillo <dnovillo@redhat.com>
3001 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
3002 * testsuite/libgomp.dg/omp_hello.c: Fix return code
3003 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
3004 * testsuite/libgomp.dg/omp_orphan.c: Likewise
3005 * testsuite/libgomp.dg/omp_reduction.c: Likewise
3006 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
3007 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
3008 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
3009 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
3011 2005-07-07 Eric Christopher <echristo@redhat.com>
3012 Diego Novillo <dnovillo@redhat.com>
3014 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
3015 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
3017 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
3018 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
3019 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
3020 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
3021 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
3022 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
3023 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
3025 2005-06-13 Diego Novillo <dnovillo@redhat.com>
3027 * TOPLEVEL.patch: Remove.
3029 2005-05-16 Richard Henderson <rth@redhat.com>
3031 * configure.ac: Test for clock_gettime.
3032 * config.h.in, configure: Rebuild.
3033 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
3034 (omp_get_wtime): Use clock_gettime if available.
3035 (omp_get_wtick): Use clock_getres if available.
3037 2005-05-11 Richard Henderson <rth@redhat.com>
3039 * config/linux/ia64/futex.h: New file.
3040 * configure.tgt: Use it.
3042 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
3044 2005-05-07 Richard Henderson <rth@redhat.com>
3046 * config/linux/powerpc/futex.h: New file.
3047 * configure.tgt: Use it.
3049 * config/linux/i486/futex.h: Merge ...
3050 * config/linux/x86_64/futex.h: ... into ...
3051 * config/linux/x86/futex.h: ... here.
3052 * configure.tgt: Update to match.
3054 2005-05-06 Richard Henderson <rth@redhat.com>
3056 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
3057 * config/linux/i486/futex.h: Likewise.
3058 * config/linux/x86_64/futex.h: Likewise.
3060 * config/linux/lock.c: New file.
3061 * config/linux/omp-lock.h: New file.
3063 * critical.c, env.h: Don't include omp.h
3064 * config/posix/lock.c: Include libgomp.h instead of omp.h.
3065 * config/posix/time.c: Likewise.
3066 * config/posix/omp-lock.h: New file.
3067 * libgomp.h: Include omp-lock.h and omp.h.
3068 * Makefile.am (nodist_include_HEADERS): New.
3070 * configure.ac (PERL): New.
3071 * mkomp_h.pl: New file.
3072 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
3074 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
3076 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
3077 build directory. Re-add -march=i486 hack.
3079 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
3080 (libgomp_link_flags): Remove.
3081 (libgomp_initialized): Remove.
3082 (libgomp_init): Don't protect from reinitialization. Copy code
3083 from libstdc++ for getting the multilib set correctly.
3085 2005-05-05 Richard Henderson <rth@redhat.com>
3087 * config/linux/alpha/futex.h: New file.
3088 * configure.tgt (alpha*-*-linux*): Use it.
3090 * config/posix/mutex.c: New file.
3091 * config/posix/sem.c: Use libgomp.h.
3093 * configure.tgt (x86_64-linux): Also test CC for -m32.
3094 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
3096 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
3099 * Makefile.am (SUBDIRS): New.
3100 (libgomp_la_LDFLAGS): Add -lpthread.
3101 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
3102 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
3104 * libgomp_g.h: New file.
3105 * libgomp.h: Split out all public declarations to libgomp_g.h.
3106 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
3107 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
3108 * config/linux/sem.h: Likewise.
3109 * config/posix/sem.h: Likewise.
3111 * Makefile.am (AM_LDFLAGS): New.
3112 (libgomp_version_script): Split out from ...
3113 (libgomp_la_LDFLAGS): ... here.
3114 (libgomp_version_info): New.
3115 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
3116 (LIBGOMP_ENABLE): New.
3117 (LIBGOMP_CHECK_LINKER_FEATURES): New.
3118 (LIBGOMP_ENABLE_SYMVERS): New.
3119 * configure.ac (AC_INIT): Version 1.0.
3120 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
3121 (enable-linux-futex): Likewise. Rename from enable-futex.
3122 (libtool_VERSION): New.
3123 (LIBGOMP_ENABLE_SYMVERS): Use it.
3124 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
3125 * Makefile.in, aclocal.m4, configure: Rebuild.
3127 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
3128 (gomp_mutex_unlock_slow): Fix typo.
3129 * config/linux/sem.c: Similarly.
3130 (gomp_sem_post_slow): Fix typo.
3131 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
3132 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
3133 [__PIC__] (sys_futex0): Don't use tmp output in asm.
3135 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
3136 (libgomp_la_LDFLAGS): Add top_srcdir to path.
3137 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
3138 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
3139 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
3140 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
3141 LDFLAGS. Pull enable_futex check to top-level.
3142 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
3143 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
3145 First attempt at real configury.
3146 * Makefile, config.h: Remove file.
3147 * Makefile.am, Makefile.in: New file.
3148 * acinclude.m4 aclocal.m4: New file.
3149 * configure.ac, configure.tgt, configure: New file.
3151 * config/posix/lock.c: Rename from sys-lock.c.
3152 * config/posix/mutex.h: Rename from sys-mutex.h.
3153 * config/posix/sem.c: Rename from sys-sem.c.
3154 * config/posix/sem.h: Rename from sys-sem.h.
3155 * config/posix/proc.c: Rename from sys-proc.c.
3156 * config/posix/time.c: Rename from sys-proc.c.
3158 * config/linux/mutex.c: New file.
3159 * config/linux/mutex.h: New file.
3160 * config/linux/sem.c: New file.
3161 * config/linux/sem.h: New file.
3162 * config/linux/i486/futex.h: New file.
3163 * config/linux/x86_64/futex.h: New file.
3165 2005-05-04 Richard Henderson <rth@redhat.com>
3167 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
3168 * libgomp.h: Declare them.
3169 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
3170 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
3172 2005-05-04 Richard Henderson <rth@redhat.com>
3174 * libgomp-1 code drop
3176 2005-05-04 Richard Henderson <rth@redhat.com>
3178 * iter.c (gomp_iter_static_next): Return tri-state on 0.
3179 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
3180 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
3181 (gomp_iter_static_next): Update.
3182 (gomp_ordered_static_next): Update.
3183 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
3184 (gomp_loop_ordered_static_start): Likewise. Exit early for a
3185 totally empty range.
3186 (gomp_loop_ordered_static_next): Refine test for calling
3187 gomp_ordered_static_next.
3188 * testsuite/ordered-1.c: Add case for more threads than iterations.
3190 * iter.c (gomp_iter_runtime_next_locked): Remove.
3191 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
3192 gomp_loop_guided_start, gomp_loop_ordered_static_start,
3193 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3194 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
3195 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
3196 gomp_loop_ordered_guided_next): Downcase name, make static, add
3197 an external alias with the old name.
3198 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3199 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
3200 switch and call one of the above static functions.
3201 * libgomp.h: Update.
3203 * work.c (gomp_work_share_start): Lock the mutex for !first too.
3204 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
3205 GOMP_loop_guided_start, GOMP_loop_runtime_start,
3206 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
3207 GOMP_loop_ordered_guided_start): Update to match.
3208 * sections.c (GOMP_sections_start): Likewise.
3209 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
3211 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
3212 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
3213 Use bounds check instead of modulus.
3214 (gomp_ordered_sync): Split out of GOMP_ordered_start.
3215 (gomp_ordered_last): Don't sync with ordered_owner here.
3216 (gomp_ordered_next): Likewise.
3217 (gomp_ordered_static_loop_next): Likewise.
3218 * loop.c, libgomp.h: Update to match.
3220 * libgomp.h (GOMP_barrier): Declare.
3222 * testsuite/barrier-1.c: New file.
3223 * testsuite/critical-1.c: New file.
3224 * testsuite/ordered-2.c: New file.
3225 * testsuite/ordered-1.c: New file.
3226 * testsuite/sections-1.c: New file.
3227 * testsuite/single-1.c: New file.
3228 * testsuite/Makefile (TESTS): Add them.
3230 2005-05-04 Richard Henderson <rth@redhat.com>
3232 * libgomp.h (struct gomp_work_share): Add ordered_owner.
3233 * loop.c (GOMP_loop_static_start): If not the startup thread,
3234 acquire the mutex to wait for initialization complete.
3235 (GOMP_loop_ordered_static_start): Likewise.
3236 (GOMP_loop_ordered_runtime_start): Likewise.
3237 (GOMP_loop_ordered_static_first): Remove.
3238 (GOMP_loop_ordered_dynamic_first): Remove.
3239 (GOMP_loop_ordered_guided_first): Remove.
3240 (GOMP_loop_ordered_runtime_first): Remove.
3241 * ordered.c (gomp_ordered_loop_first): Post to own release when
3242 we're the first thread.
3243 (gomp_ordered_loop_last): Wait on release if not owner.
3244 (gomp_ordered_loop_next): Likewise.
3245 (gomp_ordered_static_loop_init): New.
3246 (gomp_ordered_static_loop_next): Use ordered_owner.
3247 (GOMP_ordered_start): Likewise.
3248 * work.c (gomp_new_work_share): Initialize ordered_owner.
3250 2005-05-03 Richard Henderson <rth@redhat.com>
3252 * Makefile (OPT): New.
3255 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
3256 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
3257 * libgomp.h, libgomp.map, NOTES: Update to match.
3259 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
3260 Add initialized and thr members.
3261 (gomp_thread_start): Pause when initially spawned to wait for
3262 the whole team to be created.
3263 (gomp_team_start): Release team members at the end.
3265 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
3266 (f_foo_1): Use GOMP_loop_end.
3267 (f_foo_2): Use GOMP_loop_end_nowait.
3269 * testsuite/loop-2.c: New file.
3270 * testsuite/Makefile (TESTS): Add it.
3272 2005-05-03 Richard Henderson <rth@redhat.com>
3274 * iter.c (gomp_iter_static_next): Fix overflow check typo.
3275 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
3276 * team.c (new_team): Initialize oldest_live_gen to 1 if no
3279 * testsuite/Makefile: New file.
3280 * testsuite/loop-1.c: New file.
3282 2005-05-03 Richard Henderson <rth@redhat.com>
3284 Initial implementation and checkin.