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