OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libgomp/] [ChangeLog] - Blame information for rev 281

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 273 jeremybenn
2010-07-31  Release Manager
2
 
3
        * GCC 4.5.1 released.
4
 
5
2010-06-10  Iain Sandoe  
6
 
7
        PR bootstrap/43170
8
        * configure: Regenerate.
9
 
10
2010-04-26  Jakub Jelinek  
11
 
12
        PR c/43893
13
        * testsuite/libgomp.c/pr43893.c: New test.
14
        * testsuite/libgomp.c++/pr43893.C: New test.
15
 
16
2010-04-21  Jakub Jelinek  
17
 
18
        PR middle-end/43570
19
        * testsuite/libgomp.fortran/vla8.f90: New test.
20
 
21
        PR libgomp/43706
22
        * config/linux/affinity.c (gomp_init_affinity): Decrease
23
        gomp_available_cpus if affinity mask confines the process to fewer
24
        CPUs.
25
        * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
26
        non-NULL, just return gomp_available_cpus.
27
 
28
        PR libgomp/43569
29
        * sections.c (gomp_sections_init): Initialize ws->mode.
30
 
31
2010-04-14  Release Manager
32
 
33
        * GCC 4.5.0 released.
34
 
35
2010-04-02  Ralf Wildenhues  
36
 
37
        * Makefile.in: Regenerate.
38
        * aclocal.m4: Regenerate.
39
        * testsuite/Makefile.in: Regenerate.
40
 
41
2010-03-22  Jakub Jelinek  
42
 
43
        PR libgomp/42942
44
        * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
45
        (initialize_env): Adjust callers.
46
        (omp_set_max_active_levels): Set gomp_max_active_levels_var even
47
        when the argument is 0.
48
 
49
        * testsuite/libgomp.c/pr42942.c: New test.
50
 
51
2010-03-08  Tobias Grosser  
52
 
53
        PR middle-end/42644
54
        PR middle-end/42130
55
        * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
56
        * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
57
 
58
2010-01-29  Rainer Orth  
59
 
60
        * testsuite/libgomp.c++/task-1.C: Renamed err to e.
61
        * testsuite/libgomp.c++/task-6.C: Likewise.
62
 
63
2010-01-28  Steve Ellcey  
64
 
65
        * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
66
 
67
2010-01-26  Paolo Bonzini  
68
 
69
        * configure.ac: Test for executability of _the first word_ of GFORTRAN.
70
        * configure: Regenerate.
71
 
72
2010-01-26  Jakub Jelinek  
73
 
74
        PR fortran/42866
75
        * testsuite/libgomp.fortran/allocatable5.f90: New test.
76
 
77
2010-01-20  Paolo Bonzini  
78
 
79
        * configure.ac: Test for executability of GFORTRAN.
80
        * configure: Regenerate.
81
 
82
2010-01-05  Rainer Orth  
83
 
84
        * configure: Regenerate.
85
 
86
2010-01-04  H.J. Lu  
87
 
88
        PR libgomp/42602
89
        * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
90
 
91
2010-01-03  Richard Guenther  
92
 
93
        * testsuite/libgomp.fortran/recursion1.f90: New testcase.
94
 
95
2009-12-23  Sebastian Pop  
96
 
97
        * testsuite/libgomp.graphite/pr4118.c: New.
98
 
99
2009-12-22  Iain Sandoe  
100
 
101
        * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
102
        for darwin, protect the test with require-effective-target tls_runtime.
103
        * testsuite/libgomp.fortran/pr32550.f90: Ditto.
104
 
105
2009-12-22  Iain Sandoe  
106
 
107
        PR target/41605
108
        * testsuite/lib/libgomp.exp: Provide -B options to allow for
109
        link spec %s substitutions for static libraries.
110
 
111
2009-12-18  Jack Howarth 
112
 
113
        PR testsuite/42135
114
        * libgomp.graphite/force-parallel-2.c: Reduce array size.
115
 
116
2009-12-05  Ralf Wildenhues  
117
 
118
        * Makefile.in: Regenerate.
119
        * configure: Regenerate.
120
        * testsuite/Makefile.in: Regenerate.
121
 
122
2009-11-30  Dave Korn  
123
 
124
        * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
125
        settings for LC_ALL and LANG.
126
 
127
2009-11-25  Jakub Jelinek  
128
 
129
        PR fortran/42162
130
        * testsuite/libgomp.fortran/pr42162.f90: New test.
131
 
132
2009-11-13  Jakub Jelinek  
133
 
134
        PR middle-end/42029
135
        * testsuite/libgomp.c/pr42029.c: New test.
136
 
137
2009-10-26  Jakub Jelinek  
138
 
139
        * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
140
        *s.  Accept ld version without text in ()s.
141
        * configure: Regenerated.
142
 
143
2009-10-22  Razya Ladelsky  
144
 
145
        * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
146
 
147
2009-10-17  Ralf Wildenhues  
148
 
149
        PR libgomp/41418
150
        * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
151
        or a hyphen (happens with fortran language disabled).
152
        * configure: Regenerate.
153
 
154
2009-09-30  Ralf Wildenhues  
155
 
156
        * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
157
        use sed script portable to Solaris /bin/sed for extracting ld
158
        version.
159
        * configure: Regenerate.
160
 
161
2009-09-17  Alexander Monakov  
162
 
163
        * testsuite/libgomp.graphite/bounds.c: New test.
164
 
165
2009-09-11  Ralf Wildenhues  
166
 
167
        * Makefile.am (libgomp_la_LINK): New.
168
        * Makefile.in: Regenerate.
169
 
170
2009-08-24  Ralf Wildenhues  
171
 
172
        * configure.ac (AC_PREREQ): Bump to 2.64.
173
 
174
2009-08-22  Ralf Wildenhues  
175
 
176
        * Makefile.am (install-html, install-pdf): Remove.
177
        * Makefile.in: Regenerate.
178
 
179
        * Makefile.in: Regenerate.
180
        * aclocal.m4: Regenerate.
181
        * config.h.in: Regenerate.
182
        * configure: Regenerate.
183
        * testsuite/Makefile.in: Regenerate.
184
 
185
2009-08-22  Ralf Wildenhues  
186
 
187
        * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
188
        * Makefile.in: Regenerate.
189
 
190
2009-08-20  Dave Korn  
191
 
192
        * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
193
        * Makefile.in: Regenerate.
194
 
195
2009-08-19  Tobias Burnus  
196
 
197
        PR fortran/41102
198
        omp_lib.h.in: Fix -std=f95 errors.
199
 
200
 
201
2009-08-14  David Edelsohn  
202
 
203
        * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
204
        * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
205
        * testsuite/libgomp.graphite/graphite.exp: New.
206
 
207
2009-08-05  Andreas Tobler  
208
 
209
        * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
210
        only build.
211
 
212
2009-08-04  David Daney  
213
 
214
        * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
215
        needed memory barrier semantics.
216
        * config/linux/mips/mutex.h: New file.
217
 
218
2009-07-30  Ralf Wildenhues  
219
 
220
        * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
221
 
222
2009-07-16  Joseph Myers  
223
 
224
        * configure: Regenerate.
225
 
226
2009-07-11  Richard Sandiford  
227
 
228
        PR testsuite/40699
229
        PR testsuite/40707
230
        PR testsuite/40709
231
        * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
232
        * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
233
        testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
234
 
235
2009-07-02  Richard Sandiford  
236
 
237
        * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
238
        options when choosing a multilib.
239
 
240
2009-06-30  Richard Sandiford  
241
 
242
        * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
243
        ld_library_path.  Use add_path.  Add just find_libgcc_s to
244
        ld_library_path, not every libgcc multilib directory.
245
        * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
246
        gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
247
        * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
248
        Use add_path.
249
        * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
250
 
251
2009-06-09  Nathan Froyd  
252
 
253
        * Makefile.am (LTLDFLAGS): Define.
254
        (LINK): Define.
255
        * Makefile.in: Regenerate.
256
 
257
2009-05-27  Janne Blomqvist  
258
 
259
        PR fortran/39718
260
        * testsuite/libgomp.fortran/fortran.exp: Don't link with
261
        libgfortranbegin, check existence of libgfortran.a instead of
262
        libgfortranbegin.a.
263
 
264
2009-05-20  Jakub Jelinek  
265
 
266
        PR libgomp/40174
267
        * team.c (gomp_thread_start): Destroy thr->release semaphore.
268
        (gomp_free_pool_helper): Likewise.
269
 
270
2009-04-20  Vasilis Liaskovitis  
271
            Jakub Jelinek  
272
 
273
        PR fortran/35423
274
        * testsuite/libgomp.fortran/workshare2.f90: New test.
275
 
276
2009-04-09  Nick Clifton  
277
 
278
        * iter.c: Change copyright header to refer to version 3 of the
279
        GNU General Public License with version 3.1 of the GCC Runtime
280
        Library Exception and to point readers at the COPYING3 and
281
        COPYING3.RUNTIME files and the FSF's license web page.
282
        * alloc.c: Likewise.
283
        * barrier.c: Likewise.
284
        * config/bsd/proc.c: Likewise.
285
        * config/linux/affinity.c: Likewise.
286
        * config/linux/alpha/futex.h: Likewise.
287
        * config/linux/bar.c: Likewise.
288
        * config/linux/bar.h: Likewise.
289
        * config/linux/ia64/futex.h: Likewise.
290
        * config/linux/ia64/mutex.h: Likewise.
291
        * config/linux/lock.c: Likewise.
292
        * config/linux/mips/futex.h: Likewise.
293
        * config/linux/mutex.c: Likewise.
294
        * config/linux/mutex.h: Likewise.
295
        * config/linux/powerpc/futex.h: Likewise.
296
        * config/linux/proc.c: Likewise.
297
        * config/linux/ptrlock.c: Likewise.
298
        * config/linux/ptrlock.h: Likewise.
299
        * config/linux/s390/futex.h: Likewise.
300
        * config/linux/sem.c: Likewise.
301
        * config/linux/sem.h: Likewise.
302
        * config/linux/sparc/futex.h: Likewise.
303
        * config/linux/wait.h: Likewise.
304
        * config/linux/x86/futex.h: Likewise.
305
        * config/mingw32/proc.c: Likewise.
306
        * config/mingw32/time.c: Likewise.
307
        * config/posix/affinity.c: Likewise.
308
        * config/posix/bar.c: Likewise.
309
        * config/posix/bar.h: Likewise.
310
        * config/posix/lock.c: Likewise.
311
        * config/posix/mutex.h: Likewise.
312
        * config/posix/proc.c: Likewise.
313
        * config/posix/ptrlock.h: Likewise.
314
        * config/posix/sem.c: Likewise.
315
        * config/posix/sem.h: Likewise.
316
        * config/posix/time.c: Likewise.
317
        * config/posix95/lock.c: Likewise.
318
        * critical.c: Likewise.
319
        * env.c: Likewise.
320
        * error.c: Likewise.
321
        * fortran.c: Likewise.
322
        * iter_ull.c: Likewise.
323
        * libgomp.h: Likewise.
324
        * libgomp_f.h.in: Likewise.
325
        * libgomp_g.h: Likewise.
326
        * loop.c: Likewise.
327
        * loop_ull.c: Likewise.
328
        * omp.h.in: Likewise.
329
        * omp_lib.f90.in: Likewise.
330
        * omp_lib.h.in: Likewise.
331
        * ordered.c: Likewise.
332
        * parallel.c: Likewise.
333
        * sections.c: Likewise.
334
        * single.c: Likewise.
335
        * task.c: Likewise.
336
        * team.c: Likewise.
337
        * work.c: Likewise.
338
 
339
2009-04-09  Jakub Jelinek  
340
 
341
        * testsuite/config/default.exp: Change copyright header to refer to
342
        version 3 of the GNU General Public License and to point readers
343
        at the COPYING3 file and the FSF's license web page.
344
 
345
2009-04-08  Jakub Jelinek  
346
 
347
        PR middle-end/39573
348
        * libgomp.c++/pr39573.C: New test.
349
 
350
2009-04-01  Jakub Jelinek  
351
 
352
        PR other/39591
353
        * testsuite/libgomp.c/pr39591-1.c: New test.
354
        * testsuite/libgomp.c/pr39591-2.c: New test.
355
        * testsuite/libgomp.c/pr39591-3.c: New test.
356
 
357
2009-03-25  Uros Bizjak  
358
 
359
        * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
360
        * testsuite/libgomp.c/atomic-6.c: Ditto.
361
 
362
2009-03-23  Jakub Jelinek  
363
 
364
        PR c/39495
365
        * testsuite/libgomp.c/loop-12.c: New test.
366
        * testsuite/libgomp.c/loop-11.c: New test.
367
        * testsuite/libgomp.c++/loop-11.C: New test.
368
        * testsuite/libgomp.c++/loop-12.C: New test.
369
        * testsuite/libgomp.c++/for-8.C: New test.
370
 
371
2009-03-01  Ralf Wildenhues  
372
 
373
        * configure: Regenerate.
374
 
375
2009-02-11  Jakub Jelinek  
376
 
377
        PR middle-end/39154
378
        * testsuite/libgomp.c/pr39154.c: New test.
379
 
380
2009-01-30  Ian Lance Taylor  
381
 
382
        * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
383
        libgomp_ld_is_gold.  Get gold version number.
384
        (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
385
        * configure: Rebuild.
386
 
387
2009-01-19  Iain Sandoe  
388
 
389
        * testsuite/lib/libgomp.exp: Add -B option for targets that
390
        use libgfortran.a%s in their specs.
391
 
392
2009-01-07  Jakub Jelinek  
393
 
394
        PR libgomp/38086
395
        * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
396
        * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
397
        HAVE_AS_SYMVER_DIRECTIVE is not defined.
398
        * configure: Regenerated.
399
        * config.h.in: Likewise.
400
 
401
2008-12-28  Jakub Jelinek  
402
 
403
        PR c++/38650
404
        * testsuite/libgomp.c/pr38650.c: New test.
405
        * testsuite/libgomp.c++/pr38650.C: New test.
406
 
407
2008-12-27  Jakub Jelinek  
408
 
409
        * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
410
 
411
2008-12-26  Uros Bizjak  
412
 
413
        * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
414
 
415
2008-12-18  Ralf Wildenhues  
416
 
417
        * configure: Regenerate.
418
 
419
2008-12-08  Jakub Jelinek  
420
 
421
        PR middle-end/36802
422
        * testsuite/libgomp.c/pr36802-1.c: New test.
423
        * testsuite/libgomp.c/pr36802-2.c: New test.
424
        * testsuite/libgomp.c/pr36802-3.c: New test.
425
 
426
2008-12-01  Janis Johnson  
427
 
428
        PR libgomp/38270
429
        * config/linux/powerpc/mutex.h: New.
430
 
431
2008-12-01  Jakub Jelinek  
432
 
433
        PR c++/38257
434
        * testsuite/libgomp.c++/for-7.C: New test.
435
 
436
        PR c++/38348
437
        * testsuite/libgomp.c++/for-6.C: New test.
438
 
439
2008-11-26  Janis Johnson  
440
 
441
        PR testsuite/28870
442
        * testsuite/lib/libgomp.exp: Include new timeout library files.
443
        (libgomp_target_compile): Set timeout value from new proc.
444
 
445
2008-11-13  Steve Ellcey  
446
 
447
        PR libgomp/37938
448
        * config/linux/ia64/mutex.h: New.
449
 
450
2008-11-04  Tobias Burnus  
451
 
452
        PR libgomp/37935
453
        * libgomp.texi (Runtime library routines, environment variables):
454
        Update for OpenMP version 3.0.
455
 
456
2008-09-26  Peter O'Gorman  
457
            Steve Ellcey  
458
 
459
        * configure: Regenerate for new libtool.
460
        * Makefile.in: Ditto.
461
        * testsuite/Makefile.in: Ditto.
462
 
463
2008-09-19  Jakub Jelinek  
464
            Andreas Tobler  
465
 
466
        * config/bsd/proc.c: New file.
467
        * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
468
        * configure.ac: Check for header 
469
        * configure: Regenerate.
470
        * config.h.in: Likewise.
471
 
472
2008-09-05  Janis Johnson  
473
 
474
        * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
475
 
476
2008-08-31  Aaron W. LaFramboise  
477
 
478
        * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
479
        * Makefile.in: Regenerated.
480
        * testsuite/Makefile.in: Regenerated.
481
 
482
2008-08-21  Nathan Froyd  
483
 
484
        * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
485
        depend on blddir if blddir exists.
486
        (libgomp_target_compile): Likewise.
487
        * testsuite/libgomp.c++/c++.exp: Likewise.
488
        * testsuite/libgomp.fortran/fortran.exp: Likewise.
489
 
490
2008-07-30  Ralf Wildenhues  
491
 
492
        * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
493
        Do not list GPL as Invariant Section.
494
 
495
2008-07-28  Ilie Garbacea  
496
            Chao-ying Fu  
497
 
498
        * configure.tgt: Enable futex for MIPS.
499
        * config/linux/mips/futex.h: New file.
500
 
501
2008-07-16  Jakub Jelinek  
502
 
503
        * team.c (gomp_team_end): Free team immediately if it has
504
        just one thread.
505
 
506
2008-07-08  David Edelsohn  
507
 
508
        * testsuite/libgomp.c++/c++.exp: Append multilib library path.
509
        * testsuite/libgomp.fortran/fortran.exp: Same.
510
        * testsuite/libgomp.c/c.exp: Same.
511
        * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
512
        directory to library path first.
513
 
514
2008-06-29  Krister Walfridsson  
515
 
516
        * env.c (parse_stacksize): Add cast to avoid warning.
517
        (parse_spincount): Likewise.
518
 
519
2008-06-27  Jakub Jelinek  
520
 
521
        * testsuite/libgomp.c/loop-10.c: New test.
522
        * libgomp.c/loop-3.c (main): Add lastprivate clause.
523
        * libgomp.c++/loop-6.C (main): Likewise.
524
 
525
        PR debug/36617
526
        * testsuite/libgomp.c/debug-1.c: New test.
527
 
528
2008-06-19  Jakub Jelinek  
529
 
530
        * testsuite/libgomp.c/nqueens-1.c: New test.
531
 
532
        PR c++/36523
533
        * testsuite/libgomp.c++/task-7.C: New function.
534
 
535
2008-06-17  Ralf Wildenhues  
536
 
537
        * configure: Regenerate.
538
 
539
2008-06-15  John David Anglin  
540
 
541
        * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
542
        mutex when HAVE_SYNC_BUILTINS isn't defined.
543
 
544
2008-06-15  Ralf Wildenhues  
545
 
546
        * libgomp.texi (omp_test_lock): Fix typo.
547
 
548
2008-06-12  Tobias Burnus  
549
 
550
        * omp_lib.f90.in: Add "implicit none".
551
 
552
2008-06-12  Jakub Jelinek  
553
 
554
        PR middle-end/36506
555
        * testsuite/libgomp.c/reduction-5.c: New test.
556
 
557
2008-06-11  Jakub Jelinek  
558
 
559
        * libgomp.h (struct gomp_task): Add in_tied_task field.
560
        * task.c (gomp_init_task): Initialize it.
561
        (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
562
        unconditionally.  Don't call gomp_team_barrier_wake if
563
        current task is implicit or if(0) from implicit and number of
564
        running tasks is equal to nthreads - 1.
565
 
566
        PR libgomp/36471
567
        * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
568
        omp_get_team_size_8): Fix pastos.
569
 
570
        PR libgomp/36469
571
        * configure.ac: Add AC_CHECK_FUNCS (strtoull).
572
        * configure: Regenerated.
573
        * config.h.in: Regenerated.
574
        * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
575
        defined.
576
 
577
2008-06-06  Andreas Tobler  
578
 
579
        PR bootstrap/36452
580
        * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
581
        (GOMP_loop_ull_dynamic_start): Likewise.
582
        (GOMP_loop_ull_guided_start): Likewise.
583
        (GOMP_loop_ull_ordered_static_start): Likewise.
584
        (GOMP_loop_ull_ordered_dynamic_start): Likewise.
585
        (GOMP_loop_ull_ordered_guided_start): Likewise.
586
 
587
2008-06-06  Jakub Jelinek  
588
            Richard Henderson  
589
            Ulrich Drepper  
590
            Jakob Blomer  
591
 
592
        * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
593
        Substitute also OMP_*LOCK_25*.
594
        * configure: Regenerated.
595
        * config.h.in: Regenerated.
596
        * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
597
        ptrlock.c and task.c.
598
        * Makefile.in: Regenerated.
599
        * testsuite/Makefile.in: Regenerated.
600
        * task.c: New file.
601
        * loop_ull.c: New file.
602
        * iter_ull.c: New file.
603
        * libgomp.h: Include ptrlock.h.
604
        (enum gomp_task_kind): New type.
605
        (struct gomp_team): Add task_lock, task_queue, task_count,
606
        task_running_count, single_count fields.  Add
607
        work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
608
        Remove work_share_lock, generation_mask,
609
        oldest_live_gen, num_live_gen and init_work_shares fields, add
610
        work work_share_list_alloc, work_share_list_free and work_share_chunk
611
        fields.  Change work_shares from pointer to pointers into an array.
612
        Change ordered_release field into gomp_sem_t ** from flexible array
613
        member.  Add implicit_task and initial_work_shares fields.
614
        Move close to the end of the struct.
615
        (struct gomp_team_state): Add single_count, last_work_share,
616
        active_level and level fields, remove work_share_generation.
617
        (gomp_barrier_handle_tasks): New prototype.
618
        (gomp_finish_task): New inline function.
619
        (struct gomp_work_share): Move chunk_size, end, incr into
620
        transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
621
        next_ll fields.  Reshuffle fields.  Add next_alloc,
622
        next_ws, next_free and inline_ordered_team_ids fields, change
623
        ordered_team_ids into pointer from flexible array member.
624
        Add mode field.  Put lock and next into a different cache line
625
        from most of the write-once fields.
626
        (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
627
        gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
628
        gomp_iter_ull_guided_next): New prototypes.
629
        (gomp_new_icv): New prototype.
630
        (struct gomp_thread): Add thread_pool and task fields.
631
        (struct gomp_thread_pool): New type.
632
        (gomp_new_team): New prototype.
633
        (gomp_team_start): Change type of last argument.
634
        (gomp_new_work_share): Removed.
635
        (gomp_init_work_share, gomp_fini_work_share): New prototypes.
636
        (gomp_work_share_init_done): New static inline.
637
        (gomp_throttled_spin_count_var, gomp_available_cpus,
638
        gomp_managed_threads): New extern decls.
639
        (gomp_init_task): New prototype.
640
        (gomp_spin_count_var): New extern var decl.
641
        (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
642
        or no alias support, or if not PIC.
643
        (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
644
        gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
645
        gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
646
        gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
647
        gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
648
        gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
649
        gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
650
        gomp_test_nest_lock_25): New prototypes.
651
        (omp_lock_symver, strong_alias): Define.
652
        (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
653
        decls.
654
        (gomp_end_task): New.
655
        (struct gomp_task_icv, gomp_global_icv): New.
656
        (gomp_thread_limit_var, gomp_max_active_levels_var): New.
657
        (struct gomp_task): New.
658
        (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
659
        gomp_run_sched_var, gomp_run_sched_chunk): Remove.
660
        (gomp_icv): New.
661
        (gomp_schedule_type): Reorder enum to match
662
        omp_sched_t.
663
        * team.c (struct gomp_thread_start_data): Add thread_pool and task
664
        fields.
665
        (gomp_thread_start): Add gomp_team_barrier_wait call.
666
        For non-nested case remove clearing of docked thread thr fields.
667
        Use pool fields instead of global gomp_* variables.  Use
668
        gomp_barrier_wait_last when needed.  Initialize ts.active_level.
669
        Create tasks for each member thread.
670
        (free_team): Only destroy team barrier, task_lock here and free it.
671
        (gomp_free_thread): Free last_team if non-NULL.
672
        (gomp_team_end): Call gomp_team_barrier_wait instead of
673
        gomp_barrier_wait.  For nested case call one extra
674
        gomp_barrier_wait.  Move here some destruction from free_team.
675
        Call free_team on pool->last_team if any, rather than freeing
676
        current team.  Destroy work_share_list_free_lock ifndef
677
        HAVE_SYNC_BUILTINS.
678
        (gomp_new_icv): New function.
679
        (gomp_threads, gomp_threads_size, gomp_threads_used,
680
        gomp_threads_dock): Removed.
681
        (gomp_thread_destructor): New variable.
682
        (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
683
        functions.
684
        (gomp_team_start): Create new pool if current thread doesn't have
685
        one.  Use pool fields instead of global gomp_* variables.
686
        Initialize thread_pool field for new threads.  Clear single_count.
687
        Change last argument from ws to team, don't create
688
        new team, set ts.work_share to &team->work_shares[0] and clear
689
        ts.last_work_share.  Don't clear ts.work_share_generation.
690
        If number of threads changed, adjust atomically gomp_managed_threads.
691
        Use gomp_init_task instead of gomp_new_task,
692
        set thr->task to the corresponding implicit_task array entry.
693
        Create tasks for each member thread.  Initialize ts.level.
694
        (initialize_team): Call pthread_key_create on
695
        gomp_thread_destructor.
696
        (team_destructor): New function.
697
        (new_team): Removed.
698
        (gomp_new_team): New function.
699
        (free_team): Free gomp_work_share blocks chained through next_alloc,
700
        instead of freeing work_shares and destroying work_share_lock.
701
        (gomp_team_end): Call gomp_fini_work_share.  If number of threads
702
        changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
703
        * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
704
        of gomp_barrier_wait.
705
        * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
706
        instead of gomp_barrier_wait.  Call gomp_work_share_init_done
707
        if gomp_work_share_start returned true.  Don't unlock ws->lock.
708
        (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
709
        of gomp_barrier_wait.
710
        (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
711
        gomp_work_share_init_done if gomp_work_share_start returned true.
712
        Don't unlock ws->lock.
713
        * work.c: Include stddef.h.
714
        (free_work_share): Use work_share_list_free_lock instead
715
        of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
716
        Call gomp_fini_work_share and then either free ws if orphaned, or
717
        put it into work_share_list_free list of the current team.
718
        (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
719
        functions.
720
        (gomp_work_share_start, gomp_work_share_end,
721
        gomp_work_share_end_nowait): Rewritten.
722
        * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
723
        (openmp_version): Set to 200805.
724
        (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
725
        omp_sched_guided, omp_sched_auto): New parameters.
726
        (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
727
        omp_set_max_active_levels, omp_get_max_active_levels,
728
        omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
729
        omp_get_active_level): New interfaces.
730
        * omp_lib.h.in (openmp_version): Set to 200805.
731
        (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
732
        omp_sched_guided, omp_sched_auto): New parameters.
733
        (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
734
        omp_set_max_active_levels, omp_get_max_active_levels,
735
        omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
736
        omp_get_active_level): New externals.
737
        * loop.c: Include limits.h.
738
        (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
739
        GFS_AUTO.
740
        (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
741
        Likewise.  Use gomp_icv.
742
        (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
743
        ts.static_trip here.
744
        (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
745
        gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
746
        (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
747
        gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
748
        don't unlock ws->lock, otherwise lock it.
749
        (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
750
        gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
751
        (gomp_parallel_loop_start): Call gomp_new_team instead of
752
        gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
753
        Adjust gomp_team_start caller.  Pass 0 as second argument to
754
        gomp_resolve_num_threads.
755
        (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
756
        If adding ws->chunk_size nthreads + 1 times after end won't
757
        overflow, set ws->mode to 1.
758
        * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
759
        GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
760
        GOMP_loop_ull_ordered_static_start,
761
        GOMP_loop_ull_ordered_dynamic_start,
762
        GOMP_loop_ull_ordered_guided_start,
763
        GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
764
        GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
765
        GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
766
        GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
767
        GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
768
        prototypes.
769
        * libgomp.map: Export lock routines also @@OMP_2.0.
770
        (GOMP_loop_ordered_dynamic_first,
771
        GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
772
        GOMP_loop_ordered_static_first): Remove.
773
        (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
774
        GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
775
        GOMP_loop_ull_ordered_dynamic_next,
776
        GOMP_loop_ull_ordered_dynamic_start,
777
        GOMP_loop_ull_ordered_guided_next,
778
        GOMP_loop_ull_ordered_guided_start,
779
        GOMP_loop_ull_ordered_runtime_next,
780
        GOMP_loop_ull_ordered_runtime_start,
781
        GOMP_loop_ull_ordered_static_next,
782
        GOMP_loop_ull_ordered_static_start,
783
        GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
784
        GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
785
        GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
786
        (omp_set_schedule, omp_get_schedule,
787
        omp_get_thread_limit, omp_set_max_active_levels,
788
        omp_get_max_active_levels, omp_get_level,
789
        omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
790
        omp_set_schedule_, omp_set_schedule_8_,
791
        omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
792
        omp_set_max_active_levels_, omp_set_max_active_levels_8_,
793
        omp_get_max_active_levels_, omp_get_level_,
794
        omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
795
        omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
796
        New exports @@OMP_3.0.
797
        * omp.h.in (omp_sched_t): New type.
798
        (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
799
        omp_set_max_active_levels, omp_get_max_active_levels,
800
        omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
801
        omp_get_active_level): New prototypes.
802
        * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
803
        gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
804
        gomp_thread_limit_var, gomp_remaining_threads_count,
805
        gomp_remaining_threads_lock): New variables.
806
        (parse_spincount): New function.
807
        (initialize_env): Call gomp_init_num_threads unconditionally.
808
        Initialize gomp_available_cpus.  Call parse_spincount,
809
        initialize gomp_{,throttled_}spin_count_var
810
        depending on presence and value of OMP_WAIT_POLICY and
811
        GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
812
        Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
813
        OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
814
        for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
815
        gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
816
        (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
817
        gomp_run_sched_var, gomp_run_sched_chunk): Remove.
818
        (gomp_global_icv): New.
819
        (parse_schedule): Use it.  Parse "auto".
820
        (omp_set_num_threads): Use gomp_icv.
821
        (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
822
        Likewise.
823
        (omp_get_max_threads): Move from parallel.c.
824
        (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
825
        omp_set_max_active_levels, omp_get_max_active_levels): New functions,
826
        add ialias.
827
        (parse_stacksize, parse_wait_policy): New functions.
828
        * fortran.c: Rewrite lock wrappers, if symbol versioning provide
829
        both wrappers for compatibility and new locks.
830
        (omp_set_schedule, omp_get_schedule,
831
        omp_get_thread_limit, omp_set_max_active_levels,
832
        omp_get_max_active_levels, omp_get_level,
833
        omp_get_ancestor_thread_num, omp_get_team_size,
834
        omp_get_active_level): New ialias_redirect.
835
        (omp_set_schedule_, omp_set_schedule_8_,
836
        omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
837
        omp_set_max_active_levels_, omp_set_max_active_levels_8_,
838
        omp_get_max_active_levels_, omp_get_level_,
839
        omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
840
        omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
841
        New functions.
842
        * parallel.c: Include limits.h.
843
        (gomp_resolve_num_threads): Add count argument.  Rewritten.
844
        (GOMP_parallel_start): Call gomp_new_team and pass that as last
845
        argument to gomp_team_start.  Pass 0 as second argument to
846
        gomp_resolve_num_threads.
847
        (GOMP_parallel_end): Decrease gomp_remaining_threads_count
848
        if gomp_thread_limit_var != ULONG_MAX.
849
        (omp_in_parallel): Implement using ts.active_level.
850
        (omp_get_max_threads): Move to env.c.
851
        (omp_get_level, omp_get_ancestor_thread_num,
852
        omp_get_team_size, omp_get_active_level): New functions,
853
        add ialias.
854
        * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
855
        after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
856
        gomp_iter_dynamic_next instead of the _locked variant and don't take
857
        lock around it, otherwise acquire it before calling
858
        gomp_iter_dynamic_next_locked.
859
        (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
860
        gomp_iter_dynamic_next instead of the _locked variant and don't take
861
        lock around it.
862
        (GOMP_parallel_sections_start): Call gomp_new_team instead of
863
        gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
864
        Adjust gomp_team_start caller.  Pass count as second argument to
865
        gomp_resolve_num_threads, don't adjust num_threads after the call.
866
        Use gomp_icv.
867
        * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
868
        ws->chunk_size by incr.
869
        (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
870
        code.
871
        * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
872
        types.
873
        (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
874
        (omp_check_defines): Check even the compat defines.
875
        * config/linux/ptrlock.c: New file.
876
        * config/linux/ptrlock.h: New file.
877
        * config/linux/wait.h: New file.
878
        * config/posix/ptrlock.c: New file.
879
        * config/posix/ptrlock.h: New file.
880
        * config/linux/bar.h (gomp_team_barrier_wait,
881
        gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
882
        (gomp_team_barrier_set_task_pending,
883
        gomp_team_barrier_clear_task_pending,
884
        gomp_team_barrier_set_waiting_for_tasks,
885
        gomp_team_barrier_waiting_for_tasks,
886
        gomp_team_barrier_done): New inlines.
887
        (gomp_barrier_t): Rewritten.
888
        (gomp_barrier_state_t): New typedef.
889
        (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
890
        gomp_barrier_wait_start): Rewritten.
891
        (gomp_barrier_wait_end): Change second argument to
892
        gomp_barrier_state_t.
893
        (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
894
        inlines.
895
        * config/linux/bar.c: Include wait.h instead of libgomp.h and
896
        futex.h.
897
        (gomp_barrier_wait_end): Rewritten.
898
        (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
899
        gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
900
        * config/posix/bar.h (gomp_barrier_t): Add generation field.
901
        (gomp_barrier_state_t): New typedef.
902
        (gomp_team_barrier_wait,
903
        gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
904
        (gomp_barrier_wait_start): Or all but low 2 bits from generation
905
        into the return value.  Return gomp_barrier_state_t.
906
        (gomp_team_barrier_set_task_pending,
907
        gomp_team_barrier_clear_task_pending,
908
        gomp_team_barrier_set_waiting_for_tasks,
909
        gomp_team_barrier_waiting_for_tasks,
910
        gomp_team_barrier_done): New inlines.
911
        (gomp_barrier_wait_end): Change second argument to
912
        gomp_barrier_state_t.
913
        (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
914
        inlines.
915
        * config/posix/bar.c (gomp_barrier_init): Clear generation field.
916
        (gomp_barrier_wait_end): Change second argument to
917
        gomp_barrier_state_t.
918
        (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
919
        gomp_team_barrier_wake): New functions.
920
        * config/linux/mutex.c: Include wait.h instead of libgomp.h and
921
        futex.h.
922
        (gomp_futex_wake, gomp_futex_wait): New variables.
923
        (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
924
        * config/linux/lock.c: Rewrite to make locks task owned,
925
        for backwards compatibility provide the old entrypoints
926
        if symbol versioning.  Include wait.h instead of libgomp.h and
927
        futex.h.
928
        (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
929
        * config/posix95/lock.c: Rewrite to make locks task owned,
930
        for backwards compatibility provide the old entrypoints
931
        if symbol versioning.
932
        * config/posix/lock.c: Rewrite to make locks task owned,
933
        for backwards compatibility provide the old entrypoints
934
        if symbol versioning.
935
        * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
936
        (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
937
        * config/posix/proc.c, config/mingw32/proc.c: Similarly.
938
        * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
939
        (sys_futex0): Return error code.
940
        (futex_wake, futex_wait): If ENOSYS was returned, clear
941
        FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
942
        (cpu_relax, atomic_write_barrier): New static inlines.
943
        * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
944
        (futex_wake, futex_wait): If ENOSYS was returned, clear
945
        FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
946
        (cpu_relax, atomic_write_barrier): New static inlines.
947
        * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
948
        (sys_futex0): Return error code.
949
        (futex_wake, futex_wait): If ENOSYS was returned, clear
950
        FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
951
        (cpu_relax, atomic_write_barrier): New static inlines.
952
        * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
953
        (sys_futex0): Return error code.
954
        (futex_wake, futex_wait): If ENOSYS was returned, clear
955
        FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
956
        (cpu_relax, atomic_write_barrier): New static inlines.
957
        * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
958
        (sys_futex0): Return error code.
959
        (futex_wake, futex_wait): If ENOSYS was returned, clear
960
        FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
961
        (cpu_relax, atomic_write_barrier): New static inlines.
962
        * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
963
        (sys_futex0): Return error code.
964
        (futex_wake, futex_wait): If ENOSYS was returned, clear
965
        FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
966
        (cpu_relax, atomic_write_barrier): New static inlines.
967
        * config/linux/sem.c: Include wait.h instead of libgomp.h and
968
        futex.h.
969
        (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
970
        * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
971
        * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
972
        types.
973
        (omp_nest_lock_t): Change owner into void *, add lock field.
974
        * config/posix95/omp-lock.h: Include semaphore.h.
975
        (omp_lock_25_t, omp_nest_lock_25_t): New types.
976
        (omp_lock_t): Use sem_t instead of mutex if semaphores
977
        aren't broken.
978
        (omp_nest_lock_t): Likewise.  Change owner to void *.
979
        * config/posix/omp-lock.h: Include semaphore.h.
980
        (omp_lock_25_t, omp_nest_lock_25_t): New types.
981
        (omp_lock_t): Use sem_t instead of mutex if semaphores
982
        aren't broken.
983
        (omp_nest_lock_t): Likewise.  Add owner field.
984
 
985
2008-06-06  Jakub Jelinek  
986
 
987
        * testsuite/libgomp.c/collapse-1.c: New test.
988
        * testsuite/libgomp.c/collapse-2.c: New test.
989
        * testsuite/libgomp.c/collapse-3.c: New test.
990
        * testsuite/libgomp.c/icv-1.c: New test.
991
        * testsuite/libgomp.c/icv-2.c: New test.
992
        * testsuite/libgomp.c/lib-2.c: New test.
993
        * testsuite/libgomp.c/lock-1.c: New test.
994
        * testsuite/libgomp.c/lock-2.c: New test.
995
        * testsuite/libgomp.c/lock-3.c: New test.
996
        * testsuite/libgomp.c/loop-4.c: New test.
997
        * testsuite/libgomp.c/loop-5.c: New test.
998
        * testsuite/libgomp.c/loop-6.c: New test.
999
        * testsuite/libgomp.c/loop-7.c: New test.
1000
        * testsuite/libgomp.c/loop-8.c: New test.
1001
        * testsuite/libgomp.c/loop-9.c: New test.
1002
        * testsuite/libgomp.c/nested-3.c: New test.
1003
        * testsuite/libgomp.c/nestedfn-6.c: New test.
1004
        * testsuite/libgomp.c/sort-1.c: New test.
1005
        * testsuite/libgomp.c/task-1.c: New test.
1006
        * testsuite/libgomp.c/task-2.c: New test.
1007
        * testsuite/libgomp.c/task-3.c: New test.
1008
        * testsuite/libgomp.c/task-4.c: New test.
1009
        * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
1010
        to C++ testsuite default compiler options.
1011
        * testsuite/libgomp.c++/collapse-1.C: New test.
1012
        * testsuite/libgomp.c++/collapse-2.C: New test.
1013
        * testsuite/libgomp.c++/ctor-10.C: New test.
1014
        * testsuite/libgomp.c++/for-1.C: New test.
1015
        * testsuite/libgomp.c++/for-2.C: New test.
1016
        * testsuite/libgomp.c++/for-3.C: New test.
1017
        * testsuite/libgomp.c++/for-4.C: New test.
1018
        * testsuite/libgomp.c++/for-5.C: New test.
1019
        * testsuite/libgomp.c++/loop-8.C: New test.
1020
        * testsuite/libgomp.c++/loop-9.C: New test.
1021
        * testsuite/libgomp.c++/loop-10.C: New test.
1022
        * testsuite/libgomp.c++/task-1.C: New test.
1023
        * testsuite/libgomp.c++/task-2.C: New test.
1024
        * testsuite/libgomp.c++/task-3.C: New test.
1025
        * testsuite/libgomp.c++/task-4.C: New test.
1026
        * testsuite/libgomp.c++/task-5.C: New test.
1027
        * testsuite/libgomp.c++/task-6.C: New test.
1028
        * testsuite/libgomp.fortran/allocatable1.f90: New test.
1029
        * testsuite/libgomp.fortran/allocatable2.f90: New test.
1030
        * testsuite/libgomp.fortran/allocatable3.f90: New test.
1031
        * testsuite/libgomp.fortran/allocatable4.f90: New test.
1032
        * testsuite/libgomp.fortran/collapse1.f90: New test.
1033
        * testsuite/libgomp.fortran/collapse2.f90: New test.
1034
        * testsuite/libgomp.fortran/collapse3.f90: New test.
1035
        * testsuite/libgomp.fortran/collapse4.f90: New test.
1036
        * testsuite/libgomp.fortran/lastprivate1.f90: New test.
1037
        * testsuite/libgomp.fortran/lastprivate2.f90: New test.
1038
        * testsuite/libgomp.fortran/lib4.f90: New test.
1039
        * testsuite/libgomp.fortran/lock-1.f90: New test.
1040
        * testsuite/libgomp.fortran/lock-2.f90: New test.
1041
        * testsuite/libgomp.fortran/nested1.f90: New test.
1042
        * testsuite/libgomp.fortran/nestedfn4.f90: New test.
1043
        * testsuite/libgomp.fortran/strassen.f90: New test.
1044
        * testsuite/libgomp.fortran/tabs1.f90: New test.
1045
        * testsuite/libgomp.fortran/tabs2.f: New test.
1046
        * testsuite/libgomp.fortran/task1.f90: New test.
1047
        * testsuite/libgomp.fortran/task2.f90: New test.
1048
        * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
1049
        * testsuite/libgomp.fortran/vla5.f90: Likewise.
1050
        * testsuite/libgomp.c/pr26943-2.c: Likewise.
1051
        * testsuite/libgomp.c/pr26943-3.c: Likewise.
1052
        * testsuite/libgomp.c/pr26943-4.c: Likewise.
1053
 
1054
2008-05-23  Jakub Jelinek  
1055
 
1056
        PR c++/36308
1057
        * testsuite/libgomp.c++/ctor-11.C: New test.
1058
        * testsuite/libgomp.c++/ctor-12.C: New test.
1059
 
1060
2008-05-15  Janis Johnson  
1061
 
1062
        * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
1063
 
1064
2008-05-07  Jakub Jelinek  
1065
 
1066
        PR middle-end/36106
1067
        * testsuite/libgomp.c/atomic-5.c: New test.
1068
        * testsuite/libgomp.c/atomic-6.c: New test.
1069
        * testsuite/libgomp.c/autopar-1.c: New test.
1070
 
1071
2008-04-21  Ralf Wildenhues  
1072
 
1073
        * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
1074
        (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
1075
        (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
1076
        (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
1077
        * configure: Regenerate.
1078
        * Makefile.in, testsuite/Makefile.in: Likewise.
1079
 
1080
2008-04-18  Paolo Bonzini  
1081
 
1082
        PR bootstrap/35457
1083
        * aclocal.m4: Regenerate.
1084
        * configure: Regenerate.
1085
 
1086
2008-03-18  Jakub Jelinek  
1087
 
1088
        PR middle-end/35611
1089
        * testsuite/libgomp.c/atomic-4.c: New test.
1090
 
1091
        PR libgomp/35625
1092
        * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
1093
        (gomp_iter_guided_next): Likewise.
1094
        * testsuite/libgomp.c/pr35625.c: New test.
1095
 
1096
2008-03-16  Ralf Wildenhues  
1097
 
1098
        * aclocal.m4: Regenerate.
1099
        * configure: Likewise.
1100
        * Makefile.in: Likewise.
1101
        * testsuite/Makefile.in: Likewise.
1102
 
1103
2008-03-13  Jakub Jelinek  
1104
 
1105
        PR middle-end/35185
1106
        * testsuite/libgomp.c++/pr35185.C: New test.
1107
 
1108
2008-03-12  Jakub Jelinek  
1109
 
1110
        PR middle-end/35549
1111
        * testsuite/libgomp.c/pr35549.c: New test.
1112
 
1113
2008-03-06  Jakub Jelinek  
1114
 
1115
        * testsuite/libgomp.c/atomic-3.c: New test.
1116
 
1117
2008-03-03  Francois-Xavier Coudert  
1118
 
1119
        PR fortran/33197
1120
        * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
1121
        .F08 file suffixes.
1122
 
1123
2008-03-03  Peter O'Gorman  
1124
 
1125
        PR libgomp/33131
1126
        * configure.ac: Add ACX_HEADER_STRING.
1127
        * env.c: Include strings.h.
1128
        * aclocal.m4: Regenerate.
1129
        * config.h.in: Regenerate.
1130
        * configure: Regenerate.
1131
        * Makefile.in: Regenerate.
1132
        * testsuite/Makefile.in: Regenerate.
1133
 
1134
2008-02-15  Jakub Jelinek  
1135
 
1136
        PR middle-end/35196
1137
        * testsuite/libgomp.c/pr35196.c: New test.
1138
 
1139
        PR middle-end/35130
1140
        * testsuite/libgomp.fortran/pr35130.f90: New test.
1141
        * testsuite/libgomp.c/pr35130.c: New test.
1142
 
1143
2008-01-25  Jakub Jelinek  
1144
 
1145
        PR middle-end/33880
1146
        * testsuite/libgomp.c/pr33880.c: New test.
1147
        * testsuite/libgomp.fortran/pr33880.f90: New test.
1148
 
1149
2008-01-24  David Edelsohn  
1150
 
1151
        * configure: Regenerate.
1152
 
1153
2008-01-08  Jakub Jelinek  
1154
 
1155
        * configure.ac: Move futex checking into ../config/futex.m4.
1156
        * configure: Rebuilt.
1157
        * aclocal.m4: Rebuilt.
1158
        * Makefile.in: Rebuilt.
1159
 
1160
        * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
1161
        2007-10-15 ../config/tls.m4 change.
1162
 
1163
2007-12-19  Jakub Jelinek  
1164
 
1165
        PR c++/34513
1166
        * testsuite/libgomp.c/pr34513.c: New test.
1167
        * testsuite/libgomp.c++/pr34513.C: New test.
1168
 
1169
2007-12-17  Jack Howarth  
1170
 
1171
        PR target/32765
1172
        * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
1173
 
1174
2007-12-04  Jakub Jelinek  
1175
 
1176
        * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
1177
 
1178
2007-12-03  Jakub Jelinek  
1179
 
1180
        * testsuite/libgomp.c/private-1.c: New test.
1181
 
1182
2007-11-29  Andris Pavenis 
1183
            Paolo Bonzini  
1184
 
1185
        * Makefile.am: Use space as vpath separator.  Use 'vpath %'
1186
        instead of 'VPATH ='.
1187
        * Makefile.in: Regenerate.
1188
 
1189
2007-11-23  Matthias Klose  
1190
 
1191
        * configure.ac: Adjust makeinfo version check.
1192
        * configure: Regenerate.
1193
 
1194
2007-11-10  Jakub Jelinek  
1195
 
1196
        PR fortran/34020
1197
        * testsuite/libgomp.fortran/pr34020.f90: New test.
1198
 
1199
2007-11-06  Jakub Jelinek  
1200
 
1201
        PR c++/33894
1202
        * testsuite/libgomp.c++/atomic-1.C: New test.
1203
 
1204
2007-10-25  Jakub Jelinek  
1205
 
1206
        PR libgomp/33275
1207
        * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
1208
        Make x and y integers rather than (implicit) reals.  Add private (j)
1209
        clause to the last omp parallel.
1210
 
1211
2007-10-15  Maciej W. Rozycki  
1212
 
1213
        * configure: Regenerate following changes to ../config/tls.m4.
1214
 
1215
2007-09-28  Jakub Jelinek  
1216
 
1217
        * testsuite/libgomp.fortran/stack.f90: New test.
1218
 
1219
2007-09-10  Danny Smith  
1220
 
1221
        * config/mingw32/proc.c: New file.
1222
 
1223
2007-09-05  Uros Bizjak  
1224
 
1225
        * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
1226
        (main): Use __get_cpuid to get i386 target fetaures.
1227
        * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
1228
        (main): Use __get_cpuid to get x86_64 target fetaures.
1229
 
1230
2007-08-15  Jack Howarth  
1231
 
1232
        PR target/32765
1233
        * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
1234
        * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
1235
 
1236
2007-07-12  Jakub Jelinek  
1237
 
1238
        PR fortran/32550
1239
        * testsuite/libgomp.fortran/pr32550.f90: New test.
1240
        * testsuite/libgomp.fortran/crayptr2.f90: New test.
1241
 
1242
2007-07-05  H.J. Lu  
1243
 
1244
        * aclocal.m4: Regenerated.
1245
 
1246
2007-07-05  Tobias Burnus  
1247
 
1248
        PR fortran/32359
1249
        * testsuite/libgomp.fortran/pr32359.f90: New.
1250
 
1251
2007-07-02  Jakub Jelinek  
1252
 
1253
        PR libgomp/32468
1254
        * sections.c (GOMP_parallel_sections_start): Only decrease
1255
        number of threads to COUNT if dyn_var is true.
1256
        * testsuite/libgomp.c/pr32468.c: New test.
1257
 
1258
2007-07-02  Rainer Orth  
1259
 
1260
        PR libgomp/26308
1261
        * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
1262
 
1263
2007-06-21  Jakub Jelinek  
1264
 
1265
        PR middle-end/32362
1266
        * testsuite/libgomp.c/pr32362-1.c: New test.
1267
        * testsuite/libgomp.c/pr32362-2.c: New test.
1268
        * testsuite/libgomp.c/pr32362-3.c: New test.
1269
 
1270
2007-06-07  Jakub Jelinek  
1271
 
1272
        * team.c (gomp_team_start): Fix setting up thread_attr
1273
        stack size.
1274
 
1275
2007-06-02  Paolo Bonzini  
1276
 
1277
        * configure: Regenerate.
1278
 
1279
2007-05-23  Steve Ellcey  
1280
 
1281
        * Makefile.in: Regenerate.
1282
        * configure: Regenerate.
1283
        * aclocal.m4: Regenerate.
1284
        * testsuite/Makefile.in: Regenerate.
1285
 
1286
2007-05-04  Jakub Jelinek  
1287
 
1288
        * config/linux/proc.c: New file.
1289
 
1290
        PR libgomp/28482
1291
        * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
1292
 
1293
2007-04-19  Daniel Franke  
1294
 
1295
        * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
1296
 
1297
2007-04-16  Matthias Klose  
1298
 
1299
        * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
1300
        flags if not building with -m64.
1301
        * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
1302
        flag for i?86-*-* targets, if current target matches -m64.
1303
 
1304
2007-04-14  Steve Ellcey  
1305
 
1306
        * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
1307
        * Makefile.in: Regenerate.
1308
 
1309
2007-04-07  John David Anglin  
1310
 
1311
        PR testsuite/31369
1312
        * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
1313
        ld_library_path.
1314
        * testsuite/libgomp.fortran/fortran.exp: Likewise.
1315
 
1316
2007-04-04  Jakub Jelinek  
1317
 
1318
        * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
1319
        decls.
1320
        (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
1321
        * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
1322
        (parse_affinity): New function.
1323
        (initialize_env): Call it and gomp_init_affinity.
1324
        * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
1325
        create new pthread_attr_t and call gomp_init_thread_affinity
1326
        on it for each thread before passing the attribute to pthread_create.
1327
        * config/linux/affinity.c: New file.
1328
        * config/posix/affinity.c: New file.
1329
        * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
1330
        * configure: Rebuilt.
1331
        * config.h.in: Rebuilt.
1332
        * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
1333
        * Makefile.in: Rebuilt.
1334
 
1335
2007-03-23  Andreas Tobler  
1336
 
1337
        * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
1338
        *-*-darwin*.
1339
        * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
1340
        and use it if found.
1341
 
1342
2007-03-18  Uros Bizjak  
1343
 
1344
        * testsuite/config/default.exp: New file.
1345
        * testsuite/lib/libgomp.exp: New file.
1346
        * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
1347
        libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
1348
        load_lib *, load_gcc_lib *): Move to libgomp.exp.
1349
        (libgomp_load): Remove.
1350
        * testsuite/lib/libgomp.exp (libgomp_init): Compute
1351
        always_ld_library_path, not ld_library_path.  Set additional_flags
1352
        to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
1353
        (target_compile): Do not call libgomp_init.  Append lang_library_path
1354
        and lang_link_flags to options.
1355
        * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
1356
        ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
1357
        here.
1358
        * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
1359
        always_ld_library_path.  Set LD_LIBRARY_PATH here.
1360
        * testsuite/libgomp.fortran/fortran.exp: Ditto.
1361
        * testsuite/libgomp.c/atomic-1.c: Set dg-options to
1362
        "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
1363
        CX8 flag.
1364
        * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
1365
        lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
1366
        * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
1367
        * testsuite/libgomp.c/pr29947-1.c: Ditto.
1368
        * testsuite/libgomp.c/atomic-10.c: Ditto.
1369
 
1370
2007-03-21  Jakub Jelinek  
1371
 
1372
        * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
1373
        dg-final cleanup-modules line.
1374
        * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
1375
        * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
1376
        * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
1377
        * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1378
        * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1379
        * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1380
        * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1381
 
1382
2007-03-18  Andreas Schwab  
1383
 
1384
        * acinclude.m4: Adjust regular expression for ld version
1385
        extraction.
1386
        * configure: Regenerate.
1387
 
1388
2007-03-01  Brooks Moses  
1389
 
1390
        * Makefile.am: Add install-pdf target as copied from
1391
        automake v1.10 rules.
1392
        * Makefile.in: Regenerate
1393
 
1394
2007-02-07  Jakub Jelinek  
1395
 
1396
        PR libgomp/28486
1397
        * configure: Regenerate.
1398
 
1399
        PR c++/30703
1400
        * testsuite/libgomp.c++/pr30703.C: New test.
1401
 
1402
2007-02-02  Jakub Jelinek  
1403
 
1404
        Revert:
1405
        2006-07-05  Eric Christopher  
1406
        * configure.ac: Depend addition of -pthread on host OS.
1407
        * configure: Regenerate.
1408
 
1409
2007-01-31  Ralf Wildenhues  
1410
 
1411
        * libgomp.texi: Fix spacing after abbreviations.
1412
 
1413
2007-01-31  Daniel Franke 
1414
 
1415
        PR libgomp/30546
1416
        * configure.ac: Add check for makeinfo
1417
        * Makefile.am: Redefined target libgomp.info, build libgomp.info only
1418
        if an appropiate version of makeinfo is found.
1419
        * aclocal.m4: Regenerated.
1420
        * configure: Regenerated.
1421
        * Makefile.in: Regenerated.
1422
        * testsuite/Makefile.in: Regenerated.
1423
 
1424
2007-01-29  Daniel Franke 
1425
 
1426
        PR libgomp/30540
1427
        * libgomp.texi: More about implementation-dependent settings.
1428
 
1429
2007-01-26  Tobias Burnus  
1430
 
1431
        * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
1432
 
1433
2007-01-24  Jakub Jelinek  
1434
 
1435
        PR middle-end/30494
1436
        * testsuite/libgomp.c/pr30494.c: New test.
1437
 
1438
2007-01-15  Tom Tromey  
1439
 
1440
        * configure: Rebuilt.
1441
        * configure.ac: Fixed comment.
1442
 
1443
2007-01-14  Daniel Franke  
1444
 
1445
        * libgomp.texi: Document implementation specific default values of
1446
        environment variables.
1447
 
1448
2006-12-21  Daniel Franke  
1449
 
1450
        PR libgomp/28209
1451
        * libgomp.texi: New file.
1452
        * configure.ac: Add --enable-generated-files-in-srcdir option.
1453
        * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
1454
        files to srcdir.
1455
        * Makefile.in: Regenerated.
1456
        * config.h.in: Regenerated.
1457
        * testsuite/Makefile.in: Regenerated.
1458
        * NOTES: Removed.
1459
 
1460
2006-12-04  Daniel Franke  
1461
 
1462
        PR libgomp/29949
1463
        * env.c (omp_set_num_threads): Set illegal thread count to 1.
1464
 
1465
2006-12-04  Eric Botcazou  
1466
 
1467
        * configure: Regenerate.
1468
 
1469
2006-12-04  Jakub Jelinek  
1470
 
1471
        PR libgomp/29947
1472
        * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
1473
        start if there shouldn't be any loop iterations.
1474
        (gomp_loop_ordered_static_start): Remove start == end test.
1475
        * testsuite/libgomp.c/pr29947-1.c: New test.
1476
        * testsuite/libgomp.c/pr29947-2.c: New test.
1477
 
1478
2006-12-02  Eric Botcazou  
1479
 
1480
        * configure.tgt: Force initial-exec TLS model on Linux only.
1481
 
1482
2006-11-13  Daniel Jacobowitz  
1483
 
1484
        * configure: Regenerated.
1485
 
1486
2006-11-09  Uros Bizjak  
1487
 
1488
        * env.c (parse_schedule): Reject out of range values.
1489
        (parse_unsigned_long): Reject out of range, negative or zero values.
1490
 
1491
2006-10-29  Jakub Jelinek  
1492
 
1493
        PR fortran/29629
1494
        * testsuite/libgomp.fortran/pr29629.f90: New test.
1495
 
1496
2006-10-24  Eric Botcazou  
1497
 
1498
        PR libgomp/29494
1499
        * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
1500
        * config/posix95: New directory.
1501
        * config/posix95/omp-lock.h: New file.
1502
        * config/posix95/lock.c: Likewise.
1503
 
1504
2006-10-14  Geoffrey Keating  
1505
 
1506
        * aclocal.m4: Regenerate.
1507
        * configure: Regenerate.
1508
 
1509
2006-10-05  Danny Smith  
1510
 
1511
        * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
1512
        '<' to '<='.
1513
 
1514
2006-10-05  Danny Smith  
1515
 
1516
        * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
1517
        test.
1518
        * configure: Regenerate.
1519
        * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
1520
 
1521
2006-09-26  Jakub Jelinek  
1522
 
1523
        PR middle-end/25261
1524
        PR middle-end/28790
1525
        * testsuite/libgomp.c/nestedfn-4.c: New test.
1526
        * testsuite/libgomp.c/nestedfn-5.c: New test.
1527
        * testsuite/libgomp.fortran/nestedfn3.f90: New test.
1528
 
1529
        PR fortran/29097
1530
        * testsuite/libgomp.fortran/condinc1.f: New test.
1531
        * testsuite/libgomp.fortran/condinc2.f: New test.
1532
        * testsuite/libgomp.fortran/condinc3.f90: New test.
1533
        * testsuite/libgomp.fortran/condinc4.f90: New test.
1534
        * testsuite/libgomp.fortran/condinc1.inc: New file.
1535
 
1536
2006-09-18  Tom Tromey  
1537
 
1538
        * configure: Rebuilt.
1539
 
1540
2006-09-13  Joseph S. Myers  
1541
 
1542
        PR c/28768
1543
        PR preprocessor/14634
1544
        * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
1545
        to AC_DEFINE.
1546
        * configure: Regenerate.
1547
 
1548
2006-09-08  Steven G. Kargl  
1549
 
1550
        * testsuite/libgomp.fortran/reduction3.f90: Change
1551
        -2147483648 to -huge(i)-1 to avoid overflow.
1552
        * testsuite/libgomp.fortran/reduction4.f90: Change
1553
        Z'ffffffff' to not(0) to avoid overflow.
1554
 
1555
2006-08-26  Joseph S. Myers  
1556
 
1557
        PR libgomp/25938
1558
        * Makefile.am (libsubincludedir): New.
1559
        (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
1560
        * Makefile.in: Regenerate.
1561
 
1562
2006-08-17  Jakub Jelinek  
1563
 
1564
        PR libgomp/28725
1565
        * env.c: Include ctype.h.
1566
        (parse_schedule, parse_unsigned_long, parse_boolean): Allow
1567
        leading and/or trailing whitespace and compare strings case
1568
        insensitively.
1569
 
1570
2006-07-16  Jakub Jelinek  
1571
 
1572
        PR fortran/28390
1573
        * testsuite/libgomp.fortran/pr28390.f: New test.
1574
 
1575
2006-07-05  Eric Christopher  
1576
 
1577
        * configure.ac: Depend addition of -pthread on host OS.
1578
        * configure: Regenerate.
1579
 
1580
2006-06-21  Jakub Jelinek  
1581
 
1582
        * critical.c (GOMP_critical_name_start): Fix *pptr initialization
1583
        when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
1584
        defined.
1585
 
1586
2006-06-20  Jakub Jelinek  
1587
 
1588
        PR libgomp/26175
1589
        PR libgomp/26477
1590
        * configure.ac: If neither --enable-linux-futex nor
1591
        --disable-linux-futex is passed, determine the default by checking
1592
        for compiling and/or running against NPTL.  With --enable-linux-futex,
1593
        check if SYS_gettid and SYS_futex are defined.
1594
        * configure: Rebuilt.
1595
 
1596
2006-06-14  Richard Henderson  
1597
 
1598
        PR libgomp/28008
1599
        * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
1600
        undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
1601
 
1602
2006-06-09  Richard Henderson  
1603
 
1604
        * env.c (gomp_nthreads_var): Change to unsigned long.
1605
        (gomp_run_sched_chunk): Likewise.
1606
        (parse_unsigned_long): Rename from parse_num_threads and generalize.
1607
        (initialize_env): Initialize gomp_thread_attr.
1608
        * libgomp.h (gomp_nthreads_var): Update decl.
1609
        (gomp_run_sched_chunk): Likewise.
1610
        (gomp_thread_attr): Declare.
1611
        * team.c (gomp_thread_attr): Export.
1612
        (initialize_team): Don't initialize it.
1613
 
1614
2006-06-09  Jakub Jelinek  
1615
 
1616
        PR fortran/27916
1617
        * testsuite/libgomp.fortran/pr27916-1.f90: New test.
1618
        * testsuite/libgomp.fortran/pr27916-2.f90: New test.
1619
 
1620
2006-06-06  Francois-Xavier Coudert  
1621
 
1622
        * config/mingw32/time.c: New file.
1623
        * configure.tgt: Use it.
1624
 
1625
2006-05-23  Carlos O'Donell  
1626
 
1627
        * Makefile.am: Add install-html target. Add install-html to .PHONY
1628
        * Makefile.in: Regenerate.
1629
 
1630
2006-05-22  John David Anglin  
1631
 
1632
        PR libgomp/27612
1633
        * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
1634
        * testsuite/libgomp.c/critical-1.c: Likewise.
1635
        * testsuite/libgomp.c/loop-1.c: Likewise.
1636
        * testsuite/libgomp.c/loop-2.c: Likewise.
1637
        * testsuite/libgomp.c/single-1.c: Likewise.
1638
        * testsuite/libgomp.c/ordered-1.c: Likewise.
1639
        * testsuite/libgomp.c/ordered-2.c: Likewise.
1640
 
1641
2006-05-15  Jakub Jelinek  
1642
 
1643
        PR middle-end/27416
1644
        * libgomp.fortran/pr27416-1.f90: New test.
1645
 
1646
2006-05-03  Jakub Jelinek  
1647
 
1648
        PR fortran/27395
1649
        * testsuite/libgomp.fortran/pr27395-1.f90: New test.
1650
        * testsuite/libgomp.fortran/pr27395-2.f90: New test.
1651
 
1652
2006-05-02  Jakub Jelinek  
1653
 
1654
        PR c++/26943
1655
        * testsuite/libgomp.c/pr26943-1.c: New test.
1656
        * testsuite/libgomp.c/pr26943-2.c: New test.
1657
        * testsuite/libgomp.c/pr26943-3.c: New test.
1658
        * testsuite/libgomp.c/pr26943-4.c: New test.
1659
        * testsuite/libgomp.c++/pr27337.C: Remove barrier.
1660
        * testsuite/libgomp.c++/pr26943.C: New test.
1661
 
1662
2006-05-02  Jakub Jelinek  
1663
 
1664
        PR middle-end/27337
1665
        * testsuite/libgomp.c++/pr27337.C: New test.
1666
 
1667
2006-04-26  Jakub Jelinek  
1668
 
1669
        PR c/26171
1670
        * testsuite/libgomp.c/pr26171.c: New test.
1671
 
1672
2006-04-25  Richard Henderson  
1673
 
1674
        PR libgomp/25865
1675
        * configure.ac: Use GCC_CHECK_TLS.
1676
        * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
1677
        * Makefile.in, aclocal.m4, configure: Regenerate.
1678
 
1679
2006-04-10  Matthias Klose  
1680
 
1681
        * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
1682
        directory names containing underscores.
1683
 
1684
2006-03-21  Jakub Jelinek  
1685
 
1686
        PR c++/26691
1687
        * testsuite/libgomp.c++/pr26691.C: New test.
1688
 
1689
2006-03-13  Jakub Jelinek  
1690
 
1691
        * testsuite/libgomp.fortran/retval2.f90: New test.
1692
 
1693
2006-03-09  Diego Novillo  
1694
 
1695
        * testsuite/libgomp.c++: New directory.
1696
 
1697
2006-02-25  Shantonu Sen  
1698
 
1699
        * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
1700
        * config/posix/sem.c: Implement the above.
1701
 
1702
2006-02-25  Andreas Tobler  
1703
 
1704
        * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
1705
        define HAVE_BROKEN_POSIX_SEMAPHORES.
1706
        * configure: Rebuilt.
1707
        * config.h.in: Rebuilt.
1708
 
1709
2006-02-17  Francois-Xavier Coudert  
1710
 
1711
        PR bootstrap/26161
1712
        * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
1713
        for the other pthread check.
1714
        * configure: Regenerate.
1715
        * config.h.in: Regenerate.
1716
 
1717
2006-02-15  Jakub Jelinek  
1718
 
1719
        PR libgomp/25938
1720
        PR libgomp/25984
1721
        * Makefile.am (fincludedir): New variable.
1722
        (nodist_include_HEADERS): Remove Fortran files.
1723
        (nodist_finclude_HEADERS): New variable.
1724
        * Makefile.in: Regenerated.
1725
 
1726
2006-02-13  Jakub Jelinek  
1727
 
1728
        * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
1729
        Remove tests for returning assumed character length arrays.
1730
 
1731
2006-02-12  Roger Sayle  
1732
            John David Anglin  
1733
 
1734
        PR libgomp/25936
1735
        * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
1736
 
1737
2006-02-08  Ulrich Weigand  
1738
 
1739
        * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
1740
 
1741
2006-02-07  Eric Botcazou  
1742
 
1743
        * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
1744
        part of LD_LIBRARY_PATH manually.
1745
 
1746
2006-02-03  H.J. Lu  
1747
 
1748
        PR libgomp/25852
1749
        * testsuite/lib/libgomp-dg.exp (blddir): Set it in
1750
        libgomp_init.
1751
 
1752
2005-01-25  Paolo Bonzini  
1753
 
1754
        PR libgomp/25884
1755
        * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
1756
        * configure.ac (PERL): Don't set.
1757
        (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
1758
        (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
1759
        OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
1760
        * omp.h.in: Wrap the new configure substitutions with @ characters.
1761
        * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
1762
        * aclocal.m4, configure, Makefile.in: Regenerate.
1763
        * mkomp_h.pl: Delete.
1764
 
1765
2005-01-24  Paolo Bonzini  
1766
 
1767
        PR libgomp/25259
1768
        * configure.ac: Use GCC_HEADER_STDINT.
1769
        * libgomp.h: Include gstdint.h.
1770
        * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
1771
        * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
1772
 
1773
2006-01-24  Richard Henderson  
1774
 
1775
        PR libgomp/25942
1776
        * configure.ac: Add AM_MAINTAINER_MODE.
1777
        * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
1778
 
1779
2006-01-24  Diego Novillo  
1780
 
1781
        * Makefile.in: Regenerate.
1782
        * testsuite/Makefile.in: Regenerate.
1783
        * aclocal.m4: Regenerate.
1784
 
1785
2006-01-23  Andreas Tobler  
1786
 
1787
        * config/posix/proc.c: Conditional include of sys/loadavg.h for
1788
        Solaris.
1789
        * configure.ac: Add check for loadavg.h.
1790
        (link_gomp): Adjust comment.
1791
        * configure: Regenerate.
1792
        * config.h.in: Regenerate.
1793
 
1794
2006-01-21  Steve Ellcey  
1795
 
1796
        PR libgomp/25877
1797
        * configure.ac: Remove check for alloca.h.
1798
        * configure: Regenerate.
1799
        * config.h.in: Regenerate.
1800
        * libgomp.h: define gomp_alloca to be __builtin_alloca.
1801
        * team.c: Remove use of alloca.h.
1802
        Call gomp_alloca instead of alloca.
1803
 
1804
2006-01-20  Steve Ellcey  
1805
 
1806
        PR libgomp/25877
1807
        * team.c: Add include of alloca.h.
1808
        * configure.ac: Add check for alloca.h.
1809
        * configure: Regenerate.
1810
        * config.h.in: Regenerate.
1811
 
1812
2006-01-17  Jakub Jelinek  
1813
 
1814
        PR fortran/25219
1815
        * testsuite/libgomp.fortran/pr25219.f90: New test.
1816
 
1817
2005-12-05  Uros Bizjak  
1818
 
1819
        * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
1820
        testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
1821
        testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
1822
        testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
1823
        testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
1824
        testsuite/libgomp.fortran/threadprivate1.f90,
1825
        testsuite/libgomp.fortran/threadprivate2.f90,
1826
        testsuite/libgomp.fortran/threadprivate3.f90,
1827
        testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
1828
        testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
1829
        testsuite/libgomp.fortran/omp_parse3.f90: Change required
1830
        effective-target to TLS runtime.
1831
 
1832
        * testsuite/libgomp.fortran/pr25162.f: Require
1833
        effective-target TLS runtime.
1834
 
1835
2005-12-01  Jakub Jelinek  
1836
 
1837
        * testsuite/libgomp.fortran/nestedfn2.f90: New test.
1838
        * testsuite/libgomp.c/nestedfn-3.c: New test.
1839
 
1840
2005-11-30  Jakub Jelinek  
1841
 
1842
        PR fortran/25162
1843
        * testsuite/libgomp.fortran/pr25162.f: New test.
1844
 
1845
2005-11-28  Jakub Jelinek  
1846
 
1847
        * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
1848
        CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
1849
 
1850
2005-11-25  Jakub Jelinek  
1851
 
1852
        * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
1853
        libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
1854
        omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
1855
        single.c, team.c, work.c, config/linux/alpha/futex.h,
1856
        config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
1857
        config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
1858
        config/linux/powerpc/futex.h, config/linux/s390/futex.h,
1859
        config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
1860
        config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
1861
        config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
1862
        config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
1863
        FSF address.
1864
 
1865
2005-11-18  Jakub Jelinek  
1866
 
1867
        * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
1868
        to nodist_noinst_HEADERS.
1869
        * Makefile.in: Rebuilt.
1870
 
1871
        * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
1872
        add integer count field.
1873
        * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
1874
        omp_nest_lock_t type change.
1875
        (omp_init_nest_lock): Likewise.  Initialize count to 0.
1876
        (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
1877
        Increment count.
1878
        (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
1879
        Decrement count.
1880
        (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
1881
        Increment count if successful and return the new nesting level.
1882
        * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
1883
        * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
1884
        * testsuite/libgomp.c/lib-1.c: New test.
1885
        * testsuite/libgomp.fortran/lib1.f90: New test.
1886
        * testsuite/libgomp.fortran/lib2.f: New test.
1887
        * testsuite/libgomp.fortran/lib3.f: New test.
1888
 
1889
2005-11-17  Richard Henderson  
1890
 
1891
        PR 24845
1892
        * Makefile.am (nodist_toolexeclib_HEADERS): New.
1893
        * configure.ac (link_gomp): New.  Substitute it.
1894
        (AC_CONFIG_FILES): Add libgomp.spec.
1895
        * libgomp.spec.in: New file.
1896
        * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
1897
        * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
1898
 
1899
2005-11-18  Jakub Jelinek  
1900
 
1901
        * testsuite/libgomp.fortran/reduction1.f90: Adjust for
1902
        reduction(-:var) behaving the same as reduction(+:var).
1903
        * testsuite/libgomp.c/reduction-4.c: New test.
1904
 
1905
2005-11-15  Uros Bizjak  
1906
 
1907
        * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
1908
        testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
1909
        testsuite/libgomp.c/copyin-3.c,
1910
        testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
1911
        testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
1912
        testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
1913
        testsuite/libgomp.c++/pr24455.C,
1914
        testsuite/libgomp.fortran/threadprivate1.f90,
1915
        testsuite/libgomp.fortran/threadprivate2.f90,
1916
        testsuite/libgomp.fortran/threadprivate3.f90,
1917
        testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
1918
        testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
1919
        testsuite/libgomp.fortran/omp_parse3.f90: Require
1920
        effective-target TLS.
1921
 
1922
2005-11-14  Diego Novillo  
1923
 
1924
        * HEADER: Remove.
1925
 
1926
2005-11-13  Jakub Jelinek  
1927
 
1928
        PR libgomp/24797
1929
        * team.c (initialize_team): Pass NULL rather than free as
1930
        pthread_key_create destructor.  Initialize thread specific data
1931
        pointer in initial thread to a static local variable rather than
1932
        malloced memory.
1933
 
1934
2005-11-11  Uros Bizjak  
1935
 
1936
        * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
1937
        its location to ld_library_path.
1938
 
1939
2005-11-10  Diego Novillo  
1940
 
1941
        * testsuite/libgomp.c/c.exp: Rename from dg.exp.
1942
 
1943
2005-11-10  Diego Novillo  
1944
 
1945
        * testsuite/libgomp.c: Rename from libgomp.dg.
1946
 
1947
2005-11-09  Diego Novillo  
1948
 
1949
        * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
1950
        threadprivate variable 'i'.
1951
 
1952
2005-11-09  Jakub Jelinek  
1953
 
1954
        * config/linux/s390/futex.h: New file.
1955
        * configure.tgt: Use it.
1956
 
1957
        * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
1958
        before the parallel.
1959
 
1960
2005-11-08  Jakub Jelinek  
1961
 
1962
        PR c++/24734
1963
        * testsuite/libgomp.c++/master-1.C: New test.
1964
 
1965
2005-11-07  Jakub Jelinek  
1966
 
1967
        * testsuite/libgomp.dg/copyin-3.c: New test.
1968
 
1969
2005-11-07  Jakub Jelinek  
1970
 
1971
        * testsuite/libgomp.fortran/retval1.f90: New test.
1972
        * testsuite/libgomp.fortran/vla7.f90: New test.
1973
 
1974
2005-11-06  Jakub Jelinek  
1975
 
1976
        * testsuite/libgomp.fortran/vla2.f90: New test.
1977
        * testsuite/libgomp.fortran/vla3.f90: New test.
1978
        * testsuite/libgomp.fortran/vla4.f90: New test.
1979
        * testsuite/libgomp.fortran/vla5.f90: New test.
1980
        * testsuite/libgomp.fortran/vla6.f90: New test.
1981
 
1982
2005-11-01  Jakub Jelinek  
1983
 
1984
        * config/linux/sparc/futex.h: New file.
1985
        * configure.tgt: Use it.
1986
        * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
1987
 
1988
        * critical.c: Include stdlib.h.
1989
        * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
1990
        ignoring return value.
1991
        * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
1992
        LIBGOMP_CHECK_SYNC_BUILTINS check.
1993
        * configure: Rebuilt.
1994
 
1995
2005-10-31  Jakub Jelinek  
1996
 
1997
        * testsuite/libgomp.fortran/vla1.f90: New test.
1998
 
1999
2005-10-31  Richard Henderson  
2000
 
2001
        * testsuite/libgomp.fortran/character2.f90: Fix race condition
2002
        setting 's' in different threads.
2003
 
2004
2005-10-31  Jakub Jelinek  
2005
 
2006
        * libgomp.h (attribute_hidden, ialias): Define.
2007
        * config/posix/proc.c (omp_get_num_procs): Add ialias.
2008
        * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
2009
        * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
2010
        omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
2011
        omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
2012
        omp_test_lock, omp_test_nest_lock): Likewise.
2013
        * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
2014
        omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
2015
        omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
2016
        omp_test_lock, omp_test_nest_lock): Likewise.
2017
        * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
2018
        omp_get_dynamic, omp_get_nested): Likewise.
2019
        * parallel.c (omp_get_num_threads, omp_get_max_threads,
2020
        omp_get_thread_num, omp_in_parallel): Likewise.
2021
        * fortran.c (ialias_redirect): Define.
2022
        (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
2023
        omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
2024
        omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
2025
        omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
2026
        omp_set_num_threads, omp_get_dynamic, omp_get_nested,
2027
        omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
2028
        omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
2029
        omp_get_wtime): Add ialias_redirect.
2030
 
2031
2005-10-30  Jakub Jelinek  
2032
 
2033
        * fortran.c: Include stdlib.h.
2034
 
2035
2005-10-29  Jakub Jelinek  
2036
 
2037
        * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
2038
        * Makefile.in: Regenerated.
2039
 
2040
2005-10-28  Jakub Jelinek  
2041
 
2042
        * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
2043
        * libgomp_f.h.in (omp_check_defines): New function.
2044
        * env.c: Include libgomp_f.h.
2045
        (initialize_env): Call omp_check_defines.
2046
 
2047
        * testsuite/libgomp.dg/copyin-2.c: New test.
2048
        * testsuite/libgomp.c++/copyin-2.C: New test.
2049
        * testsuite/libgomp.fortran/threadprivate3.f90: New test.
2050
 
2051
        * testsuite/libgomp.fortran/threadprivate2.f90: New test.
2052
        * testsuite/libgomp.fortran/sharing2.f90: New test.
2053
 
2054
        * testsuite/libgomp.dg/copyin-1.c: New test.
2055
        * testsuite/libgomp.c++/copyin-1.C: New test.
2056
 
2057
2005-10-26  Jakub Jelinek  
2058
 
2059
        * testsuite/libgomp.fortran/crayptr1.f90: New test.
2060
 
2061
        * testsuite/libgomp.fortran/workshare1.f90: New test.
2062
 
2063
        * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
2064
        only test.
2065
        * libgomp.fortran/sharing1.f90: New test.
2066
 
2067
2005-10-24  Jakub Jelinek  
2068
 
2069
        PR c++/24502
2070
        * testsuite/libgomp.c++/loop-7.C: New test.
2071
 
2072
        * testsuite/libgomp.dg/nestedfn-2.c: New test.
2073
 
2074
        * testsuite/libgomp.dg/nestedfn-1.c: New test.
2075
        * testsuite/libgomp.fortran/reduction6.f90: New test.
2076
        * testsuite/libgomp.fortran/nestedfn1.f90: New test.
2077
 
2078
2005-10-23  Richard Henderson  
2079
 
2080
        * testsuite/libgomp.c++/ctor-1.C: New.
2081
        * testsuite/libgomp.c++/ctor-2.C: New.
2082
        * testsuite/libgomp.c++/ctor-3.C: New.
2083
        * testsuite/libgomp.c++/ctor-4.C: New.
2084
        * testsuite/libgomp.c++/ctor-5.C: New.
2085
        * testsuite/libgomp.c++/ctor-6.C: New.
2086
        * testsuite/libgomp.c++/ctor-7.C: New.
2087
        * testsuite/libgomp.c++/ctor-8.C: New.
2088
        * testsuite/libgomp.c++/ctor-9.C: New.
2089
 
2090
2005-10-21  Diego Novillo  
2091
 
2092
        PR 24455
2093
        * testsuite/libgomp.c++/pr24455-1.C: New test.
2094
        * testsuite/libgomp.c++/pr24455.C: New test.
2095
        * testsuite/libgomp.dg/pr24455-1.c: New test.
2096
        * testsuite/libgomp.dg/pr24455.c: New test.
2097
 
2098
2005-10-20  Richard Henderson  
2099
 
2100
        * testsuite/libgomp.c++/loop-6.C: New.
2101
        * testsuite/libgomp.dg/loop-3.c: New.
2102
 
2103
2005-10-20  Jakub Jelinek  
2104
 
2105
        * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
2106
        explicitly private.
2107
        * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
2108
        explicitly shared.
2109
 
2110
2005-10-19  Diego Novillo  
2111
 
2112
        * testsuite/libgomp.fortran/jacobi.f: New test.
2113
 
2114
2005-10-19  Richard Henderson  
2115
 
2116
        * configure.tgt (i?86-linux): Default to with_arch instead of
2117
        CFLAGS.  Add -mtune to match target_cpu.
2118
        (x86_64-linux): Tune to i686.
2119
 
2120
        * fortran.c (omp_test_nest_lock_): Fix typo.
2121
 
2122
2005-10-19  Jakub Jelinek  
2123
 
2124
        * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
2125
        gomp_ordered_sync): Do nothing if team->nthreads == 1.
2126
        * testsuite/libgomp.dg/ordered-3.c: New test.
2127
 
2128
        * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
2129
        Remove volatile keyword.
2130
 
2131
        * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
2132
        in COMMON block to avoid warnings on 64-bit targets.
2133
 
2134
2005-10-18  Diego Novillo  
2135
 
2136
        * testsuite/libgomp.dg/shared-3.c: New test.
2137
 
2138
2005-10-18  Jakub Jelinek  
2139
 
2140
        * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
2141
        * testsuite/libgomp.fortran/reduction5.f90: New test.
2142
 
2143
2005-10-18  Jakub Jelinek  
2144
 
2145
        * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
2146
        dg-options.
2147
        * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
2148
        flush loop now that __sync_synchronize has proper memory barrier.
2149
        * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
2150
        Add -ffixed-form to dg-options.
2151
 
2152
2005-10-17  Diego Novillo  
2153
 
2154
        * testsuite/libgomp.fortran/fortran.exp: Also gather tests
2155
        from subdirectories.
2156
        * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
2157
        * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
2158
        * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
2159
        * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
2160
        * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
2161
        * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
2162
        * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
2163
        * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
2164
        * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
2165
        * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
2166
        * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
2167
        * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
2168
        * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
2169
        * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
2170
        * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
2171
        * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
2172
        * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
2173
        * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
2174
        * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
2175
        * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
2176
        * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
2177
        * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
2178
        * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
2179
        * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
2180
        * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
2181
 
2182
2005-10-17  Jakub Jelinek  
2183
 
2184
        * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
2185
        lang_library_path exists.  Use find instead of glob to gather tests.
2186
        * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
2187
 
2188
2005-10-17  Diego Novillo  
2189
 
2190
        * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
2191
        * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
2192
        * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
2193
        * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
2194
        * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
2195
        * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
2196
        * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
2197
        * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
2198
        * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
2199
        * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
2200
        * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
2201
        * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
2202
        * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
2203
 
2204
2005-10-15  Jakub Jelinek  
2205
 
2206
        * testsuite/libgomp.dg/vla-1.c: New test.
2207
 
2208
        * testsuite/libgomp.fortran/reference2.f90: New test.
2209
 
2210
        * testsuite/libgomp.fortran/character2.f90: Remove explicit
2211
        declaration of omp_get_thread_num.
2212
        * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
2213
        use omp_lib.
2214
 
2215
        * testsuite/libgomp.fortran/reduction1.f90: New test.
2216
        * testsuite/libgomp.fortran/reduction2.f90: New test.
2217
        * testsuite/libgomp.fortran/reduction3.f90: New test.
2218
        * testsuite/libgomp.fortran/reduction4.f90: New test.
2219
 
2220
2005-10-13  Richard Henderson  
2221
 
2222
        * Makefile.am (libgomp_la_SOURCES): Add bar.c.
2223
        * Makefile.in: Regenerate.
2224
        * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
2225
        * libgomp.h: Include bar.h.
2226
        (struct gomp_barrier): Remove.
2227
        (struct gomp_team): Add barrier.  Replace master_barrier with
2228
        master_release.  Replace threads with ordered_release.
2229
        (struct gomp_thread): Replace barrier with release.
2230
        * ordered.c (gomp_ordered_first): Update for ordered_release change.
2231
        (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
2232
        gomp_ordered_static_next, gomp_ordered_sync): Likewise.
2233
        * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
2234
        (GOMP_single_copy_end): Likewise.
2235
        * team.c (gomp_threads_dock): New.
2236
        (gomp_barrier_init, gomp_barrier_destroy): Remove.
2237
        (gomp_thread_start): Use gomp_barrier_wait.
2238
        (new_team, free_team): Update for gomp_team changes.
2239
        (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
2240
        (gomp_team_end): Use gomp_barrier_wait.
2241
        (initialize_team): Update for gomp_thread changes.
2242
        * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
2243
        (gomp_work_share_end_nowait): Use atomic ops when available.
2244
        * config/linux/bar.c, config/linux/bar.h: New files.
2245
        * config/posix/bar.c, config/posix/bar.h: New files.
2246
 
2247
2005-10-13  Jakub Jelinek  
2248
 
2249
        * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
2250
        * testsuite/libgomp.dg/single-2.c: New test.
2251
 
2252
        * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
2253
        lang_link_flags): Unset, so that they aren't inherited from previously
2254
        sourced *.exp.
2255
 
2256
        * testsuite/libgomp.fortran/threadprivate1.f90: New test.
2257
 
2258
2005-10-12  Richard Henderson  
2259
 
2260
        * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
2261
        (libgomp_init): Use lang_test_file, lang_library_path, and
2262
        lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
2263
 
2264
        * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
2265
        (lang_test_file, lang_link_flags): New.
2266
        (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
2267
 
2268
        * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
2269
        testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
2270
        testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
2271
        testsuite/libgomp.c++/parallel-1.C,
2272
        testsuite/libgomp.c++/reduction-1.C,
2273
        testsuite/libgomp.c++/reduction-2.C,
2274
        testsuite/libgomp.c++/reduction-3.C,
2275
        testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
2276
        testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
2277
        testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
2278
        New files, largely cribbed from the C testsuite.
2279
 
2280
2005-10-12  Jakub Jelinek  
2281
 
2282
        * testsuite/libgomp.fortran/character1.f90: New test.
2283
        * testsuite/libgomp.fortran/character2.f90: New test.
2284
 
2285
        * testsuite/libgomp.dg/nested-1.c: New test.
2286
        * testsuite/libgomp.dg/nested-2.c: New test.
2287
        * testsuite/libgomp.fortran/do1.f90: New test.
2288
        * testsuite/libgomp.fortran/do2.f90: New test.
2289
 
2290
        * testsuite/libgomp.fortran/reference1.f90: New test.
2291
 
2292
2005-10-11  Jakub Jelinek  
2293
 
2294
        * testsuite/libgomp.dg/reduction-1.c: New test.
2295
        * testsuite/libgomp.dg/reduction-2.c: New test.
2296
        * testsuite/libgomp.dg/reduction-3.c: New test.
2297
 
2298
2005-10-10  Jakub Jelinek  
2299
 
2300
        * testsuite/libgomp.dg/atomic-1.c: New test.
2301
        * testsuite/libgomp.dg/atomic-2.c: New test.
2302
 
2303
2005-10-09  Richard Henderson  
2304
 
2305
        * critical.c (atomic_lock): New.
2306
        (initialize_critical): Initialize it.
2307
        (GOMP_atomic_start, GOMP_atomic_end): New.
2308
        * libgomp.map: Export them.
2309
        * libgomp_g.h: Declare them.
2310
 
2311
        * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
2312
 
2313
2005-10-02  Richard Henderson  
2314
 
2315
        * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
2316
        to XCFLAGS instead of CFLAGS.
2317
 
2318
2005-09-30  Richard Henderson  
2319
 
2320
        * configure.ac: Determine whether -pthread or -lpthread is needed.
2321
        * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
2322
        * Makefine.in, configure: Rebuild.
2323
 
2324
2005-09-28  Richard Henderson  
2325
 
2326
        * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
2327
        * testsuite/libgomp.dg/omp-single-3.c: New test.
2328
 
2329
2005-09-28  Diego Novillo  
2330
 
2331
        * testsuite/libgomp.dg/omp-single-2.c: New test.
2332
        * testsuite/libgomp.dg/shared-2.c: Fix return code.
2333
 
2334
2005-09-27  Richard Henderson  
2335
 
2336
        * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
2337
        * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
2338
 
2339
2005-09-27  Jakub Jelinek  
2340
 
2341
        * testsuite/libgomp.dg/omp-loop03.c: New test.
2342
 
2343
2005-09-27  Diego Novillo  
2344
 
2345
        * testsuite/libgomp.dg/omp-parallel-for.c: New test.
2346
 
2347
2005-09-27  Diego Novillo  
2348
 
2349
        * testsuite/libgomp.dg/omp-single-1.c: New test.
2350
        * testsuite/libgomp.dg/shared-1.c: Return 0.
2351
        Add prototype for abort.
2352
        * testsuite/libgomp.dg/shared-2.c: Likewise.
2353
 
2354
2005-09-26  Jakub Jelinek  
2355
 
2356
        * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
2357
        constructs.
2358
 
2359
2005-09-26  Diego Novillo  
2360
 
2361
        * testsuite/libgomp.dg/shared-1.c: New test.
2362
        * testsuite/libgomp.dg/shared-2.c: New test.
2363
 
2364
2005-09-24  Richard Henderson  
2365
 
2366
        * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
2367
 
2368
2005-09-24  Richard Henderson  
2369
 
2370
        * iter.c (gomp_iter_static_next): Round up when computing number
2371
        of iterations.  Don't bother distributing a remainder equally.
2372
 
2373
        * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
2374
        Don't call srand.  Zero b before testing.
2375
        (main): New.
2376
 
2377
2005-09-24  Jakub Jelinek  
2378
 
2379
        * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
2380
        * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
2381
 
2382
2005-09-23  Jakub Jelinek  
2383
 
2384
        * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
2385
        without !$omp end do, followed immediately by subroutine end.
2386
 
2387
2005-09-23  Diego Novillo  
2388
 
2389
        * testsuite/libgomp.dg/omp-parallel-if.c: New test.
2390
 
2391
2005-09-22  Richard Henderson  
2392
 
2393
        * critical.c (GOMP_critical_name_start): Change argument to void**.
2394
        Reuse the pointer space if the mutex fits.
2395
        (GOMP_critical_name_end): Likewise.
2396
        (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
2397
        * libgomp_g.h (GOMP_critical_name_start): Update decl.
2398
        (GOMP_critical_name_end): Likewise.
2399
        * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
2400
        * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
2401
 
2402
2005-09-20  Richard Henderson  
2403
 
2404
        * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
2405
        (create_lock_lock): New.
2406
        (initialize_critical): Initialize it.
2407
        * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
2408
        * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
2409
 
2410
2005-09-20  Diego Novillo  
2411
 
2412
        * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
2413
 
2414
2005-09-20  Diego Novillo  
2415
 
2416
        * testsuite/libgomp.dg/omp-loop01.c: New test.
2417
        * testsuite/libgomp.dg/omp-loop02.c: New test.
2418
 
2419
2005-09-20  Jakub Jelinek  
2420
 
2421
        * configure.ac (AC_PROG_FC): Add.
2422
        (USE_FORTRAN): New automake conditional.
2423
        * configure: Rebuilt.
2424
        * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
2425
        (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
2426
        If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
2427
        Add rules to build them.
2428
        * Makefile.in: Rebuilt.
2429
        * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
2430
        OMP_NEST_LOCK_KIND.
2431
        * libgomp.map: Add Fortran wrappers.
2432
        * libgomp_f.h.in: New file.
2433
        * omp_lib.h.in: New file.
2434
        * omp_lib.f90.in: New file.
2435
        * fortran.c: New file.
2436
        * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
2437
        Append libgfortran directory to LD_LIBRARY_PATH if it exists.
2438
        Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
2439
        libgfortran has been built.
2440
        * testsuite/libgomp.fortran/fortran.exp: New file.
2441
        * testsuite/libgomp.fortran/omp_cond1.f: New test.
2442
        * testsuite/libgomp.fortran/omp_cond2.f: New test.
2443
        * testsuite/libgomp.fortran/omp_cond3.F90: New test.
2444
        * testsuite/libgomp.fortran/omp_cond4.F90: New test.
2445
        * testsuite/libgomp.fortran/omp_hello.f: New test.
2446
        * testsuite/libgomp.fortran/omp_orphan.f: New test.
2447
        * testsuite/libgomp.fortran/omp_parse1.f90: New test.
2448
        * testsuite/libgomp.fortran/omp_parse2.f90: New test.
2449
        * testsuite/libgomp.fortran/omp_parse3.f90: New test.
2450
        * testsuite/libgomp.fortran/omp_parse4.f90: New test.
2451
        * testsuite/libgomp.fortran/omp_reduction.f: New test.
2452
        * testsuite/libgomp.fortran/omp_workshare1.f: New test.
2453
        * testsuite/libgomp.fortran/omp_workshare2.f: New test.
2454
 
2455
2005-08-30  Richard Henderson  
2456
 
2457
        * loop.c (GOMP_loop_static_start): Provide fallback wrapper
2458
        function for when aliases are not usable.
2459
        (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
2460
        GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
2461
        GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
2462
        GOMP_loop_dynamic_next, GOMP_loop_guided_next,
2463
        GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
2464
        GOMP_loop_ordered_guided_next): Likewise.
2465
        * ordered.c (GOMP_ordered_start): Likewise.
2466
 
2467
2005-08-01  Diego Novillo  
2468
 
2469
        * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
2470
        * testsuite/libgomp.dg/omp_hello.c: Fix return code
2471
        * testsuite/libgomp.dg/omp_matvec.c: Likewise.
2472
        * testsuite/libgomp.dg/omp_orphan.c: Likewise
2473
        * testsuite/libgomp.dg/omp_reduction.c: Likewise
2474
        * testsuite/libgomp.dg/omp_workshare1.c: Likewise
2475
        * testsuite/libgomp.dg/omp_workshare2.c: Likewise
2476
        * testsuite/libgomp.dg/omp_workshare3.c: Likewise
2477
        * testsuite/libgomp.dg/omp_workshare4.c: Likewise
2478
 
2479
2005-07-07  Eric Christopher  
2480
            Diego Novillo  
2481
 
2482
        * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
2483
        * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
2484
        up code.
2485
        * testsuite/libgomp.dg/omp_matvec.c: Ditto.
2486
        * testsuite/libgomp.dg/omp_orphan.c: Ditto.
2487
        * testsuite/libgomp.dg/omp_reduction.c: Ditto.
2488
        * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
2489
        * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
2490
        * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
2491
        * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
2492
 
2493
2005-06-13  Diego Novillo  
2494
 
2495
        * TOPLEVEL.patch: Remove.
2496
 
2497
2005-05-16  Richard Henderson  
2498
 
2499
        * configure.ac: Test for clock_gettime.
2500
        * config.h.in, configure: Rebuild.
2501
        * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
2502
        (omp_get_wtime): Use clock_gettime if available.
2503
        (omp_get_wtick): Use clock_getres if available.
2504
 
2505
2005-05-11  Richard Henderson  
2506
 
2507
        * config/linux/ia64/futex.h: New file.
2508
        * configure.tgt: Use it.
2509
 
2510
        * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
2511
 
2512
2005-05-07  Richard Henderson  
2513
 
2514
        * config/linux/powerpc/futex.h: New file.
2515
        * configure.tgt: Use it.
2516
 
2517
        * config/linux/i486/futex.h: Merge ...
2518
        * config/linux/x86_64/futex.h: ... into ...
2519
        * config/linux/x86/futex.h: ... here.
2520
        * configure.tgt: Update to match.
2521
 
2522
2005-05-06  Richard Henderson  
2523
 
2524
        * config/linux/alpha/futex.h: Conditionally define SYS_futex.
2525
        * config/linux/i486/futex.h: Likewise.
2526
        * config/linux/x86_64/futex.h: Likewise.
2527
 
2528
        * config/linux/lock.c: New file.
2529
        * config/linux/omp-lock.h: New file.
2530
 
2531
        * critical.c, env.h: Don't include omp.h
2532
        * config/posix/lock.c: Include libgomp.h instead of omp.h.
2533
        * config/posix/time.c: Likewise.
2534
        * config/posix/omp-lock.h: New file.
2535
        * libgomp.h: Include omp-lock.h and omp.h.
2536
        * Makefile.am (nodist_include_HEADERS): New.
2537
        (omp.h): New rule.
2538
        * configure.ac (PERL): New.
2539
        * mkomp_h.pl: New file.
2540
        * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
2541
        with templates.
2542
        * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
2543
 
2544
        * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
2545
        build directory.  Re-add -march=i486 hack.
2546
 
2547
        * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
2548
        (libgomp_link_flags): Remove.
2549
        (libgomp_initialized): Remove.
2550
        (libgomp_init): Don't protect from reinitialization.  Copy code
2551
        from libstdc++ for getting the multilib set correctly.
2552
 
2553
2005-05-05  Richard Henderson  
2554
 
2555
        * config/linux/alpha/futex.h: New file.
2556
        * configure.tgt (alpha*-*-linux*): Use it.
2557
 
2558
        * config/posix/mutex.c: New file.
2559
        * config/posix/sem.c: Use libgomp.h.
2560
 
2561
        * configure.tgt (x86_64-linux): Also test CC for -m32.
2562
        * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
2563
 
2564
        * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
2565
        after $gccpath.
2566
 
2567
        * Makefile.am (SUBDIRS): New.
2568
        (libgomp_la_LDFLAGS): Add -lpthread.
2569
        * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
2570
        * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
2571
 
2572
        * libgomp_g.h: New file.
2573
        * libgomp.h: Split out all public declarations to libgomp_g.h.
2574
        Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
2575
        * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
2576
        * config/linux/sem.h: Likewise.
2577
        * config/posix/sem.h: Likewise.
2578
 
2579
        * Makefile.am (AM_LDFLAGS): New.
2580
        (libgomp_version_script): Split out from ...
2581
        (libgomp_la_LDFLAGS): ... here.
2582
        (libgomp_version_info): New.
2583
        * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
2584
        (LIBGOMP_ENABLE): New.
2585
        (LIBGOMP_CHECK_LINKER_FEATURES): New.
2586
        (LIBGOMP_ENABLE_SYMVERS): New.
2587
        * configure.ac (AC_INIT): Version 1.0.
2588
        (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
2589
        (enable-linux-futex): Likewise.  Rename from enable-futex.
2590
        (libtool_VERSION): New.
2591
        (LIBGOMP_ENABLE_SYMVERS): Use it.
2592
        * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
2593
        * Makefile.in, aclocal.m4, configure: Rebuild.
2594
 
2595
        * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
2596
        (gomp_mutex_unlock_slow): Fix typo.
2597
        * config/linux/sem.c: Similarly.
2598
        (gomp_sem_post_slow): Fix typo.
2599
        * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
2600
        * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
2601
        [__PIC__] (sys_futex0): Don't use tmp output in asm.
2602
 
2603
        * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
2604
        (libgomp_la_LDFLAGS): Add top_srcdir to path.
2605
        * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
2606
        * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
2607
        XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
2608
        * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
2609
        LDFLAGS.  Pull enable_futex check to top-level.
2610
        * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
2611
        * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
2612
 
2613
        First attempt at real configury.
2614
        * Makefile, config.h: Remove file.
2615
        * Makefile.am, Makefile.in: New file.
2616
        * acinclude.m4 aclocal.m4: New file.
2617
        * configure.ac, configure.tgt, configure: New file.
2618
 
2619
        * config/posix/lock.c: Rename from sys-lock.c.
2620
        * config/posix/mutex.h: Rename from sys-mutex.h.
2621
        * config/posix/sem.c: Rename from sys-sem.c.
2622
        * config/posix/sem.h: Rename from sys-sem.h.
2623
        * config/posix/proc.c: Rename from sys-proc.c.
2624
        * config/posix/time.c: Rename from sys-proc.c.
2625
 
2626
        * config/linux/mutex.c: New file.
2627
        * config/linux/mutex.h: New file.
2628
        * config/linux/sem.c: New file.
2629
        * config/linux/sem.h: New file.
2630
        * config/linux/i486/futex.h: New file.
2631
        * config/linux/x86_64/futex.h: New file.
2632
 
2633
2005-05-04  Richard Henderson  
2634
 
2635
        * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
2636
        * libgomp.h: Declare them.
2637
        * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
2638
        gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
2639
 
2640
2005-05-04  Richard Henderson  
2641
 
2642
        * libgomp-1 code drop
2643
 
2644
2005-05-04  Richard Henderson  
2645
 
2646
        * iter.c (gomp_iter_static_next): Return tri-state on 0.
2647
        * ordered.c (gomp_ordered_static_next): Remove not_last argument.
2648
        * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
2649
        (gomp_iter_static_next): Update.
2650
        (gomp_ordered_static_next): Update.
2651
        * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
2652
        (gomp_loop_ordered_static_start): Likewise.  Exit early for a
2653
        totally empty range.
2654
        (gomp_loop_ordered_static_next): Refine test for calling
2655
        gomp_ordered_static_next.
2656
        * testsuite/ordered-1.c: Add case for more threads than iterations.
2657
 
2658
        * iter.c (gomp_iter_runtime_next_locked): Remove.
2659
        * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
2660
        gomp_loop_guided_start, gomp_loop_ordered_static_start,
2661
        gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2662
        gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
2663
        gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
2664
        gomp_loop_ordered_guided_next): Downcase name, make static, add
2665
        an external alias with the old name.
2666
        (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2667
        GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
2668
        switch and call one of the above static functions.
2669
        * libgomp.h: Update.
2670
 
2671
        * work.c (gomp_work_share_start): Lock the mutex for !first too.
2672
        * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
2673
        GOMP_loop_guided_start, GOMP_loop_runtime_start,
2674
        GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
2675
        GOMP_loop_ordered_guided_start): Update to match.
2676
        * sections.c (GOMP_sections_start): Likewise.
2677
        * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
2678
 
2679
        * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
2680
        gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
2681
        Use bounds check instead of modulus.
2682
        (gomp_ordered_sync): Split out of GOMP_ordered_start.
2683
        (gomp_ordered_last): Don't sync with ordered_owner here.
2684
        (gomp_ordered_next): Likewise.
2685
        (gomp_ordered_static_loop_next): Likewise.
2686
        * loop.c, libgomp.h: Update to match.
2687
 
2688
        * libgomp.h (GOMP_barrier): Declare.
2689
 
2690
        * testsuite/barrier-1.c: New file.
2691
        * testsuite/critical-1.c: New file.
2692
        * testsuite/ordered-2.c: New file.
2693
        * testsuite/ordered-1.c: New file.
2694
        * testsuite/sections-1.c: New file.
2695
        * testsuite/single-1.c: New file.
2696
        * testsuite/Makefile (TESTS): Add them.
2697
 
2698
2005-05-04  Richard Henderson  
2699
 
2700
        * libgomp.h (struct gomp_work_share): Add ordered_owner.
2701
        * loop.c (GOMP_loop_static_start): If not the startup thread,
2702
        acquire the mutex to wait for initialization complete.
2703
        (GOMP_loop_ordered_static_start): Likewise.
2704
        (GOMP_loop_ordered_runtime_start): Likewise.
2705
        (GOMP_loop_ordered_static_first): Remove.
2706
        (GOMP_loop_ordered_dynamic_first): Remove.
2707
        (GOMP_loop_ordered_guided_first): Remove.
2708
        (GOMP_loop_ordered_runtime_first): Remove.
2709
        * ordered.c (gomp_ordered_loop_first): Post to own release when
2710
        we're the first thread.
2711
        (gomp_ordered_loop_last): Wait on release if not owner.
2712
        (gomp_ordered_loop_next): Likewise.
2713
        (gomp_ordered_static_loop_init): New.
2714
        (gomp_ordered_static_loop_next): Use ordered_owner.
2715
        (GOMP_ordered_start): Likewise.
2716
        * work.c (gomp_new_work_share): Initialize ordered_owner.
2717
 
2718
2005-05-03  Richard Henderson  
2719
 
2720
        * Makefile (OPT): New.
2721
        (CFLAGS): Use it.
2722
 
2723
        * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
2724
        * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
2725
        * libgomp.h, libgomp.map, NOTES: Update to match.
2726
 
2727
        * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
2728
        Add initialized and thr members.
2729
        (gomp_thread_start): Pause when initially spawned to wait for
2730
        the whole team to be created.
2731
        (gomp_team_start): Release team members at the end.
2732
 
2733
        * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
2734
        (f_foo_1): Use GOMP_loop_end.
2735
        (f_foo_2): Use GOMP_loop_end_nowait.
2736
 
2737
        * testsuite/loop-2.c: New file.
2738
        * testsuite/Makefile (TESTS): Add it.
2739
 
2740
2005-05-03  Richard Henderson  
2741
 
2742
        * iter.c (gomp_iter_static_next): Fix overflow check typo.
2743
        (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
2744
        * team.c (new_team): Initialize oldest_live_gen to 1 if no
2745
        initial work_share.
2746
 
2747
        * testsuite/Makefile: New file.
2748
        * testsuite/loop-1.c: New file.
2749
 
2750
2005-05-03  Richard Henderson  
2751
 
2752
        Initial implementation and checkin.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.