aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp')
-rw-r--r--gcc-4.4.3/libgomp/ChangeLog2514
-rw-r--r--gcc-4.4.3/libgomp/Makefile.am108
-rw-r--r--gcc-4.4.3/libgomp/Makefile.in1115
-rw-r--r--gcc-4.4.3/libgomp/acinclude.m4320
-rw-r--r--gcc-4.4.3/libgomp/aclocal.m4873
-rw-r--r--gcc-4.4.3/libgomp/alloc.c58
-rw-r--r--gcc-4.4.3/libgomp/barrier.c41
-rw-r--r--gcc-4.4.3/libgomp/config.h.in128
-rw-r--r--gcc-4.4.3/libgomp/config/bsd/proc.c114
-rw-r--r--gcc-4.4.3/libgomp/config/linux/affinity.c92
-rw-r--r--gcc-4.4.3/libgomp/config/linux/alpha/futex.h109
-rw-r--r--gcc-4.4.3/libgomp/config/linux/bar.c122
-rw-r--r--gcc-4.4.3/libgomp/config/linux/bar.h118
-rw-r--r--gcc-4.4.3/libgomp/config/linux/futex.h80
-rw-r--r--gcc-4.4.3/libgomp/config/linux/ia64/futex.h94
-rw-r--r--gcc-4.4.3/libgomp/config/linux/ia64/mutex.h65
-rw-r--r--gcc-4.4.3/libgomp/config/linux/lock.c256
-rw-r--r--gcc-4.4.3/libgomp/config/linux/mips/futex.h77
-rw-r--r--gcc-4.4.3/libgomp/config/linux/mutex.c50
-rw-r--r--gcc-4.4.3/libgomp/config/linux/mutex.h60
-rw-r--r--gcc-4.4.3/libgomp/config/linux/omp-lock.h12
-rw-r--r--gcc-4.4.3/libgomp/config/linux/powerpc/futex.h92
-rw-r--r--gcc-4.4.3/libgomp/config/linux/powerpc/mutex.h2
-rw-r--r--gcc-4.4.3/libgomp/config/linux/proc.c363
-rw-r--r--gcc-4.4.3/libgomp/config/linux/ptrlock.c67
-rw-r--r--gcc-4.4.3/libgomp/config/linux/ptrlock.h62
-rw-r--r--gcc-4.4.3/libgomp/config/linux/s390/futex.h84
-rw-r--r--gcc-4.4.3/libgomp/config/linux/sem.c61
-rw-r--r--gcc-4.4.3/libgomp/config/linux/sem.h57
-rw-r--r--gcc-4.4.3/libgomp/config/linux/sparc/futex.h108
-rw-r--r--gcc-4.4.3/libgomp/config/linux/wait.h65
-rw-r--r--gcc-4.4.3/libgomp/config/linux/x86/futex.h153
-rw-r--r--gcc-4.4.3/libgomp/config/mingw32/proc.c80
-rw-r--r--gcc-4.4.3/libgomp/config/mingw32/time.c46
-rw-r--r--gcc-4.4.3/libgomp/config/posix/affinity.c38
-rw-r--r--gcc-4.4.3/libgomp/config/posix/bar.c178
-rw-r--r--gcc-4.4.3/libgomp/config/posix/bar.h115
-rw-r--r--gcc-4.4.3/libgomp/config/posix/lock.c307
-rw-r--r--gcc-4.4.3/libgomp/config/posix/mutex.c1
-rw-r--r--gcc-4.4.3/libgomp/config/posix/mutex.h57
-rw-r--r--gcc-4.4.3/libgomp/config/posix/omp-lock.h23
-rw-r--r--gcc-4.4.3/libgomp/config/posix/proc.c101
-rw-r--r--gcc-4.4.3/libgomp/config/posix/ptrlock.c1
-rw-r--r--gcc-4.4.3/libgomp/config/posix/ptrlock.h66
-rw-r--r--gcc-4.4.3/libgomp/config/posix/sem.c123
-rw-r--r--gcc-4.4.3/libgomp/config/posix/sem.h87
-rw-r--r--gcc-4.4.3/libgomp/config/posix/time.c78
-rw-r--r--gcc-4.4.3/libgomp/config/posix95/lock.c316
-rw-r--r--gcc-4.4.3/libgomp/config/posix95/omp-lock.h21
-rwxr-xr-xgcc-4.4.3/libgomp/configure24816
-rw-r--r--gcc-4.4.3/libgomp/configure.ac342
-rw-r--r--gcc-4.4.3/libgomp/configure.tgt125
-rw-r--r--gcc-4.4.3/libgomp/critical.c146
-rw-r--r--gcc-4.4.3/libgomp/env.c656
-rw-r--r--gcc-4.4.3/libgomp/error.c66
-rw-r--r--gcc-4.4.3/libgomp/fortran.c427
-rw-r--r--gcc-4.4.3/libgomp/iter.c334
-rw-r--r--gcc-4.4.3/libgomp/iter_ull.c341
-rw-r--r--gcc-4.4.3/libgomp/libgomp.h576
-rw-r--r--gcc-4.4.3/libgomp/libgomp.map170
-rw-r--r--gcc-4.4.3/libgomp/libgomp.spec.in3
-rw-r--r--gcc-4.4.3/libgomp/libgomp.texi1721
-rw-r--r--gcc-4.4.3/libgomp/libgomp_f.h.in93
-rw-r--r--gcc-4.4.3/libgomp/libgomp_g.h182
-rw-r--r--gcc-4.4.3/libgomp/loop.c620
-rw-r--r--gcc-4.4.3/libgomp/loop_ull.c571
-rw-r--r--gcc-4.4.3/libgomp/omp.h.in105
-rw-r--r--gcc-4.4.3/libgomp/omp_lib.f90.in294
-rw-r--r--gcc-4.4.3/libgomp/omp_lib.h.in66
-rw-r--r--gcc-4.4.3/libgomp/ordered.c246
-rw-r--r--gcc-4.4.3/libgomp/parallel.c201
-rw-r--r--gcc-4.4.3/libgomp/sections.c143
-rw-r--r--gcc-4.4.3/libgomp/single.c104
-rw-r--r--gcc-4.4.3/libgomp/task.c364
-rw-r--r--gcc-4.4.3/libgomp/team.c555
-rw-r--r--gcc-4.4.3/libgomp/testsuite/Makefile.am13
-rw-r--r--gcc-4.4.3/libgomp/testsuite/Makefile.in424
-rw-r--r--gcc-4.4.3/libgomp/testsuite/config/default.exp18
-rw-r--r--gcc-4.4.3/libgomp/testsuite/gompconfig.exp.in2
-rw-r--r--gcc-4.4.3/libgomp/testsuite/lib/libgomp-dg.exp7
-rw-r--r--gcc-4.4.3/libgomp/testsuite/lib/libgomp.exp218
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/atomic-1.C53
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/c++.exp60
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-1.C29
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-2.C371
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-1.C34
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-2.C34
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-1.C65
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-10.C78
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-11.C100
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-12.C65
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-2.C76
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-3.C89
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-4.C90
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C52
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-6.C50
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-7.C67
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-8.C77
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C60
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-1.C291
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-2.C182
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-3.C239
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-4.C225
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-5.C303
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-6.C109
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-7.C110
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-8.C291
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-1.C96
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-10.C105
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-11.C276
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-12.C387
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-2.C32
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-3.C26
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-4.C20
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-5.C19
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-6.C25
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-7.C22
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-8.C276
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-9.C387
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/master-1.C24
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/nested-1.C28
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/parallel-1.C40
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455-1.C6
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455.C23
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26691.C20
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26943.C62
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C87
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C73
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C32
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr35185.C33
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr38650.C49
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr39573.C39
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-1.C36
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-2.C50
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-3.C51
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/sections-1.C64
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-1.C60
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-2.C47
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-1.C19
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-2.C36
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-3.C21
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-1.C83
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-2.C70
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-3.C90
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-4.C37
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-5.C90
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-6.C86
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-7.C18
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c44
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c47
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c67
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c55
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c45
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c25
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c17
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c11
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c16
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c31
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c48
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c13
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-1.c62
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-10.c139
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-2.c37
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-3.c50
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-4.c18
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-5.c41
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-6.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/autopar-1.c44
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/barrier-1.c50
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/c.exp30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-1.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-2.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-3.c31
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-1.c34
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-2.c34
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-3.c42
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-1.c39
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-2.c35
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/debug-1.c162
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-1.c33
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-2.c46
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-1.c99
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-2.c25
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-1.c31
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-2.c32
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-3.c60
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-1.c140
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-10.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-11.c276
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-12.c387
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-2.c114
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-3.c25
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-4.c28
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-5.c276
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-6.c387
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-7.c105
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-8.c27
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-9.c18
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-1.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-2.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-3.c89
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-1.c49
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-2.c20
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-3.c52
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-4.c65
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-5.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-6.c21
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/nqueens-1.c66
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop01.c96
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop02.c32
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop03.c26
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-nested-1.c28
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-for.c20
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-if.c40
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-1.c19
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-3.c21
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_hello.c39
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_matvec.c72
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_orphan.c47
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_reduction.c35
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare1.c47
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare2.c64
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare3.c43
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare4.c48
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-1.c115
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-2.c82
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-3.c82
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/parallel-1.c48
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455-1.c6
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455.c23
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26171.c14
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-1.c24
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-2.c47
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-3.c56
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-4.c61
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-1.c328
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-2.c328
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr30494.c64
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-1.c32
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-2.c33
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-3.c34
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32468.c26
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c123
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr34513.c33
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35130.c131
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35196.c43
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35549.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35625.c18
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-1.c34
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-2.c46
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-3.c46
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr38650.c49
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39154.c105
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-1.c33
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-2.c39
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-3.c40
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/pr42029.c19
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/private-1.c54
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-1.c36
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-2.c50
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-3.c51
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-4.c36
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-5.c78
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/sections-1.c85
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-1.c58
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-2.c50
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-3.c19
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/single-1.c53
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/single-2.c15
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/sort-1.c379
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/task-1.c84
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/task-2.c53
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/task-3.c70
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/task-4.c40
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/vla-1.c60
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable1.f9081
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable2.f9047
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable3.f9021
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable4.f9047
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.15.1.f9031
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.16.1.f9041
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.18.1.f9059
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.19.1.f9060
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.2.1.f9022
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.21.1.f9019
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.7.f9033
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.8.f9026
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.26.1.f9011
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.1.f9014
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.2.f9016
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.3.f9011
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f9024
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.5.f9029
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.3.1.f906
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.4.f9014
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.5.f9016
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.33.3.f9010
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.38.1.f9012
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.39.1.f9026
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.4.1.f9029
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.40.1.f9054
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.5.1.f908
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a10.1.f9020
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character1.f9072
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character2.f9061
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse1.f9026
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse2.f9053
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90204
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse4.f9012
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.f7
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.inc2
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc2.f7
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc3.f907
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc4.f907
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr1.f9046
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr2.f9031
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do1.f90179
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do2.f90366
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/fortran.exp42
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/jacobi.f261
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate1.f90126
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate2.f90141
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib1.f9076
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib2.f76
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib3.f76
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib4.f9016
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-1.f9024
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-2.f9024
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nested1.f9087
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn1.f9043
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn2.f9034
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn3.f9024
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn4.f9041
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic1.f9039
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic2.f9054
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond1.f22
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond2.f22
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond3.F9024
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond4.F9024
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_hello.f36
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_orphan.f44
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse1.f90185
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90102
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse3.f9096
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse4.f9072
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_reduction.f33
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare1.f48
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare2.f56
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25162.f40
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25219.f9015
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-1.f9031
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-2.f9030
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27416-1.f9019
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-1.f9026
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-2.f9026
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr28390.f8
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr29629.f9020
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32359.f9034
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32550.f9021
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr33880.f9018
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr34020.f9019
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr35130.f9020
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr42162.f9053
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction1.f90181
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction2.f9073
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction3.f90103
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction4.f9056
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction5.f9043
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction6.f9032
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference1.f9034
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference2.f9021
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval1.f90120
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval2.f9027
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing1.f9029
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing2.f9032
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f9021
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/strassen.f9075
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs1.f9012
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs2.f13
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task1.f9027
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task2.f90142
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate1.f9021
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate2.f9096
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate3.f90108
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla1.f90185
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla2.f90142
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla3.f90191
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla4.f90228
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla5.f90200
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla6.f90191
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla7.f90143
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/workshare1.f9030
-rw-r--r--gcc-4.4.3/libgomp/work.c264
397 files changed, 0 insertions, 64635 deletions
diff --git a/gcc-4.4.3/libgomp/ChangeLog b/gcc-4.4.3/libgomp/ChangeLog
deleted file mode 100644
index 4d4c441b0..000000000
--- a/gcc-4.4.3/libgomp/ChangeLog
+++ /dev/null
@@ -1,2514 +0,0 @@
-2010-01-21 Release Manager
-
- * GCC 4.4.3 released.
-
-2009-11-25 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/42162
- * testsuite/libgomp.fortran/pr42162.f90: New test.
-
-2009-11-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/42029
- * testsuite/libgomp.c/pr42029.c: New test.
-
-2009-10-15 Release Manager
-
- * GCC 4.4.2 released.
-
-2009-08-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41102
- omp_lib.h.in: Fix -std=f95 errors.
-
-2009-07-22 Release Manager
-
- * GCC 4.4.1 released.
-
-2009-05-20 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/40174
- * team.c (gomp_thread_start): Destroy thr->release semaphore.
- (gomp_free_pool_helper): Likewise.
-
-2009-04-21 Release Manager
-
- * GCC 4.4.0 released.
-
-2009-04-09 Nick Clifton <nickc@redhat.com>
-
- * iter.c: Change copyright header to refer to version 3 of the
- GNU General Public License with version 3.1 of the GCC Runtime
- Library Exception and to point readers at the COPYING3 and
- COPYING3.RUNTIME files and the FSF's license web page.
- * alloc.c: Likewise.
- * barrier.c: Likewise.
- * config/bsd/proc.c: Likewise.
- * config/linux/affinity.c: Likewise.
- * config/linux/alpha/futex.h: Likewise.
- * config/linux/bar.c: Likewise.
- * config/linux/bar.h: Likewise.
- * config/linux/ia64/futex.h: Likewise.
- * config/linux/ia64/mutex.h: Likewise.
- * config/linux/lock.c: Likewise.
- * config/linux/mips/futex.h: Likewise.
- * config/linux/mutex.c: Likewise.
- * config/linux/mutex.h: Likewise.
- * config/linux/powerpc/futex.h: Likewise.
- * config/linux/proc.c: Likewise.
- * config/linux/ptrlock.c: Likewise.
- * config/linux/ptrlock.h: Likewise.
- * config/linux/s390/futex.h: Likewise.
- * config/linux/sem.c: Likewise.
- * config/linux/sem.h: Likewise.
- * config/linux/sparc/futex.h: Likewise.
- * config/linux/wait.h: Likewise.
- * config/linux/x86/futex.h: Likewise.
- * config/mingw32/proc.c: Likewise.
- * config/mingw32/time.c: Likewise.
- * config/posix/affinity.c: Likewise.
- * config/posix/bar.c: Likewise.
- * config/posix/bar.h: Likewise.
- * config/posix/lock.c: Likewise.
- * config/posix/mutex.h: Likewise.
- * config/posix/proc.c: Likewise.
- * config/posix/ptrlock.h: Likewise.
- * config/posix/sem.c: Likewise.
- * config/posix/sem.h: Likewise.
- * config/posix/time.c: Likewise.
- * config/posix95/lock.c: Likewise.
- * critical.c: Likewise.
- * env.c: Likewise.
- * error.c: Likewise.
- * fortran.c: Likewise.
- * iter_ull.c: Likewise.
- * libgomp.h: Likewise.
- * libgomp_f.h.in: Likewise.
- * libgomp_g.h: Likewise.
- * loop.c: Likewise.
- * loop_ull.c: Likewise.
- * omp.h.in: Likewise.
- * omp_lib.f90.in: Likewise.
- * omp_lib.h.in: Likewise.
- * ordered.c: Likewise.
- * parallel.c: Likewise.
- * sections.c: Likewise.
- * single.c: Likewise.
- * task.c: Likewise.
- * team.c: Likewise.
- * work.c: Likewise.
-
-2009-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/config/default.exp: Change copyright header to refer to
- version 3 of the GNU General Public License and to point readers
- at the COPYING3 file and the FSF's license web page.
-
-2009-04-08 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/39573
- * libgomp.c++/pr39573.C: New test.
-
-2009-04-01 Jakub Jelinek <jakub@redhat.com>
-
- PR other/39591
- * testsuite/libgomp.c/pr39591-1.c: New test.
- * testsuite/libgomp.c/pr39591-2.c: New test.
- * testsuite/libgomp.c/pr39591-3.c: New test.
-
-2009-03-25 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
- * testsuite/libgomp.c/atomic-6.c: Ditto.
-
-2009-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c/39495
- * testsuite/libgomp.c/loop-12.c: New test.
- * testsuite/libgomp.c/loop-11.c: New test.
- * testsuite/libgomp.c++/loop-11.C: New test.
- * testsuite/libgomp.c++/loop-12.C: New test.
- * testsuite/libgomp.c++/for-8.C: New test.
-
-2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2009-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/39154
- * testsuite/libgomp.c/pr39154.c: New test.
-
-2009-01-30 Ian Lance Taylor <iant@google.com>
-
- * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
- libgomp_ld_is_gold. Get gold version number.
- (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
- * configure: Rebuild.
-
-2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
-
- * testsuite/lib/libgomp.exp: Add -B option for targets that
- use libgfortran.a%s in their specs.
-
-2009-01-07 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/38086
- * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
- * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
- HAVE_AS_SYMVER_DIRECTIVE is not defined.
- * configure: Regenerated.
- * config.h.in: Likewise.
-
-2008-12-28 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/38650
- * testsuite/libgomp.c/pr38650.c: New test.
- * testsuite/libgomp.c++/pr38650.C: New test.
-
-2008-12-27 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
-
-2008-12-26 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
-
-2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-12-08 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/36802
- * testsuite/libgomp.c/pr36802-1.c: New test.
- * testsuite/libgomp.c/pr36802-2.c: New test.
- * testsuite/libgomp.c/pr36802-3.c: New test.
-
-2008-12-01 Janis Johnson <janis187@us.ibm.com>
-
- PR libgomp/38270
- * config/linux/powerpc/mutex.h: New.
-
-2008-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/38257
- * testsuite/libgomp.c++/for-7.C: New test.
-
- PR c++/38348
- * testsuite/libgomp.c++/for-6.C: New test.
-
-2008-11-26 Janis Johnson <janis187@us.ibm.com>
-
- PR testsuite/28870
- * testsuite/lib/libgomp.exp: Include new timeout library files.
- (libgomp_target_compile): Set timeout value from new proc.
-
-2008-11-13 Steve Ellcey <sje@cup.hp.com>
-
- PR libgomp/37938
- * config/linux/ia64/mutex.h: New.
-
-2008-11-04 Tobias Burnus <burnus@net-b.de>
-
- PR libgomp/37935
- * libgomp.texi (Runtime library routines, environment variables):
- Update for OpenMP version 3.0.
-
-2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
- Steve Ellcey <sje@cup.hp.com>
-
- * configure: Regenerate for new libtool.
- * Makefile.in: Ditto.
- * testsuite/Makefile.in: Ditto.
-
-2008-09-19 Jakub Jelinek <jakub@redhat.com>
- Andreas Tobler <a.tobler@schweiz.org>
-
- * config/bsd/proc.c: New file.
- * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
- * configure.ac: Check for header <sys/sysctl.h>
- * configure: Regenerate.
- * config.h.in: Likewise.
-
-2008-09-05 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
-
-2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
- * Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
-
- * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
- depend on blddir if blddir exists.
- (libgomp_target_compile): Likewise.
- * testsuite/libgomp.c++/c++.exp: Likewise.
- * testsuite/libgomp.fortran/fortran.exp: Likewise.
-
-2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * libgomp.texi: Update to GFDL 1.2. Update copyright years.
- Do not list GPL as Invariant Section.
-
-2008-07-28 Ilie Garbacea <ilie@mips.com>
- Chao-ying Fu <fu@mips.com>
-
- * configure.tgt: Enable futex for MIPS.
- * config/linux/mips/futex.h: New file.
-
-2008-07-16 Jakub Jelinek <jakub@redhat.com>
-
- * team.c (gomp_team_end): Free team immediately if it has
- just one thread.
-
-2008-07-08 David Edelsohn <edelsohn@gnu.org>
-
- * testsuite/libgomp.c++/c++.exp: Append multilib library path.
- * testsuite/libgomp.fortran/fortran.exp: Same.
- * testsuite/libgomp.c/c.exp: Same.
- * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
- directory to library path first.
-
-2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
-
- * env.c (parse_stacksize): Add cast to avoid warning.
- (parse_spincount): Likewise.
-
-2008-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.c/loop-10.c: New test.
- * libgomp.c/loop-3.c (main): Add lastprivate clause.
- * libgomp.c++/loop-6.C (main): Likewise.
-
- PR debug/36617
- * testsuite/libgomp.c/debug-1.c: New test.
-
-2008-06-19 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.c/nqueens-1.c: New test.
-
- PR c++/36523
- * testsuite/libgomp.c++/task-7.C: New function.
-
-2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
- mutex when HAVE_SYNC_BUILTINS isn't defined.
-
-2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * libgomp.texi (omp_test_lock): Fix typo.
-
-2008-06-12 Tobias Burnus <burnus@net-b.de>
-
- * omp_lib.f90.in: Add "implicit none".
-
-2008-06-12 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/36506
- * testsuite/libgomp.c/reduction-5.c: New test.
-
-2008-06-11 Jakub Jelinek <jakub@redhat.com>
-
- * libgomp.h (struct gomp_task): Add in_tied_task field.
- * task.c (gomp_init_task): Initialize it.
- (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
- unconditionally. Don't call gomp_team_barrier_wake if
- current task is implicit or if(0) from implicit and number of
- running tasks is equal to nthreads - 1.
-
- PR libgomp/36471
- * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
- omp_get_team_size_8): Fix pastos.
-
- PR libgomp/36469
- * configure.ac: Add AC_CHECK_FUNCS (strtoull).
- * configure: Regenerated.
- * config.h.in: Regenerated.
- * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
- defined.
-
-2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
-
- PR bootstrap/36452
- * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
- (GOMP_loop_ull_dynamic_start): Likewise.
- (GOMP_loop_ull_guided_start): Likewise.
- (GOMP_loop_ull_ordered_static_start): Likewise.
- (GOMP_loop_ull_ordered_dynamic_start): Likewise.
- (GOMP_loop_ull_ordered_guided_start): Likewise.
-
-2008-06-06 Jakub Jelinek <jakub@redhat.com>
- Richard Henderson <rth@redhat.com>
- Ulrich Drepper <drepper@redhat.com>
- Jakob Blomer <jakob.blomer@ira.uka.de>
-
- * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
- Substitute also OMP_*LOCK_25*.
- * configure: Regenerated.
- * config.h.in: Regenerated.
- * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
- ptrlock.c and task.c.
- * Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
- * task.c: New file.
- * loop_ull.c: New file.
- * iter_ull.c: New file.
- * libgomp.h: Include ptrlock.h.
- (enum gomp_task_kind): New type.
- (struct gomp_team): Add task_lock, task_queue, task_count,
- task_running_count, single_count fields. Add
- work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
- Remove work_share_lock, generation_mask,
- oldest_live_gen, num_live_gen and init_work_shares fields, add
- work work_share_list_alloc, work_share_list_free and work_share_chunk
- fields. Change work_shares from pointer to pointers into an array.
- Change ordered_release field into gomp_sem_t ** from flexible array
- member. Add implicit_task and initial_work_shares fields.
- Move close to the end of the struct.
- (struct gomp_team_state): Add single_count, last_work_share,
- active_level and level fields, remove work_share_generation.
- (gomp_barrier_handle_tasks): New prototype.
- (gomp_finish_task): New inline function.
- (struct gomp_work_share): Move chunk_size, end, incr into
- transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
- next_ll fields. Reshuffle fields. Add next_alloc,
- next_ws, next_free and inline_ordered_team_ids fields, change
- ordered_team_ids into pointer from flexible array member.
- Add mode field. Put lock and next into a different cache line
- from most of the write-once fields.
- (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
- gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
- gomp_iter_ull_guided_next): New prototypes.
- (gomp_new_icv): New prototype.
- (struct gomp_thread): Add thread_pool and task fields.
- (struct gomp_thread_pool): New type.
- (gomp_new_team): New prototype.
- (gomp_team_start): Change type of last argument.
- (gomp_new_work_share): Removed.
- (gomp_init_work_share, gomp_fini_work_share): New prototypes.
- (gomp_work_share_init_done): New static inline.
- (gomp_throttled_spin_count_var, gomp_available_cpus,
- gomp_managed_threads): New extern decls.
- (gomp_init_task): New prototype.
- (gomp_spin_count_var): New extern var decl.
- (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
- or no alias support, or if not PIC.
- (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
- gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
- gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
- gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
- gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
- gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
- gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
- gomp_test_nest_lock_25): New prototypes.
- (omp_lock_symver, strong_alias): Define.
- (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
- decls.
- (gomp_end_task): New.
- (struct gomp_task_icv, gomp_global_icv): New.
- (gomp_thread_limit_var, gomp_max_active_levels_var): New.
- (struct gomp_task): New.
- (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
- gomp_run_sched_var, gomp_run_sched_chunk): Remove.
- (gomp_icv): New.
- (gomp_schedule_type): Reorder enum to match
- omp_sched_t.
- * team.c (struct gomp_thread_start_data): Add thread_pool and task
- fields.
- (gomp_thread_start): Add gomp_team_barrier_wait call.
- For non-nested case remove clearing of docked thread thr fields.
- Use pool fields instead of global gomp_* variables. Use
- gomp_barrier_wait_last when needed. Initialize ts.active_level.
- Create tasks for each member thread.
- (free_team): Only destroy team barrier, task_lock here and free it.
- (gomp_free_thread): Free last_team if non-NULL.
- (gomp_team_end): Call gomp_team_barrier_wait instead of
- gomp_barrier_wait. For nested case call one extra
- gomp_barrier_wait. Move here some destruction from free_team.
- Call free_team on pool->last_team if any, rather than freeing
- current team. Destroy work_share_list_free_lock ifndef
- HAVE_SYNC_BUILTINS.
- (gomp_new_icv): New function.
- (gomp_threads, gomp_threads_size, gomp_threads_used,
- gomp_threads_dock): Removed.
- (gomp_thread_destructor): New variable.
- (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
- functions.
- (gomp_team_start): Create new pool if current thread doesn't have
- one. Use pool fields instead of global gomp_* variables.
- Initialize thread_pool field for new threads. Clear single_count.
- Change last argument from ws to team, don't create
- new team, set ts.work_share to &team->work_shares[0] and clear
- ts.last_work_share. Don't clear ts.work_share_generation.
- If number of threads changed, adjust atomically gomp_managed_threads.
- Use gomp_init_task instead of gomp_new_task,
- set thr->task to the corresponding implicit_task array entry.
- Create tasks for each member thread. Initialize ts.level.
- (initialize_team): Call pthread_key_create on
- gomp_thread_destructor.
- (team_destructor): New function.
- (new_team): Removed.
- (gomp_new_team): New function.
- (free_team): Free gomp_work_share blocks chained through next_alloc,
- instead of freeing work_shares and destroying work_share_lock.
- (gomp_team_end): Call gomp_fini_work_share. If number of threads
- changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
- * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
- of gomp_barrier_wait.
- * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
- instead of gomp_barrier_wait. Call gomp_work_share_init_done
- if gomp_work_share_start returned true. Don't unlock ws->lock.
- (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
- of gomp_barrier_wait.
- (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
- gomp_work_share_init_done if gomp_work_share_start returned true.
- Don't unlock ws->lock.
- * work.c: Include stddef.h.
- (free_work_share): Use work_share_list_free_lock instead
- of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
- Call gomp_fini_work_share and then either free ws if orphaned, or
- put it into work_share_list_free list of the current team.
- (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
- functions.
- (gomp_work_share_start, gomp_work_share_end,
- gomp_work_share_end_nowait): Rewritten.
- * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
- (openmp_version): Set to 200805.
- (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
- omp_sched_guided, omp_sched_auto): New parameters.
- (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
- omp_set_max_active_levels, omp_get_max_active_levels,
- omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
- omp_get_active_level): New interfaces.
- * omp_lib.h.in (openmp_version): Set to 200805.
- (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
- omp_sched_guided, omp_sched_auto): New parameters.
- (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
- omp_set_max_active_levels, omp_get_max_active_levels,
- omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
- omp_get_active_level): New externals.
- * loop.c: Include limits.h.
- (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
- GFS_AUTO.
- (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
- Likewise. Use gomp_icv.
- (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
- ts.static_trip here.
- (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
- gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
- (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
- gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
- don't unlock ws->lock, otherwise lock it.
- (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
- gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
- (gomp_parallel_loop_start): Call gomp_new_team instead of
- gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
- Adjust gomp_team_start caller. Pass 0 as second argument to
- gomp_resolve_num_threads.
- (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
- If adding ws->chunk_size nthreads + 1 times after end won't
- overflow, set ws->mode to 1.
- * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
- GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
- GOMP_loop_ull_ordered_static_start,
- GOMP_loop_ull_ordered_dynamic_start,
- GOMP_loop_ull_ordered_guided_start,
- GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
- GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
- GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
- GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
- GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
- prototypes.
- * libgomp.map: Export lock routines also @@OMP_2.0.
- (GOMP_loop_ordered_dynamic_first,
- GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
- GOMP_loop_ordered_static_first): Remove.
- (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
- GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
- GOMP_loop_ull_ordered_dynamic_next,
- GOMP_loop_ull_ordered_dynamic_start,
- GOMP_loop_ull_ordered_guided_next,
- GOMP_loop_ull_ordered_guided_start,
- GOMP_loop_ull_ordered_runtime_next,
- GOMP_loop_ull_ordered_runtime_start,
- GOMP_loop_ull_ordered_static_next,
- GOMP_loop_ull_ordered_static_start,
- GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
- GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
- GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
- (omp_set_schedule, omp_get_schedule,
- omp_get_thread_limit, omp_set_max_active_levels,
- omp_get_max_active_levels, omp_get_level,
- omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
- omp_set_schedule_, omp_set_schedule_8_,
- omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
- omp_set_max_active_levels_, omp_set_max_active_levels_8_,
- omp_get_max_active_levels_, omp_get_level_,
- omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
- omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
- New exports @@OMP_3.0.
- * omp.h.in (omp_sched_t): New type.
- (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
- omp_set_max_active_levels, omp_get_max_active_levels,
- omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
- omp_get_active_level): New prototypes.
- * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
- gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
- gomp_thread_limit_var, gomp_remaining_threads_count,
- gomp_remaining_threads_lock): New variables.
- (parse_spincount): New function.
- (initialize_env): Call gomp_init_num_threads unconditionally.
- Initialize gomp_available_cpus. Call parse_spincount,
- initialize gomp_{,throttled_}spin_count_var
- depending on presence and value of OMP_WAIT_POLICY and
- GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
- Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
- OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
- for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
- gomp_remaining_threads_lock if needed. Use gomp_global_icv.
- (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
- gomp_run_sched_var, gomp_run_sched_chunk): Remove.
- (gomp_global_icv): New.
- (parse_schedule): Use it. Parse "auto".
- (omp_set_num_threads): Use gomp_icv.
- (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
- Likewise.
- (omp_get_max_threads): Move from parallel.c.
- (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
- omp_set_max_active_levels, omp_get_max_active_levels): New functions,
- add ialias.
- (parse_stacksize, parse_wait_policy): New functions.
- * fortran.c: Rewrite lock wrappers, if symbol versioning provide
- both wrappers for compatibility and new locks.
- (omp_set_schedule, omp_get_schedule,
- omp_get_thread_limit, omp_set_max_active_levels,
- omp_get_max_active_levels, omp_get_level,
- omp_get_ancestor_thread_num, omp_get_team_size,
- omp_get_active_level): New ialias_redirect.
- (omp_set_schedule_, omp_set_schedule_8_,
- omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
- omp_set_max_active_levels_, omp_set_max_active_levels_8_,
- omp_get_max_active_levels_, omp_get_level_,
- omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
- omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
- New functions.
- * parallel.c: Include limits.h.
- (gomp_resolve_num_threads): Add count argument. Rewritten.
- (GOMP_parallel_start): Call gomp_new_team and pass that as last
- argument to gomp_team_start. Pass 0 as second argument to
- gomp_resolve_num_threads.
- (GOMP_parallel_end): Decrease gomp_remaining_threads_count
- if gomp_thread_limit_var != ULONG_MAX.
- (omp_in_parallel): Implement using ts.active_level.
- (omp_get_max_threads): Move to env.c.
- (omp_get_level, omp_get_ancestor_thread_num,
- omp_get_team_size, omp_get_active_level): New functions,
- add ialias.
- * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
- after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
- gomp_iter_dynamic_next instead of the _locked variant and don't take
- lock around it, otherwise acquire it before calling
- gomp_iter_dynamic_next_locked.
- (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
- gomp_iter_dynamic_next instead of the _locked variant and don't take
- lock around it.
- (GOMP_parallel_sections_start): Call gomp_new_team instead of
- gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
- Adjust gomp_team_start caller. Pass count as second argument to
- gomp_resolve_num_threads, don't adjust num_threads after the call.
- Use gomp_icv.
- * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
- ws->chunk_size by incr.
- (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
- code.
- * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
- types.
- (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
- (omp_check_defines): Check even the compat defines.
- * config/linux/ptrlock.c: New file.
- * config/linux/ptrlock.h: New file.
- * config/linux/wait.h: New file.
- * config/posix/ptrlock.c: New file.
- * config/posix/ptrlock.h: New file.
- * config/linux/bar.h (gomp_team_barrier_wait,
- gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
- (gomp_team_barrier_set_task_pending,
- gomp_team_barrier_clear_task_pending,
- gomp_team_barrier_set_waiting_for_tasks,
- gomp_team_barrier_waiting_for_tasks,
- gomp_team_barrier_done): New inlines.
- (gomp_barrier_t): Rewritten.
- (gomp_barrier_state_t): New typedef.
- (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
- gomp_barrier_wait_start): Rewritten.
- (gomp_barrier_wait_end): Change second argument to
- gomp_barrier_state_t.
- (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
- inlines.
- * config/linux/bar.c: Include wait.h instead of libgomp.h and
- futex.h.
- (gomp_barrier_wait_end): Rewritten.
- (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
- gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
- * config/posix/bar.h (gomp_barrier_t): Add generation field.
- (gomp_barrier_state_t): New typedef.
- (gomp_team_barrier_wait,
- gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
- (gomp_barrier_wait_start): Or all but low 2 bits from generation
- into the return value. Return gomp_barrier_state_t.
- (gomp_team_barrier_set_task_pending,
- gomp_team_barrier_clear_task_pending,
- gomp_team_barrier_set_waiting_for_tasks,
- gomp_team_barrier_waiting_for_tasks,
- gomp_team_barrier_done): New inlines.
- (gomp_barrier_wait_end): Change second argument to
- gomp_barrier_state_t.
- (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
- inlines.
- * config/posix/bar.c (gomp_barrier_init): Clear generation field.
- (gomp_barrier_wait_end): Change second argument to
- gomp_barrier_state_t.
- (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
- gomp_team_barrier_wake): New functions.
- * config/linux/mutex.c: Include wait.h instead of libgomp.h and
- futex.h.
- (gomp_futex_wake, gomp_futex_wait): New variables.
- (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
- * config/linux/lock.c: Rewrite to make locks task owned,
- for backwards compatibility provide the old entrypoints
- if symbol versioning. Include wait.h instead of libgomp.h and
- futex.h.
- (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
- * config/posix95/lock.c: Rewrite to make locks task owned,
- for backwards compatibility provide the old entrypoints
- if symbol versioning.
- * config/posix/lock.c: Rewrite to make locks task owned,
- for backwards compatibility provide the old entrypoints
- if symbol versioning.
- * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
- (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
- * config/posix/proc.c, config/mingw32/proc.c: Similarly.
- * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
- (sys_futex0): Return error code.
- (futex_wake, futex_wait): If ENOSYS was returned, clear
- FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
- (cpu_relax, atomic_write_barrier): New static inlines.
- * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
- (futex_wake, futex_wait): If ENOSYS was returned, clear
- FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
- (cpu_relax, atomic_write_barrier): New static inlines.
- * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
- (sys_futex0): Return error code.
- (futex_wake, futex_wait): If ENOSYS was returned, clear
- FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
- (cpu_relax, atomic_write_barrier): New static inlines.
- * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
- (sys_futex0): Return error code.
- (futex_wake, futex_wait): If ENOSYS was returned, clear
- FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
- (cpu_relax, atomic_write_barrier): New static inlines.
- * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
- (sys_futex0): Return error code.
- (futex_wake, futex_wait): If ENOSYS was returned, clear
- FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
- (cpu_relax, atomic_write_barrier): New static inlines.
- * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
- (sys_futex0): Return error code.
- (futex_wake, futex_wait): If ENOSYS was returned, clear
- FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
- (cpu_relax, atomic_write_barrier): New static inlines.
- * config/linux/sem.c: Include wait.h instead of libgomp.h and
- futex.h.
- (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
- * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
- * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
- types.
- (omp_nest_lock_t): Change owner into void *, add lock field.
- * config/posix95/omp-lock.h: Include semaphore.h.
- (omp_lock_25_t, omp_nest_lock_25_t): New types.
- (omp_lock_t): Use sem_t instead of mutex if semaphores
- aren't broken.
- (omp_nest_lock_t): Likewise. Change owner to void *.
- * config/posix/omp-lock.h: Include semaphore.h.
- (omp_lock_25_t, omp_nest_lock_25_t): New types.
- (omp_lock_t): Use sem_t instead of mutex if semaphores
- aren't broken.
- (omp_nest_lock_t): Likewise. Add owner field.
-
-2008-06-06 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.c/collapse-1.c: New test.
- * testsuite/libgomp.c/collapse-2.c: New test.
- * testsuite/libgomp.c/collapse-3.c: New test.
- * testsuite/libgomp.c/icv-1.c: New test.
- * testsuite/libgomp.c/icv-2.c: New test.
- * testsuite/libgomp.c/lib-2.c: New test.
- * testsuite/libgomp.c/lock-1.c: New test.
- * testsuite/libgomp.c/lock-2.c: New test.
- * testsuite/libgomp.c/lock-3.c: New test.
- * testsuite/libgomp.c/loop-4.c: New test.
- * testsuite/libgomp.c/loop-5.c: New test.
- * testsuite/libgomp.c/loop-6.c: New test.
- * testsuite/libgomp.c/loop-7.c: New test.
- * testsuite/libgomp.c/loop-8.c: New test.
- * testsuite/libgomp.c/loop-9.c: New test.
- * testsuite/libgomp.c/nested-3.c: New test.
- * testsuite/libgomp.c/nestedfn-6.c: New test.
- * testsuite/libgomp.c/sort-1.c: New test.
- * testsuite/libgomp.c/task-1.c: New test.
- * testsuite/libgomp.c/task-2.c: New test.
- * testsuite/libgomp.c/task-3.c: New test.
- * testsuite/libgomp.c/task-4.c: New test.
- * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
- to C++ testsuite default compiler options.
- * testsuite/libgomp.c++/collapse-1.C: New test.
- * testsuite/libgomp.c++/collapse-2.C: New test.
- * testsuite/libgomp.c++/ctor-10.C: New test.
- * testsuite/libgomp.c++/for-1.C: New test.
- * testsuite/libgomp.c++/for-2.C: New test.
- * testsuite/libgomp.c++/for-3.C: New test.
- * testsuite/libgomp.c++/for-4.C: New test.
- * testsuite/libgomp.c++/for-5.C: New test.
- * testsuite/libgomp.c++/loop-8.C: New test.
- * testsuite/libgomp.c++/loop-9.C: New test.
- * testsuite/libgomp.c++/loop-10.C: New test.
- * testsuite/libgomp.c++/task-1.C: New test.
- * testsuite/libgomp.c++/task-2.C: New test.
- * testsuite/libgomp.c++/task-3.C: New test.
- * testsuite/libgomp.c++/task-4.C: New test.
- * testsuite/libgomp.c++/task-5.C: New test.
- * testsuite/libgomp.c++/task-6.C: New test.
- * testsuite/libgomp.fortran/allocatable1.f90: New test.
- * testsuite/libgomp.fortran/allocatable2.f90: New test.
- * testsuite/libgomp.fortran/allocatable3.f90: New test.
- * testsuite/libgomp.fortran/allocatable4.f90: New test.
- * testsuite/libgomp.fortran/collapse1.f90: New test.
- * testsuite/libgomp.fortran/collapse2.f90: New test.
- * testsuite/libgomp.fortran/collapse3.f90: New test.
- * testsuite/libgomp.fortran/collapse4.f90: New test.
- * testsuite/libgomp.fortran/lastprivate1.f90: New test.
- * testsuite/libgomp.fortran/lastprivate2.f90: New test.
- * testsuite/libgomp.fortran/lib4.f90: New test.
- * testsuite/libgomp.fortran/lock-1.f90: New test.
- * testsuite/libgomp.fortran/lock-2.f90: New test.
- * testsuite/libgomp.fortran/nested1.f90: New test.
- * testsuite/libgomp.fortran/nestedfn4.f90: New test.
- * testsuite/libgomp.fortran/strassen.f90: New test.
- * testsuite/libgomp.fortran/tabs1.f90: New test.
- * testsuite/libgomp.fortran/tabs2.f: New test.
- * testsuite/libgomp.fortran/task1.f90: New test.
- * testsuite/libgomp.fortran/task2.f90: New test.
- * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
- * testsuite/libgomp.fortran/vla5.f90: Likewise.
- * testsuite/libgomp.c/pr26943-2.c: Likewise.
- * testsuite/libgomp.c/pr26943-3.c: Likewise.
- * testsuite/libgomp.c/pr26943-4.c: Likewise.
-
-2008-05-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/36308
- * testsuite/libgomp.c++/ctor-11.C: New test.
- * testsuite/libgomp.c++/ctor-12.C: New test.
-
-2008-05-15 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
-
-2008-05-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/36106
- * testsuite/libgomp.c/atomic-5.c: New test.
- * testsuite/libgomp.c/atomic-6.c: New test.
- * testsuite/libgomp.c/autopar-1.c: New test.
-
-2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
- (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
- (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
- (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
- * configure: Regenerate.
- * Makefile.in, testsuite/Makefile.in: Likewise.
-
-2008-04-18 Paolo Bonzini <bonzini@gnu.org>
-
- PR bootstrap/35457
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2008-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/35611
- * testsuite/libgomp.c/atomic-4.c: New test.
-
- PR libgomp/35625
- * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
- (gomp_iter_guided_next): Likewise.
- * testsuite/libgomp.c/pr35625.c: New test.
-
-2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * aclocal.m4: Regenerate.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2008-03-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/35185
- * testsuite/libgomp.c++/pr35185.C: New test.
-
-2008-03-12 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/35549
- * testsuite/libgomp.c/pr35549.c: New test.
-
-2008-03-06 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.c/atomic-3.c: New test.
-
-2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/33197
- * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
- .F08 file suffixes.
-
-2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
-
- PR libgomp/33131
- * configure.ac: Add ACX_HEADER_STRING.
- * env.c: Include strings.h.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2008-02-15 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/35196
- * testsuite/libgomp.c/pr35196.c: New test.
-
- PR middle-end/35130
- * testsuite/libgomp.fortran/pr35130.f90: New test.
- * testsuite/libgomp.c/pr35130.c: New test.
-
-2008-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/33880
- * testsuite/libgomp.c/pr33880.c: New test.
- * testsuite/libgomp.fortran/pr33880.f90: New test.
-
-2008-01-24 David Edelsohn <edelsohn@gnu.org>
-
- * configure: Regenerate.
-
-2008-01-08 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac: Move futex checking into ../config/futex.m4.
- * configure: Rebuilt.
- * aclocal.m4: Rebuilt.
- * Makefile.in: Rebuilt.
-
- * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
- 2007-10-15 ../config/tls.m4 change.
-
-2007-12-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/34513
- * testsuite/libgomp.c/pr34513.c: New test.
- * testsuite/libgomp.c++/pr34513.C: New test.
-
-2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/32765
- * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
-
-2007-12-04 Jakub Jelinek <jakub@redhat.com>
-
- * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
-
-2007-12-03 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.c/private-1.c: New test.
-
-2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
- Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.am: Use space as vpath separator. Use 'vpath %'
- instead of 'VPATH ='.
- * Makefile.in: Regenerate.
-
-2007-11-23 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Adjust makeinfo version check.
- * configure: Regenerate.
-
-2007-11-10 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/34020
- * testsuite/libgomp.fortran/pr34020.f90: New test.
-
-2007-11-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/33894
- * testsuite/libgomp.c++/atomic-1.C: New test.
-
-2007-10-25 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/33275
- * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
- Make x and y integers rather than (implicit) reals. Add private (j)
- clause to the last omp parallel.
-
-2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
-
- * configure: Regenerate following changes to ../config/tls.m4.
-
-2007-09-28 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/stack.f90: New test.
-
-2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/mingw32/proc.c: New file.
-
-2007-09-05 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
- (main): Use __get_cpuid to get i386 target fetaures.
- * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
- (main): Use __get_cpuid to get x86_64 target fetaures.
-
-2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/32765
- * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
- * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
-
-2007-07-12 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/32550
- * testsuite/libgomp.fortran/pr32550.f90: New test.
- * testsuite/libgomp.fortran/crayptr2.f90: New test.
-
-2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
-
- * aclocal.m4: Regenerated.
-
-2007-07-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/32359
- * testsuite/libgomp.fortran/pr32359.f90: New.
-
-2007-07-02 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/32468
- * sections.c (GOMP_parallel_sections_start): Only decrease
- number of threads to COUNT if dyn_var is true.
- * testsuite/libgomp.c/pr32468.c: New test.
-
-2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- PR libgomp/26308
- * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
-
-2007-06-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/32362
- * testsuite/libgomp.c/pr32362-1.c: New test.
- * testsuite/libgomp.c/pr32362-2.c: New test.
- * testsuite/libgomp.c/pr32362-3.c: New test.
-
-2007-06-07 Jakub Jelinek <jakub@redhat.com>
-
- * team.c (gomp_team_start): Fix setting up thread_attr
- stack size.
-
-2007-06-02 Paolo Bonzini <bonzini@gnu.org>
-
- * configure: Regenerate.
-
-2007-05-23 Steve Ellcey <sje@cup.hp.com>
-
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2007-05-04 Jakub Jelinek <jakub@redhat.com>
-
- * config/linux/proc.c: New file.
-
- PR libgomp/28482
- * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
-
-2007-04-19 Daniel Franke <franke.daniel@gmail.com>
-
- * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
-
-2007-04-16 Matthias Klose <doko@debian.org>
-
- * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
- flags if not building with -m64.
- * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
- flag for i?86-*-* targets, if current target matches -m64.
-
-2007-04-14 Steve Ellcey <sje@cup.hp.com>
-
- * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
- * Makefile.in: Regenerate.
-
-2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR testsuite/31369
- * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
- ld_library_path.
- * testsuite/libgomp.fortran/fortran.exp: Likewise.
-
-2007-04-04 Jakub Jelinek <jakub@redhat.com>
-
- * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
- decls.
- (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
- * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
- (parse_affinity): New function.
- (initialize_env): Call it and gomp_init_affinity.
- * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
- create new pthread_attr_t and call gomp_init_thread_affinity
- on it for each thread before passing the attribute to pthread_create.
- * config/linux/affinity.c: New file.
- * config/posix/affinity.c: New file.
- * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
- * configure: Rebuilt.
- * config.h.in: Rebuilt.
- * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
- * Makefile.in: Rebuilt.
-
-2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
-
- * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
- *-*-darwin*.
- * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
- and use it if found.
-
-2007-03-18 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/config/default.exp: New file.
- * testsuite/lib/libgomp.exp: New file.
- * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
- libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
- load_lib *, load_gcc_lib *): Move to libgomp.exp.
- (libgomp_load): Remove.
- * testsuite/lib/libgomp.exp (libgomp_init): Compute
- always_ld_library_path, not ld_library_path. Set additional_flags
- to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
- (target_compile): Do not call libgomp_init. Append lang_library_path
- and lang_link_flags to options.
- * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
- ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
- here.
- * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
- always_ld_library_path. Set LD_LIBRARY_PATH here.
- * testsuite/libgomp.fortran/fortran.exp: Ditto.
- * testsuite/libgomp.c/atomic-1.c: Set dg-options to
- "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
- CX8 flag.
- * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
- lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
- * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
- * testsuite/libgomp.c/pr29947-1.c: Ditto.
- * testsuite/libgomp.c/atomic-10.c: Ditto.
-
-2007-03-21 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
- dg-final cleanup-modules line.
- * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
- * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
- * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
- * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
- * testsuite/libgomp.fortran/reduction5.f90: Likewise.
- * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
- * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
-
-2007-03-18 Andreas Schwab <schwab@suse.de>
-
- * acinclude.m4: Adjust regular expression for ld version
- extraction.
- * configure: Regenerate.
-
-2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
-
- * Makefile.am: Add install-pdf target as copied from
- automake v1.10 rules.
- * Makefile.in: Regenerate
-
-2007-02-07 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/28486
- * configure: Regenerate.
-
- PR c++/30703
- * testsuite/libgomp.c++/pr30703.C: New test.
-
-2007-02-02 Jakub Jelinek <jakub@redhat.com>
-
- Revert:
- 2006-07-05 Eric Christopher <echristo@apple.com>
- * configure.ac: Depend addition of -pthread on host OS.
- * configure: Regenerate.
-
-2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * libgomp.texi: Fix spacing after abbreviations.
-
-2007-01-31 Daniel Franke <franke.daniel@gmail.com>
-
- PR libgomp/30546
- * configure.ac: Add check for makeinfo
- * Makefile.am: Redefined target libgomp.info, build libgomp.info only
- if an appropiate version of makeinfo is found.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2007-01-29 Daniel Franke <franke.daniel@gmail.com>
-
- PR libgomp/30540
- * libgomp.texi: More about implementation-dependent settings.
-
-2007-01-26 Tobias Burnus <burnus@net-b.de>
-
- * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
-
-2007-01-24 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/30494
- * testsuite/libgomp.c/pr30494.c: New test.
-
-2007-01-15 Tom Tromey <tromey@redhat.com>
-
- * configure: Rebuilt.
- * configure.ac: Fixed comment.
-
-2007-01-14 Daniel Franke <franke.daniel@gmail.com>
-
- * libgomp.texi: Document implementation specific default values of
- environment variables.
-
-2006-12-21 Daniel Franke <franke.daniel@gmail.com>
-
- PR libgomp/28209
- * libgomp.texi: New file.
- * configure.ac: Add --enable-generated-files-in-srcdir option.
- * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
- files to srcdir.
- * Makefile.in: Regenerated.
- * config.h.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
- * NOTES: Removed.
-
-2006-12-04 Daniel Franke <franke.daniel@gmail.com>
-
- PR libgomp/29949
- * env.c (omp_set_num_threads): Set illegal thread count to 1.
-
-2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * configure: Regenerate.
-
-2006-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/29947
- * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
- start if there shouldn't be any loop iterations.
- (gomp_loop_ordered_static_start): Remove start == end test.
- * testsuite/libgomp.c/pr29947-1.c: New test.
- * testsuite/libgomp.c/pr29947-2.c: New test.
-
-2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * configure.tgt: Force initial-exec TLS model on Linux only.
-
-2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
-
- * configure: Regenerated.
-
-2006-11-09 Uros Bizjak <ubizjak@gmail.com>
-
- * env.c (parse_schedule): Reject out of range values.
- (parse_unsigned_long): Reject out of range, negative or zero values.
-
-2006-10-29 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/29629
- * testsuite/libgomp.fortran/pr29629.f90: New test.
-
-2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR libgomp/29494
- * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
- * config/posix95: New directory.
- * config/posix95/omp-lock.h: New file.
- * config/posix95/lock.c: Likewise.
-
-2006-10-14 Geoffrey Keating <geoffk@apple.com>
-
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
- '<' to '<='.
-
-2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
- test.
- * configure: Regenerate.
- * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
-
-2006-09-26 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/25261
- PR middle-end/28790
- * testsuite/libgomp.c/nestedfn-4.c: New test.
- * testsuite/libgomp.c/nestedfn-5.c: New test.
- * testsuite/libgomp.fortran/nestedfn3.f90: New test.
-
- PR fortran/29097
- * testsuite/libgomp.fortran/condinc1.f: New test.
- * testsuite/libgomp.fortran/condinc2.f: New test.
- * testsuite/libgomp.fortran/condinc3.f90: New test.
- * testsuite/libgomp.fortran/condinc4.f90: New test.
- * testsuite/libgomp.fortran/condinc1.inc: New file.
-
-2006-09-18 Tom Tromey <tromey@redhat.com>
-
- * configure: Rebuilt.
-
-2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/28768
- PR preprocessor/14634
- * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
- to AC_DEFINE.
- * configure: Regenerate.
-
-2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * testsuite/libgomp.fortran/reduction3.f90: Change
- -2147483648 to -huge(i)-1 to avoid overflow.
- * testsuite/libgomp.fortran/reduction4.f90: Change
- Z'ffffffff' to not(0) to avoid overflow.
-
-2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
-
- PR libgomp/25938
- * Makefile.am (libsubincludedir): New.
- (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
- * Makefile.in: Regenerate.
-
-2006-08-17 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/28725
- * env.c: Include ctype.h.
- (parse_schedule, parse_unsigned_long, parse_boolean): Allow
- leading and/or trailing whitespace and compare strings case
- insensitively.
-
-2006-07-16 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/28390
- * testsuite/libgomp.fortran/pr28390.f: New test.
-
-2006-07-05 Eric Christopher <echristo@apple.com>
-
- * configure.ac: Depend addition of -pthread on host OS.
- * configure: Regenerate.
-
-2006-06-21 Jakub Jelinek <jakub@redhat.com>
-
- * critical.c (GOMP_critical_name_start): Fix *pptr initialization
- when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
- defined.
-
-2006-06-20 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/26175
- PR libgomp/26477
- * configure.ac: If neither --enable-linux-futex nor
- --disable-linux-futex is passed, determine the default by checking
- for compiling and/or running against NPTL. With --enable-linux-futex,
- check if SYS_gettid and SYS_futex are defined.
- * configure: Rebuilt.
-
-2006-06-14 Richard Henderson <rth@redhat.com>
-
- PR libgomp/28008
- * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
- undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
-
-2006-06-09 Richard Henderson <rth@redhat.com>
-
- * env.c (gomp_nthreads_var): Change to unsigned long.
- (gomp_run_sched_chunk): Likewise.
- (parse_unsigned_long): Rename from parse_num_threads and generalize.
- (initialize_env): Initialize gomp_thread_attr.
- * libgomp.h (gomp_nthreads_var): Update decl.
- (gomp_run_sched_chunk): Likewise.
- (gomp_thread_attr): Declare.
- * team.c (gomp_thread_attr): Export.
- (initialize_team): Don't initialize it.
-
-2006-06-09 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/27916
- * testsuite/libgomp.fortran/pr27916-1.f90: New test.
- * testsuite/libgomp.fortran/pr27916-2.f90: New test.
-
-2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * config/mingw32/time.c: New file.
- * configure.tgt: Use it.
-
-2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
-
-2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR libgomp/27612
- * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
- * testsuite/libgomp.c/critical-1.c: Likewise.
- * testsuite/libgomp.c/loop-1.c: Likewise.
- * testsuite/libgomp.c/loop-2.c: Likewise.
- * testsuite/libgomp.c/single-1.c: Likewise.
- * testsuite/libgomp.c/ordered-1.c: Likewise.
- * testsuite/libgomp.c/ordered-2.c: Likewise.
-
-2006-05-15 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/27416
- * libgomp.fortran/pr27416-1.f90: New test.
-
-2006-05-03 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/27395
- * testsuite/libgomp.fortran/pr27395-1.f90: New test.
- * testsuite/libgomp.fortran/pr27395-2.f90: New test.
-
-2006-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/26943
- * testsuite/libgomp.c/pr26943-1.c: New test.
- * testsuite/libgomp.c/pr26943-2.c: New test.
- * testsuite/libgomp.c/pr26943-3.c: New test.
- * testsuite/libgomp.c/pr26943-4.c: New test.
- * testsuite/libgomp.c++/pr27337.C: Remove barrier.
- * testsuite/libgomp.c++/pr26943.C: New test.
-
-2006-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/27337
- * testsuite/libgomp.c++/pr27337.C: New test.
-
-2006-04-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c/26171
- * testsuite/libgomp.c/pr26171.c: New test.
-
-2006-04-25 Richard Henderson <rth@redhat.com>
-
- PR libgomp/25865
- * configure.ac: Use GCC_CHECK_TLS.
- * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
- * Makefile.in, aclocal.m4, configure: Regenerate.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
- directory names containing underscores.
-
-2006-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/26691
- * testsuite/libgomp.c++/pr26691.C: New test.
-
-2006-03-13 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/retval2.f90: New test.
-
-2006-03-09 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.c++: New directory.
-
-2006-02-25 Shantonu Sen <ssen@opendarwin.org>
-
- * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
- * config/posix/sem.c: Implement the above.
-
-2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
-
- * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
- define HAVE_BROKEN_POSIX_SEMAPHORES.
- * configure: Rebuilt.
- * config.h.in: Rebuilt.
-
-2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR bootstrap/26161
- * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
- for the other pthread check.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2006-02-15 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/25938
- PR libgomp/25984
- * Makefile.am (fincludedir): New variable.
- (nodist_include_HEADERS): Remove Fortran files.
- (nodist_finclude_HEADERS): New variable.
- * Makefile.in: Regenerated.
-
-2006-02-13 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
- Remove tests for returning assumed character length arrays.
-
-2006-02-12 Roger Sayle <roger@eyesopen.com>
- John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- PR libgomp/25936
- * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
-
-2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
-
-2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
- part of LD_LIBRARY_PATH manually.
-
-2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libgomp/25852
- * testsuite/lib/libgomp-dg.exp (blddir): Set it in
- libgomp_init.
-
-2005-01-25 Paolo Bonzini <bonzini@gnu.org>
-
- PR libgomp/25884
- * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
- * configure.ac (PERL): Don't set.
- (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
- (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
- OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
- * omp.h.in: Wrap the new configure substitutions with @ characters.
- * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
- * aclocal.m4, configure, Makefile.in: Regenerate.
- * mkomp_h.pl: Delete.
-
-2005-01-24 Paolo Bonzini <bonzini@gnu.org>
-
- PR libgomp/25259
- * configure.ac: Use GCC_HEADER_STDINT.
- * libgomp.h: Include gstdint.h.
- * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
- * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
-
-2006-01-24 Richard Henderson <rth@redhat.com>
-
- PR libgomp/25942
- * configure.ac: Add AM_MAINTAINER_MODE.
- * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
-
-2006-01-24 Diego Novillo <dnovillo@redhat.com>
-
- * Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
-
-2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
-
- * config/posix/proc.c: Conditional include of sys/loadavg.h for
- Solaris.
- * configure.ac: Add check for loadavg.h.
- (link_gomp): Adjust comment.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2006-01-21 Steve Ellcey <sje@cup.hp.com>
-
- PR libgomp/25877
- * configure.ac: Remove check for alloca.h.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * libgomp.h: define gomp_alloca to be __builtin_alloca.
- * team.c: Remove use of alloca.h.
- Call gomp_alloca instead of alloca.
-
-2006-01-20 Steve Ellcey <sje@cup.hp.com>
-
- PR libgomp/25877
- * team.c: Add include of alloca.h.
- * configure.ac: Add check for alloca.h.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2006-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/25219
- * testsuite/libgomp.fortran/pr25219.f90: New test.
-
-2005-12-05 Uros Bizjak <uros@kss-loka.si>
-
- * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
- testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
- testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
- testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
- testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
- testsuite/libgomp.fortran/threadprivate1.f90,
- testsuite/libgomp.fortran/threadprivate2.f90,
- testsuite/libgomp.fortran/threadprivate3.f90,
- testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
- testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
- testsuite/libgomp.fortran/omp_parse3.f90: Change required
- effective-target to TLS runtime.
-
- * testsuite/libgomp.fortran/pr25162.f: Require
- effective-target TLS runtime.
-
-2005-12-01 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/nestedfn2.f90: New test.
- * testsuite/libgomp.c/nestedfn-3.c: New test.
-
-2005-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/25162
- * testsuite/libgomp.fortran/pr25162.f: New test.
-
-2005-11-28 Jakub Jelinek <jakub@redhat.com>
-
- * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
- CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
-
-2005-11-25 Jakub Jelinek <jakub@redhat.com>
-
- * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
- libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
- omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
- single.c, team.c, work.c, config/linux/alpha/futex.h,
- config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
- config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
- config/linux/powerpc/futex.h, config/linux/s390/futex.h,
- config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
- config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
- config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
- config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
- FSF address.
-
-2005-11-18 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
- to nodist_noinst_HEADERS.
- * Makefile.in: Rebuilt.
-
- * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
- add integer count field.
- * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
- omp_nest_lock_t type change.
- (omp_init_nest_lock): Likewise. Initialize count to 0.
- (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
- Increment count.
- (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
- Decrement count.
- (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
- Increment count if successful and return the new nesting level.
- * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
- * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
- * testsuite/libgomp.c/lib-1.c: New test.
- * testsuite/libgomp.fortran/lib1.f90: New test.
- * testsuite/libgomp.fortran/lib2.f: New test.
- * testsuite/libgomp.fortran/lib3.f: New test.
-
-2005-11-17 Richard Henderson <rth@redhat.com>
-
- PR 24845
- * Makefile.am (nodist_toolexeclib_HEADERS): New.
- * configure.ac (link_gomp): New. Substitute it.
- (AC_CONFIG_FILES): Add libgomp.spec.
- * libgomp.spec.in: New file.
- * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
- * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
-
-2005-11-18 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/reduction1.f90: Adjust for
- reduction(-:var) behaving the same as reduction(+:var).
- * testsuite/libgomp.c/reduction-4.c: New test.
-
-2005-11-15 Uros Bizjak <uros@kss-loka.si>
-
- * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
- testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
- testsuite/libgomp.c/copyin-3.c,
- testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
- testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
- testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
- testsuite/libgomp.c++/pr24455.C,
- testsuite/libgomp.fortran/threadprivate1.f90,
- testsuite/libgomp.fortran/threadprivate2.f90,
- testsuite/libgomp.fortran/threadprivate3.f90,
- testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
- testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
- testsuite/libgomp.fortran/omp_parse3.f90: Require
- effective-target TLS.
-
-2005-11-14 Diego Novillo <dnovillo@redhat.com>
-
- * HEADER: Remove.
-
-2005-11-13 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/24797
- * team.c (initialize_team): Pass NULL rather than free as
- pthread_key_create destructor. Initialize thread specific data
- pointer in initial thread to a static local variable rather than
- malloced memory.
-
-2005-11-11 Uros Bizjak <uros@kss-loka.si>
-
- * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
- its location to ld_library_path.
-
-2005-11-10 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.c/c.exp: Rename from dg.exp.
-
-2005-11-10 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.c: Rename from libgomp.dg.
-
-2005-11-09 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
- threadprivate variable 'i'.
-
-2005-11-09 Jakub Jelinek <jakub@redhat.com>
-
- * config/linux/s390/futex.h: New file.
- * configure.tgt: Use it.
-
- * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
- before the parallel.
-
-2005-11-08 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/24734
- * testsuite/libgomp.c++/master-1.C: New test.
-
-2005-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.dg/copyin-3.c: New test.
-
-2005-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/retval1.f90: New test.
- * testsuite/libgomp.fortran/vla7.f90: New test.
-
-2005-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/vla2.f90: New test.
- * testsuite/libgomp.fortran/vla3.f90: New test.
- * testsuite/libgomp.fortran/vla4.f90: New test.
- * testsuite/libgomp.fortran/vla5.f90: New test.
- * testsuite/libgomp.fortran/vla6.f90: New test.
-
-2005-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * config/linux/sparc/futex.h: New file.
- * configure.tgt: Use it.
- * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
-
- * critical.c: Include stdlib.h.
- * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
- ignoring return value.
- * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
- LIBGOMP_CHECK_SYNC_BUILTINS check.
- * configure: Rebuilt.
-
-2005-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/vla1.f90: New test.
-
-2005-10-31 Richard Henderson <rth@redhat.com>
-
- * testsuite/libgomp.fortran/character2.f90: Fix race condition
- setting 's' in different threads.
-
-2005-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * libgomp.h (attribute_hidden, ialias): Define.
- * config/posix/proc.c (omp_get_num_procs): Add ialias.
- * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
- * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
- omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
- omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
- omp_test_lock, omp_test_nest_lock): Likewise.
- * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
- omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
- omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
- omp_test_lock, omp_test_nest_lock): Likewise.
- * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
- omp_get_dynamic, omp_get_nested): Likewise.
- * parallel.c (omp_get_num_threads, omp_get_max_threads,
- omp_get_thread_num, omp_in_parallel): Likewise.
- * fortran.c (ialias_redirect): Define.
- (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
- omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
- omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
- omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
- omp_set_num_threads, omp_get_dynamic, omp_get_nested,
- omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
- omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
- omp_get_wtime): Add ialias_redirect.
-
-2005-10-30 Jakub Jelinek <jakub@redhat.com>
-
- * fortran.c: Include stdlib.h.
-
-2005-10-29 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
- * Makefile.in: Regenerated.
-
-2005-10-28 Jakub Jelinek <jakub@redhat.com>
-
- * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
- * libgomp_f.h.in (omp_check_defines): New function.
- * env.c: Include libgomp_f.h.
- (initialize_env): Call omp_check_defines.
-
- * testsuite/libgomp.dg/copyin-2.c: New test.
- * testsuite/libgomp.c++/copyin-2.C: New test.
- * testsuite/libgomp.fortran/threadprivate3.f90: New test.
-
- * testsuite/libgomp.fortran/threadprivate2.f90: New test.
- * testsuite/libgomp.fortran/sharing2.f90: New test.
-
- * testsuite/libgomp.dg/copyin-1.c: New test.
- * testsuite/libgomp.c++/copyin-1.C: New test.
-
-2005-10-26 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/crayptr1.f90: New test.
-
- * testsuite/libgomp.fortran/workshare1.f90: New test.
-
- * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
- only test.
- * libgomp.fortran/sharing1.f90: New test.
-
-2005-10-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/24502
- * testsuite/libgomp.c++/loop-7.C: New test.
-
- * testsuite/libgomp.dg/nestedfn-2.c: New test.
-
- * testsuite/libgomp.dg/nestedfn-1.c: New test.
- * testsuite/libgomp.fortran/reduction6.f90: New test.
- * testsuite/libgomp.fortran/nestedfn1.f90: New test.
-
-2005-10-23 Richard Henderson <rth@redhat.com>
-
- * testsuite/libgomp.c++/ctor-1.C: New.
- * testsuite/libgomp.c++/ctor-2.C: New.
- * testsuite/libgomp.c++/ctor-3.C: New.
- * testsuite/libgomp.c++/ctor-4.C: New.
- * testsuite/libgomp.c++/ctor-5.C: New.
- * testsuite/libgomp.c++/ctor-6.C: New.
- * testsuite/libgomp.c++/ctor-7.C: New.
- * testsuite/libgomp.c++/ctor-8.C: New.
- * testsuite/libgomp.c++/ctor-9.C: New.
-
-2005-10-21 Diego Novillo <dnovillo@redhat.com>
-
- PR 24455
- * testsuite/libgomp.c++/pr24455-1.C: New test.
- * testsuite/libgomp.c++/pr24455.C: New test.
- * testsuite/libgomp.dg/pr24455-1.c: New test.
- * testsuite/libgomp.dg/pr24455.c: New test.
-
-2005-10-20 Richard Henderson <rth@redhat.com>
-
- * testsuite/libgomp.c++/loop-6.C: New.
- * testsuite/libgomp.dg/loop-3.c: New.
-
-2005-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
- explicitly private.
- * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
- explicitly shared.
-
-2005-10-19 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.fortran/jacobi.f: New test.
-
-2005-10-19 Richard Henderson <rth@redhat.com>
-
- * configure.tgt (i?86-linux): Default to with_arch instead of
- CFLAGS. Add -mtune to match target_cpu.
- (x86_64-linux): Tune to i686.
-
- * fortran.c (omp_test_nest_lock_): Fix typo.
-
-2005-10-19 Jakub Jelinek <jakub@redhat.com>
-
- * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
- gomp_ordered_sync): Do nothing if team->nthreads == 1.
- * testsuite/libgomp.dg/ordered-3.c: New test.
-
- * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
- Remove volatile keyword.
-
- * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
- in COMMON block to avoid warnings on 64-bit targets.
-
-2005-10-18 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/shared-3.c: New test.
-
-2005-10-18 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
- * testsuite/libgomp.fortran/reduction5.f90: New test.
-
-2005-10-18 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
- dg-options.
- * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
- flush loop now that __sync_synchronize has proper memory barrier.
- * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
- Add -ffixed-form to dg-options.
-
-2005-10-17 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.fortran/fortran.exp: Also gather tests
- from subdirectories.
- * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
- * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
-
-2005-10-17 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
- lang_library_path exists. Use find instead of glob to gather tests.
- * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
-
-2005-10-17 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
- * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
-
-2005-10-15 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.dg/vla-1.c: New test.
-
- * testsuite/libgomp.fortran/reference2.f90: New test.
-
- * testsuite/libgomp.fortran/character2.f90: Remove explicit
- declaration of omp_get_thread_num.
- * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
- use omp_lib.
-
- * testsuite/libgomp.fortran/reduction1.f90: New test.
- * testsuite/libgomp.fortran/reduction2.f90: New test.
- * testsuite/libgomp.fortran/reduction3.f90: New test.
- * testsuite/libgomp.fortran/reduction4.f90: New test.
-
-2005-10-13 Richard Henderson <rth@redhat.com>
-
- * Makefile.am (libgomp_la_SOURCES): Add bar.c.
- * Makefile.in: Regenerate.
- * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
- * libgomp.h: Include bar.h.
- (struct gomp_barrier): Remove.
- (struct gomp_team): Add barrier. Replace master_barrier with
- master_release. Replace threads with ordered_release.
- (struct gomp_thread): Replace barrier with release.
- * ordered.c (gomp_ordered_first): Update for ordered_release change.
- (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
- gomp_ordered_static_next, gomp_ordered_sync): Likewise.
- * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
- (GOMP_single_copy_end): Likewise.
- * team.c (gomp_threads_dock): New.
- (gomp_barrier_init, gomp_barrier_destroy): Remove.
- (gomp_thread_start): Use gomp_barrier_wait.
- (new_team, free_team): Update for gomp_team changes.
- (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
- (gomp_team_end): Use gomp_barrier_wait.
- (initialize_team): Update for gomp_thread changes.
- * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
- (gomp_work_share_end_nowait): Use atomic ops when available.
- * config/linux/bar.c, config/linux/bar.h: New files.
- * config/posix/bar.c, config/posix/bar.h: New files.
-
-2005-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
- * testsuite/libgomp.dg/single-2.c: New test.
-
- * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
- lang_link_flags): Unset, so that they aren't inherited from previously
- sourced *.exp.
-
- * testsuite/libgomp.fortran/threadprivate1.f90: New test.
-
-2005-10-12 Richard Henderson <rth@redhat.com>
-
- * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
- (libgomp_init): Use lang_test_file, lang_library_path, and
- lang_link_flags, set by the subdirectory files. Add -fopenmp here.
-
- * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
- (lang_test_file, lang_link_flags): New.
- (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
-
- * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
- testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
- testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
- testsuite/libgomp.c++/parallel-1.C,
- testsuite/libgomp.c++/reduction-1.C,
- testsuite/libgomp.c++/reduction-2.C,
- testsuite/libgomp.c++/reduction-3.C,
- testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
- testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
- testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
- New files, largely cribbed from the C testsuite.
-
-2005-10-12 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/character1.f90: New test.
- * testsuite/libgomp.fortran/character2.f90: New test.
-
- * testsuite/libgomp.dg/nested-1.c: New test.
- * testsuite/libgomp.dg/nested-2.c: New test.
- * testsuite/libgomp.fortran/do1.f90: New test.
- * testsuite/libgomp.fortran/do2.f90: New test.
-
- * testsuite/libgomp.fortran/reference1.f90: New test.
-
-2005-10-11 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.dg/reduction-1.c: New test.
- * testsuite/libgomp.dg/reduction-2.c: New test.
- * testsuite/libgomp.dg/reduction-3.c: New test.
-
-2005-10-10 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.dg/atomic-1.c: New test.
- * testsuite/libgomp.dg/atomic-2.c: New test.
-
-2005-10-09 Richard Henderson <rth@redhat.com>
-
- * critical.c (atomic_lock): New.
- (initialize_critical): Initialize it.
- (GOMP_atomic_start, GOMP_atomic_end): New.
- * libgomp.map: Export them.
- * libgomp_g.h: Declare them.
-
- * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
-
-2005-10-02 Richard Henderson <rth@redhat.com>
-
- * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
- to XCFLAGS instead of CFLAGS.
-
-2005-09-30 Richard Henderson <rth@redhat.com>
-
- * configure.ac: Determine whether -pthread or -lpthread is needed.
- * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
- * Makefine.in, configure: Rebuild.
-
-2005-09-28 Richard Henderson <rth@redhat.com>
-
- * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
- * testsuite/libgomp.dg/omp-single-3.c: New test.
-
-2005-09-28 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/omp-single-2.c: New test.
- * testsuite/libgomp.dg/shared-2.c: Fix return code.
-
-2005-09-27 Richard Henderson <rth@redhat.com>
-
- * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
- * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
-
-2005-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.dg/omp-loop03.c: New test.
-
-2005-09-27 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/omp-parallel-for.c: New test.
-
-2005-09-27 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/omp-single-1.c: New test.
- * testsuite/libgomp.dg/shared-1.c: Return 0.
- Add prototype for abort.
- * testsuite/libgomp.dg/shared-2.c: Likewise.
-
-2005-09-26 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
- constructs.
-
-2005-09-26 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/shared-1.c: New test.
- * testsuite/libgomp.dg/shared-2.c: New test.
-
-2005-09-24 Richard Henderson <rth@redhat.com>
-
- * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
-
-2005-09-24 Richard Henderson <rth@redhat.com>
-
- * iter.c (gomp_iter_static_next): Round up when computing number
- of iterations. Don't bother distributing a remainder equally.
-
- * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
- Don't call srand. Zero b before testing.
- (main): New.
-
-2005-09-24 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
- * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
-
-2005-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
- without !$omp end do, followed immediately by subroutine end.
-
-2005-09-23 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/omp-parallel-if.c: New test.
-
-2005-09-22 Richard Henderson <rth@redhat.com>
-
- * critical.c (GOMP_critical_name_start): Change argument to void**.
- Reuse the pointer space if the mutex fits.
- (GOMP_critical_name_end): Likewise.
- (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
- * libgomp_g.h (GOMP_critical_name_start): Update decl.
- (GOMP_critical_name_end): Likewise.
- * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
- * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
-
-2005-09-20 Richard Henderson <rth@redhat.com>
-
- * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
- (create_lock_lock): New.
- (initialize_critical): Initialize it.
- * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
- * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
-
-2005-09-20 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
-
-2005-09-20 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/omp-loop01.c: New test.
- * testsuite/libgomp.dg/omp-loop02.c: New test.
-
-2005-09-20 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (AC_PROG_FC): Add.
- (USE_FORTRAN): New automake conditional.
- * configure: Rebuilt.
- * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
- (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
- If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
- Add rules to build them.
- * Makefile.in: Rebuilt.
- * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
- OMP_NEST_LOCK_KIND.
- * libgomp.map: Add Fortran wrappers.
- * libgomp_f.h.in: New file.
- * omp_lib.h.in: New file.
- * omp_lib.f90.in: New file.
- * fortran.c: New file.
- * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
- Append libgfortran directory to LD_LIBRARY_PATH if it exists.
- Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
- libgfortran has been built.
- * testsuite/libgomp.fortran/fortran.exp: New file.
- * testsuite/libgomp.fortran/omp_cond1.f: New test.
- * testsuite/libgomp.fortran/omp_cond2.f: New test.
- * testsuite/libgomp.fortran/omp_cond3.F90: New test.
- * testsuite/libgomp.fortran/omp_cond4.F90: New test.
- * testsuite/libgomp.fortran/omp_hello.f: New test.
- * testsuite/libgomp.fortran/omp_orphan.f: New test.
- * testsuite/libgomp.fortran/omp_parse1.f90: New test.
- * testsuite/libgomp.fortran/omp_parse2.f90: New test.
- * testsuite/libgomp.fortran/omp_parse3.f90: New test.
- * testsuite/libgomp.fortran/omp_parse4.f90: New test.
- * testsuite/libgomp.fortran/omp_reduction.f: New test.
- * testsuite/libgomp.fortran/omp_workshare1.f: New test.
- * testsuite/libgomp.fortran/omp_workshare2.f: New test.
-
-2005-08-30 Richard Henderson <rth@redhat.com>
-
- * loop.c (GOMP_loop_static_start): Provide fallback wrapper
- function for when aliases are not usable.
- (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
- GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
- GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
- GOMP_loop_dynamic_next, GOMP_loop_guided_next,
- GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
- GOMP_loop_ordered_guided_next): Likewise.
- * ordered.c (GOMP_ordered_start): Likewise.
-
-2005-08-01 Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
- * testsuite/libgomp.dg/omp_hello.c: Fix return code
- * testsuite/libgomp.dg/omp_matvec.c: Likewise.
- * testsuite/libgomp.dg/omp_orphan.c: Likewise
- * testsuite/libgomp.dg/omp_reduction.c: Likewise
- * testsuite/libgomp.dg/omp_workshare1.c: Likewise
- * testsuite/libgomp.dg/omp_workshare2.c: Likewise
- * testsuite/libgomp.dg/omp_workshare3.c: Likewise
- * testsuite/libgomp.dg/omp_workshare4.c: Likewise
-
-2005-07-07 Eric Christopher <echristo@redhat.com>
- Diego Novillo <dnovillo@redhat.com>
-
- * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
- * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
- up code.
- * testsuite/libgomp.dg/omp_matvec.c: Ditto.
- * testsuite/libgomp.dg/omp_orphan.c: Ditto.
- * testsuite/libgomp.dg/omp_reduction.c: Ditto.
- * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
- * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
- * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
- * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
-
-2005-06-13 Diego Novillo <dnovillo@redhat.com>
-
- * TOPLEVEL.patch: Remove.
-
-2005-05-16 Richard Henderson <rth@redhat.com>
-
- * configure.ac: Test for clock_gettime.
- * config.h.in, configure: Rebuild.
- * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
- (omp_get_wtime): Use clock_gettime if available.
- (omp_get_wtick): Use clock_getres if available.
-
-2005-05-11 Richard Henderson <rth@redhat.com>
-
- * config/linux/ia64/futex.h: New file.
- * configure.tgt: Use it.
-
- * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
-
-2005-05-07 Richard Henderson <rth@redhat.com>
-
- * config/linux/powerpc/futex.h: New file.
- * configure.tgt: Use it.
-
- * config/linux/i486/futex.h: Merge ...
- * config/linux/x86_64/futex.h: ... into ...
- * config/linux/x86/futex.h: ... here.
- * configure.tgt: Update to match.
-
-2005-05-06 Richard Henderson <rth@redhat.com>
-
- * config/linux/alpha/futex.h: Conditionally define SYS_futex.
- * config/linux/i486/futex.h: Likewise.
- * config/linux/x86_64/futex.h: Likewise.
-
- * config/linux/lock.c: New file.
- * config/linux/omp-lock.h: New file.
-
- * critical.c, env.h: Don't include omp.h
- * config/posix/lock.c: Include libgomp.h instead of omp.h.
- * config/posix/time.c: Likewise.
- * config/posix/omp-lock.h: New file.
- * libgomp.h: Include omp-lock.h and omp.h.
- * Makefile.am (nodist_include_HEADERS): New.
- (omp.h): New rule.
- * configure.ac (PERL): New.
- * mkomp_h.pl: New file.
- * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
- with templates.
- * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
-
- * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
- build directory. Re-add -march=i486 hack.
-
- * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
- (libgomp_link_flags): Remove.
- (libgomp_initialized): Remove.
- (libgomp_init): Don't protect from reinitialization. Copy code
- from libstdc++ for getting the multilib set correctly.
-
-2005-05-05 Richard Henderson <rth@redhat.com>
-
- * config/linux/alpha/futex.h: New file.
- * configure.tgt (alpha*-*-linux*): Use it.
-
- * config/posix/mutex.c: New file.
- * config/posix/sem.c: Use libgomp.h.
-
- * configure.tgt (x86_64-linux): Also test CC for -m32.
- * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
-
- * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
- after $gccpath.
-
- * Makefile.am (SUBDIRS): New.
- (libgomp_la_LDFLAGS): Add -lpthread.
- * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
- * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
-
- * libgomp_g.h: New file.
- * libgomp.h: Split out all public declarations to libgomp_g.h.
- Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
- * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
- * config/linux/sem.h: Likewise.
- * config/posix/sem.h: Likewise.
-
- * Makefile.am (AM_LDFLAGS): New.
- (libgomp_version_script): Split out from ...
- (libgomp_la_LDFLAGS): ... here.
- (libgomp_version_info): New.
- * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
- (LIBGOMP_ENABLE): New.
- (LIBGOMP_CHECK_LINKER_FEATURES): New.
- (LIBGOMP_ENABLE_SYMVERS): New.
- * configure.ac (AC_INIT): Version 1.0.
- (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
- (enable-linux-futex): Likewise. Rename from enable-futex.
- (libtool_VERSION): New.
- (LIBGOMP_ENABLE_SYMVERS): Use it.
- * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
- * Makefile.in, aclocal.m4, configure: Rebuild.
-
- * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
- (gomp_mutex_unlock_slow): Fix typo.
- * config/linux/sem.c: Similarly.
- (gomp_sem_post_slow): Fix typo.
- * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
- * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
- [__PIC__] (sys_futex0): Don't use tmp output in asm.
-
- * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
- (libgomp_la_LDFLAGS): Add top_srcdir to path.
- * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
- * configure.ac: Check for getloadavg. Substitute XCFLAGS and
- XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
- * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
- LDFLAGS. Pull enable_futex check to top-level.
- * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
- * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
-
- First attempt at real configury.
- * Makefile, config.h: Remove file.
- * Makefile.am, Makefile.in: New file.
- * acinclude.m4 aclocal.m4: New file.
- * configure.ac, configure.tgt, configure: New file.
-
- * config/posix/lock.c: Rename from sys-lock.c.
- * config/posix/mutex.h: Rename from sys-mutex.h.
- * config/posix/sem.c: Rename from sys-sem.c.
- * config/posix/sem.h: Rename from sys-sem.h.
- * config/posix/proc.c: Rename from sys-proc.c.
- * config/posix/time.c: Rename from sys-proc.c.
-
- * config/linux/mutex.c: New file.
- * config/linux/mutex.h: New file.
- * config/linux/sem.c: New file.
- * config/linux/sem.h: New file.
- * config/linux/i486/futex.h: New file.
- * config/linux/x86_64/futex.h: New file.
-
-2005-05-04 Richard Henderson <rth@redhat.com>
-
- * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
- * libgomp.h: Declare them.
- * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
- gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
-
-2005-05-04 Richard Henderson <rth@redhat.com>
-
- * libgomp-1 code drop
-
-2005-05-04 Richard Henderson <rth@redhat.com>
-
- * iter.c (gomp_iter_static_next): Return tri-state on 0.
- * ordered.c (gomp_ordered_static_next): Remove not_last argument.
- * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
- (gomp_iter_static_next): Update.
- (gomp_ordered_static_next): Update.
- * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
- (gomp_loop_ordered_static_start): Likewise. Exit early for a
- totally empty range.
- (gomp_loop_ordered_static_next): Refine test for calling
- gomp_ordered_static_next.
- * testsuite/ordered-1.c: Add case for more threads than iterations.
-
- * iter.c (gomp_iter_runtime_next_locked): Remove.
- * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
- gomp_loop_guided_start, gomp_loop_ordered_static_start,
- gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
- gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
- gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
- gomp_loop_ordered_guided_next): Downcase name, make static, add
- an external alias with the old name.
- (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
- GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
- switch and call one of the above static functions.
- * libgomp.h: Update.
-
- * work.c (gomp_work_share_start): Lock the mutex for !first too.
- * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
- GOMP_loop_guided_start, GOMP_loop_runtime_start,
- GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
- GOMP_loop_ordered_guided_start): Update to match.
- * sections.c (GOMP_sections_start): Likewise.
- * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
-
- * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
- gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
- Use bounds check instead of modulus.
- (gomp_ordered_sync): Split out of GOMP_ordered_start.
- (gomp_ordered_last): Don't sync with ordered_owner here.
- (gomp_ordered_next): Likewise.
- (gomp_ordered_static_loop_next): Likewise.
- * loop.c, libgomp.h: Update to match.
-
- * libgomp.h (GOMP_barrier): Declare.
-
- * testsuite/barrier-1.c: New file.
- * testsuite/critical-1.c: New file.
- * testsuite/ordered-2.c: New file.
- * testsuite/ordered-1.c: New file.
- * testsuite/sections-1.c: New file.
- * testsuite/single-1.c: New file.
- * testsuite/Makefile (TESTS): Add them.
-
-2005-05-04 Richard Henderson <rth@redhat.com>
-
- * libgomp.h (struct gomp_work_share): Add ordered_owner.
- * loop.c (GOMP_loop_static_start): If not the startup thread,
- acquire the mutex to wait for initialization complete.
- (GOMP_loop_ordered_static_start): Likewise.
- (GOMP_loop_ordered_runtime_start): Likewise.
- (GOMP_loop_ordered_static_first): Remove.
- (GOMP_loop_ordered_dynamic_first): Remove.
- (GOMP_loop_ordered_guided_first): Remove.
- (GOMP_loop_ordered_runtime_first): Remove.
- * ordered.c (gomp_ordered_loop_first): Post to own release when
- we're the first thread.
- (gomp_ordered_loop_last): Wait on release if not owner.
- (gomp_ordered_loop_next): Likewise.
- (gomp_ordered_static_loop_init): New.
- (gomp_ordered_static_loop_next): Use ordered_owner.
- (GOMP_ordered_start): Likewise.
- * work.c (gomp_new_work_share): Initialize ordered_owner.
-
-2005-05-03 Richard Henderson <rth@redhat.com>
-
- * Makefile (OPT): New.
- (CFLAGS): Use it.
-
- * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
- * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
- * libgomp.h, libgomp.map, NOTES: Update to match.
-
- * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
- Add initialized and thr members.
- (gomp_thread_start): Pause when initially spawned to wait for
- the whole team to be created.
- (gomp_team_start): Release team members at the end.
-
- * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
- (f_foo_1): Use GOMP_loop_end.
- (f_foo_2): Use GOMP_loop_end_nowait.
-
- * testsuite/loop-2.c: New file.
- * testsuite/Makefile (TESTS): Add it.
-
-2005-05-03 Richard Henderson <rth@redhat.com>
-
- * iter.c (gomp_iter_static_next): Fix overflow check typo.
- (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
- * team.c (new_team): Initialize oldest_live_gen to 1 if no
- initial work_share.
-
- * testsuite/Makefile: New file.
- * testsuite/loop-1.c: New file.
-
-2005-05-03 Richard Henderson <rth@redhat.com>
-
- Initial implementation and checkin.
diff --git a/gcc-4.4.3/libgomp/Makefile.am b/gcc-4.4.3/libgomp/Makefile.am
deleted file mode 100644
index d1967a028..000000000
--- a/gcc-4.4.3/libgomp/Makefile.am
+++ /dev/null
@@ -1,108 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-ACLOCAL_AMFLAGS = -I .. -I ../config
-SUBDIRS = testsuite
-
-## May be used by toolexeclibdir.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-
-config_path = @config_path@
-search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
-
-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
-
-vpath % $(strip $(search_path))
-
-AM_CPPFLAGS = $(addprefix -I, $(search_path))
-AM_CFLAGS = $(XCFLAGS)
-AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
-
-toolexeclib_LTLIBRARIES = libgomp.la
-nodist_toolexeclib_HEADERS = libgomp.spec
-
-if LIBGOMP_BUILD_VERSIONED_SHLIB
-libgomp_version_script = -Wl,--version-script,$(top_srcdir)/libgomp.map
-else
-libgomp_version_script =
-endif
-libgomp_version_info = -version-info $(libtool_VERSION)
-libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
- -no-undefined
-
-libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
- iter_ull.c loop.c loop_ull.c ordered.c parallel.c sections.c single.c \
- task.c team.c work.c lock.c mutex.c proc.c sem.c bar.c ptrlock.c \
- time.c fortran.c affinity.c
-
-nodist_noinst_HEADERS = libgomp_f.h
-nodist_libsubinclude_HEADERS = omp.h
-if USE_FORTRAN
-nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod
-endif
-
-omp_lib_kinds.mod: omp_lib.mod
- :
-omp_lib.mod: omp_lib.f90
- $(FC) $(FCFLAGS) -fsyntax-only omp_lib.f90
-fortran.lo: libgomp_f.h
-fortran.o: libgomp_f.h
-env.lo: libgomp_f.h
-env.o: libgomp_f.h
-
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-
-install-pdf: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-# Automake Documentation:
-# If your package has Texinfo files in many directories, you can use the
-# variable TEXINFO_TEX to tell Automake where to find the canonical
-# `texinfo.tex' for your package. The value of this variable should be
-# the relative path from the current `Makefile.am' to `texinfo.tex'.
-TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
-
-# Defines info, dvi, pdf and html targets
-MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
-info_TEXINFOS = libgomp.texi
-
-# AM_CONDITIONAL on configure option --generated-files-in-srcdir
-if GENINSRC
-STAMP_GENINSRC = stamp-geninsrc
-else
-STAMP_GENINSRC =
-endif
-
-# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
-if BUILD_INFO
-STAMP_BUILD_INFO = stamp-build-info
-else
-STAMP_BUILD_INFO =
-endif
-
-
-all-local: $(STAMP_GENINSRC)
-
-stamp-geninsrc: libgomp.info
- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
- @touch $@
-
-libgomp.info: $(STAMP_BUILD_INFO)
-
-stamp-build-info: libgomp.texi
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
- @touch $@
-
-
-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
-MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
diff --git a/gcc-4.4.3/libgomp/Makefile.in b/gcc-4.4.3/libgomp/Makefile.in
deleted file mode 100644
index fe709e827..000000000
--- a/gcc-4.4.3/libgomp/Makefile.in
+++ /dev/null
@@ -1,1115 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-DIST_COMMON = $(am__configure_deps) $(srcdir)/../config.guess \
- $(srcdir)/../config.sub $(srcdir)/../depcomp \
- $(srcdir)/../install-sh $(srcdir)/../ltmain.sh \
- $(srcdir)/../missing $(srcdir)/../mkinstalldirs \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(srcdir)/libgomp.spec.in \
- $(srcdir)/libgomp_f.h.in $(srcdir)/omp.h.in \
- $(srcdir)/omp_lib.f90.in $(srcdir)/omp_lib.h.in \
- $(top_srcdir)/configure ChangeLog
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
- $(top_srcdir)/../config/depstand.m4 \
- $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/futex.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/override.m4 \
- $(top_srcdir)/../config/proginstall.m4 \
- $(top_srcdir)/../config/stdint.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \
- $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = omp.h omp_lib.h omp_lib.f90 libgomp_f.h \
- libgomp.spec
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \
- "$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(libsubincludedir)" \
- "$(DESTDIR)$(toolexeclibdir)"
-toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-libgomp_la_LIBADD =
-am_libgomp_la_OBJECTS = alloc.lo barrier.lo critical.lo env.lo \
- error.lo iter.lo iter_ull.lo loop.lo loop_ull.lo ordered.lo \
- parallel.lo sections.lo single.lo task.lo team.lo work.lo \
- lock.lo mutex.lo proc.lo sem.lo bar.lo ptrlock.lo time.lo \
- fortran.lo affinity.lo
-libgomp_la_OBJECTS = $(am_libgomp_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
-depcomp = $(SHELL) $(top_srcdir)/../depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libgomp_la_SOURCES)
-DIST_SOURCES = $(libgomp_la_SOURCES)
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-INFO_DEPS = libgomp.info
-am__TEXINFO_TEX_DIR = $(srcdir)/../gcc/doc/include
-DVIS = libgomp.dvi
-PDFS = libgomp.pdf
-PSS = libgomp.ps
-HTMLS = libgomp.html
-TEXINFOS = libgomp.texi
-TEXI2DVI = texi2dvi
-TEXI2PDF = $(TEXI2DVI) --pdf --batch
-MAKEINFOHTML = $(MAKEINFO) --html
-AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
-DVIPS = dvips
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-nodist_fincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-nodist_libsubincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-nodist_toolexeclibHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(nodist_finclude_HEADERS) $(nodist_libsubinclude_HEADERS) \
- $(nodist_noinst_HEADERS) $(nodist_toolexeclib_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INFO_FALSE = @BUILD_INFO_FALSE@
-BUILD_INFO_TRUE = @BUILD_INFO_TRUE@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FC = @FC@
-FCFLAGS = @FCFLAGS@
-FGREP = @FGREP@
-GENINSRC_FALSE = @GENINSRC_FALSE@
-GENINSRC_TRUE = @GENINSRC_TRUE@
-GREP = @GREP@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE = @LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE@
-LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE = @LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OMP_LOCK_25_ALIGN = @OMP_LOCK_25_ALIGN@
-OMP_LOCK_25_KIND = @OMP_LOCK_25_KIND@
-OMP_LOCK_25_SIZE = @OMP_LOCK_25_SIZE@
-OMP_LOCK_ALIGN = @OMP_LOCK_ALIGN@
-OMP_LOCK_KIND = @OMP_LOCK_KIND@
-OMP_LOCK_SIZE = @OMP_LOCK_SIZE@
-OMP_NEST_LOCK_25_ALIGN = @OMP_NEST_LOCK_25_ALIGN@
-OMP_NEST_LOCK_25_KIND = @OMP_NEST_LOCK_25_KIND@
-OMP_NEST_LOCK_25_SIZE = @OMP_NEST_LOCK_25_SIZE@
-OMP_NEST_LOCK_ALIGN = @OMP_NEST_LOCK_ALIGN@
-OMP_NEST_LOCK_KIND = @OMP_NEST_LOCK_KIND@
-OMP_NEST_LOCK_SIZE = @OMP_NEST_LOCK_SIZE@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_FORTRAN_FALSE = @USE_FORTRAN_FALSE@
-USE_FORTRAN_TRUE = @USE_FORTRAN_TRUE@
-VERSION = @VERSION@
-XCFLAGS = @XCFLAGS@
-XLDFLAGS = @XLDFLAGS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_FC = @ac_ct_FC@
-ac_ct_LIPO = @ac_ct_LIPO@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_OTOOL = @ac_ct_OTOOL@
-ac_ct_OTOOL64 = @ac_ct_OTOOL64@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-config_path = @config_path@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-link_gomp = @link_gomp@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-ACLOCAL_AMFLAGS = -I .. -I ../config
-SUBDIRS = testsuite
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) $(top_srcdir)
-fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/finclude
-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
-AM_CPPFLAGS = $(addprefix -I, $(search_path))
-AM_CFLAGS = $(XCFLAGS)
-AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
-toolexeclib_LTLIBRARIES = libgomp.la
-nodist_toolexeclib_HEADERS = libgomp.spec
-@LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE@libgomp_version_script =
-@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@libgomp_version_script = -Wl,--version-script,$(top_srcdir)/libgomp.map
-libgomp_version_info = -version-info $(libtool_VERSION)
-libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script) \
- -no-undefined
-
-libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
- iter_ull.c loop.c loop_ull.c ordered.c parallel.c sections.c single.c \
- task.c team.c work.c lock.c mutex.c proc.c sem.c bar.c ptrlock.c \
- time.c fortran.c affinity.c
-
-nodist_noinst_HEADERS = libgomp_f.h
-nodist_libsubinclude_HEADERS = omp.h
-@USE_FORTRAN_TRUE@nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod
-
-# Automake Documentation:
-# If your package has Texinfo files in many directories, you can use the
-# variable TEXINFO_TEX to tell Automake where to find the canonical
-# `texinfo.tex' for your package. The value of this variable should be
-# the relative path from the current `Makefile.am' to `texinfo.tex'.
-TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
-
-# Defines info, dvi, pdf and html targets
-MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
-info_TEXINFOS = libgomp.texi
-@GENINSRC_FALSE@STAMP_GENINSRC =
-
-# AM_CONDITIONAL on configure option --generated-files-in-srcdir
-@GENINSRC_TRUE@STAMP_GENINSRC = stamp-geninsrc
-@BUILD_INFO_FALSE@STAMP_BUILD_INFO =
-
-# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
-@BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
-MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .dvi .lo .o .obj .ps
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
- cd $(srcdir) && $(AUTOMAKE) --foreign \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-omp.h: $(top_builddir)/config.status $(srcdir)/omp.h.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-omp_lib.h: $(top_builddir)/config.status $(srcdir)/omp_lib.h.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-omp_lib.f90: $(top_builddir)/config.status $(srcdir)/omp_lib.f90.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-libgomp_f.h: $(top_builddir)/config.status $(srcdir)/libgomp_f.h.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-libgomp.spec: $(top_builddir)/config.status $(srcdir)/libgomp.spec.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)"
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-toolexeclibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$p"; \
- done
-
-clean-toolexeclibLTLIBRARIES:
- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libgomp.la: $(libgomp_la_OBJECTS) $(libgomp_la_DEPENDENCIES)
- $(LINK) -rpath $(toolexeclibdir) $(libgomp_la_LDFLAGS) $(libgomp_la_OBJECTS) $(libgomp_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/affinity.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bar.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/barrier.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/critical.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fortran.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iter.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iter_ull.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lock.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop_ull.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutex.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ordered.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parallel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrlock.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sections.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/single.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/task.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/team.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/work.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds. Hence the
-# comments below.
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-
-libgomp.dvi: libgomp.texi
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) -o $@ `test -f 'libgomp.texi' || echo '$(srcdir)/'`libgomp.texi
-
-libgomp.pdf: libgomp.texi
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) -o $@ `test -f 'libgomp.texi' || echo '$(srcdir)/'`libgomp.texi
-
-libgomp.html: libgomp.texi
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
- -o $(@:.html=.htp) `test -f 'libgomp.texi' || echo '$(srcdir)/'`libgomp.texi; \
- then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
- else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
- fi
-.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
-
-uninstall-info-am:
- @$(PRE_UNINSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
- install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
- done; \
- else :; fi
- @$(NORMAL_UNINSTALL)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
- (if cd "$(DESTDIR)$(infodir)"; then \
- echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
- rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
- else :; fi); \
- done
-
-dist-info: $(INFO_DEPS)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- case $$base in \
- $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- for file in $$d/$$base*; do \
- relfile=`expr "$$file" : "$$d/\(.*\)"`; \
- test -f $(distdir)/$$relfile || \
- cp -p $$file $(distdir)/$$relfile; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -rf libgomp.aux libgomp.cp libgomp.cps libgomp.fn libgomp.fns libgomp.ky \
- libgomp.kys libgomp.log libgomp.pg libgomp.pgs libgomp.tmp \
- libgomp.toc libgomp.tp libgomp.tps libgomp.vr libgomp.vrs \
- libgomp.dvi libgomp.pdf libgomp.ps libgomp.html
-
-maintainer-clean-aminfo:
- @list='$(INFO_DEPS)'; for i in $$list; do \
- i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
- echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
- rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
- done
-install-nodist_fincludeHEADERS: $(nodist_finclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(fincludedir)" || $(mkdir_p) "$(DESTDIR)$(fincludedir)"
- @list='$(nodist_finclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nodist_fincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(fincludedir)/$$f'"; \
- $(nodist_fincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(fincludedir)/$$f"; \
- done
-
-uninstall-nodist_fincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(nodist_finclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(fincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(fincludedir)/$$f"; \
- done
-install-nodist_libsubincludeHEADERS: $(nodist_libsubinclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(libsubincludedir)" || $(mkdir_p) "$(DESTDIR)$(libsubincludedir)"
- @list='$(nodist_libsubinclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nodist_libsubincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libsubincludedir)/$$f'"; \
- $(nodist_libsubincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libsubincludedir)/$$f"; \
- done
-
-uninstall-nodist_libsubincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(nodist_libsubinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(libsubincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(libsubincludedir)/$$f"; \
- done
-install-nodist_toolexeclibHEADERS: $(nodist_toolexeclib_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)"
- @list='$(nodist_toolexeclib_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nodist_toolexeclibHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
- $(nodist_toolexeclibHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \
- done
-
-uninstall-nodist_toolexeclibHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(nodist_toolexeclib_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
- rm -f "$(DESTDIR)$(toolexeclibdir)/$$f"; \
- done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../config
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-info
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) all-multi $(HEADERS) \
- config.h all-local
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(libsubincludedir)" "$(DESTDIR)$(toolexeclibdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-multi clean-recursive
-
-clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-multi distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-hdr distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am: $(DVIS)
-
-html: html-recursive
-
-html-am: $(HTMLS)
-
-info: info-recursive
-
-info-am: $(INFO_DEPS)
-
-install-data-am: install-info-am install-nodist_fincludeHEADERS \
- install-nodist_libsubincludeHEADERS
-
-install-exec-am: install-multi install-nodist_toolexeclibHEADERS \
- install-toolexeclibLTLIBRARIES
-
-install-info: install-info-recursive
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- esac; \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
- for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
- $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
- if test -f $$ifile; then \
- relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
- echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
- $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
- else : ; fi; \
- done; \
- done
- @$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- relfile=`echo "$$file" | sed 's|^.*/||'`; \
- echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
- install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
- done; \
- else : ; fi
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-aminfo \
- maintainer-clean-generic
-
-mostlyclean: mostlyclean-multi mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am: $(PDFS)
-
-ps: ps-recursive
-
-ps-am: $(PSS)
-
-uninstall-am: uninstall-info-am uninstall-nodist_fincludeHEADERS \
- uninstall-nodist_libsubincludeHEADERS \
- uninstall-nodist_toolexeclibHEADERS \
- uninstall-toolexeclibLTLIBRARIES
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \
- all-multi am--refresh check check-am clean clean-generic \
- clean-libtool clean-multi clean-recursive \
- clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
- dist-all dist-bzip2 dist-gzip dist-info dist-shar dist-tarZ \
- dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-multi distclean-recursive distclean-tags \
- distcleancheck distdir distuninstallcheck dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-multi \
- install-nodist_fincludeHEADERS \
- install-nodist_libsubincludeHEADERS \
- install-nodist_toolexeclibHEADERS install-strip \
- install-toolexeclibLTLIBRARIES installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-multi maintainer-clean-recursive mostlyclean \
- mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool mostlyclean-multi mostlyclean-recursive \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-info-am uninstall-nodist_fincludeHEADERS \
- uninstall-nodist_libsubincludeHEADERS \
- uninstall-nodist_toolexeclibHEADERS \
- uninstall-toolexeclibLTLIBRARIES
-
-
-vpath % $(strip $(search_path))
-
-omp_lib_kinds.mod: omp_lib.mod
- :
-omp_lib.mod: omp_lib.f90
- $(FC) $(FCFLAGS) -fsyntax-only omp_lib.f90
-fortran.lo: libgomp_f.h
-fortran.o: libgomp_f.h
-env.lo: libgomp_f.h
-env.o: libgomp_f.h
-
-# No install-html or install-pdf support in automake yet
-.PHONY: install-html install-pdf
-install-html:
-
-install-pdf: $(PDFS)
- @$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)"
- @list='$(PDFS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
- done
-
-all-local: $(STAMP_GENINSRC)
-
-stamp-geninsrc: libgomp.info
- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
- @touch $@
-
-libgomp.info: $(STAMP_BUILD_INFO)
-
-stamp-build-info: libgomp.texi
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
- @touch $@
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/gcc-4.4.3/libgomp/acinclude.m4 b/gcc-4.4.3/libgomp/acinclude.m4
deleted file mode 100644
index ac450ca9b..000000000
--- a/gcc-4.4.3/libgomp/acinclude.m4
+++ /dev/null
@@ -1,320 +0,0 @@
-dnl ----------------------------------------------------------------------
-dnl This whole bit snagged from libgfortran.
-
-dnl Check whether the target supports __sync_*_compare_and_swap.
-AC_DEFUN([LIBGOMP_CHECK_SYNC_BUILTINS], [
- AC_CACHE_CHECK([whether the target supports __sync_*_compare_and_swap],
- libgomp_cv_have_sync_builtins, [
- AC_TRY_LINK([], [int foo, bar; bar = __sync_val_compare_and_swap(&foo, 0, 1);],
- libgomp_cv_have_sync_builtins=yes, libgomp_cv_have_sync_builtins=no)])
- if test $libgomp_cv_have_sync_builtins = yes; then
- AC_DEFINE(HAVE_SYNC_BUILTINS, 1,
- [Define to 1 if the target supports __sync_*_compare_and_swap])
- fi])
-
-dnl Check whether the target supports hidden visibility.
-AC_DEFUN([LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY], [
- AC_CACHE_CHECK([whether the target supports hidden visibility],
- libgomp_cv_have_attribute_visibility, [
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- AC_TRY_COMPILE([void __attribute__((visibility("hidden"))) foo(void) { }],
- [], libgomp_cv_have_attribute_visibility=yes,
- libgomp_cv_have_attribute_visibility=no)
- CFLAGS="$save_CFLAGS"])
- if test $libgomp_cv_have_attribute_visibility = yes; then
- AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1,
- [Define to 1 if the target supports __attribute__((visibility(...))).])
- fi])
-
-dnl Check whether the target supports dllexport
-AC_DEFUN([LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT], [
- AC_CACHE_CHECK([whether the target supports dllexport],
- libgomp_cv_have_attribute_dllexport, [
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- AC_TRY_COMPILE([void __attribute__((dllexport)) foo(void) { }],
- [], libgomp_cv_have_attribute_dllexport=yes,
- libgomp_cv_have_attribute_dllexport=no)
- CFLAGS="$save_CFLAGS"])
- if test $libgomp_cv_have_attribute_dllexport = yes; then
- AC_DEFINE(HAVE_ATTRIBUTE_DLLEXPORT, 1,
- [Define to 1 if the target supports __attribute__((dllexport)).])
- fi])
-
-dnl Check whether the target supports symbol aliases.
-AC_DEFUN([LIBGOMP_CHECK_ATTRIBUTE_ALIAS], [
- AC_CACHE_CHECK([whether the target supports symbol aliases],
- libgomp_cv_have_attribute_alias, [
- AC_TRY_LINK([
-void foo(void) { }
-extern void bar(void) __attribute__((alias("foo")));],
- [bar();], libgomp_cv_have_attribute_alias=yes, libgomp_cv_have_attribute_alias=no)])
- if test $libgomp_cv_have_attribute_alias = yes; then
- AC_DEFINE(HAVE_ATTRIBUTE_ALIAS, 1,
- [Define to 1 if the target supports __attribute__((alias(...))).])
- fi])
-
-sinclude(../libtool.m4)
-dnl The lines below arrange for aclocal not to bring an installed
-dnl libtool.m4 into aclocal.m4, while still arranging for automake to
-dnl add a definition of LIBTOOL to Makefile.in.
-ifelse(,,,[AC_SUBST(LIBTOOL)
-AC_DEFUN([AM_PROG_LIBTOOL])
-AC_DEFUN([AC_LIBTOOL_DLOPEN])
-AC_DEFUN([AC_PROG_LD])
-])
-
-dnl ----------------------------------------------------------------------
-dnl This whole bit snagged from libstdc++-v3.
-
-dnl
-dnl LIBGOMP_ENABLE
-dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
-dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
-dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
-dnl
-dnl See docs/html/17_intro/configury.html#enable for documentation.
-dnl
-m4_define([LIBGOMP_ENABLE],[dnl
-m4_define([_g_switch],[--enable-$1])dnl
-m4_define([_g_help],[AC_HELP_STRING(_g_switch$3,[$4 @<:@default=$2@:>@])])dnl
- AC_ARG_ENABLE($1,_g_help,
- m4_bmatch([$5],
- [^permit ],
- [[
- case "$enableval" in
- m4_bpatsubst([$5],[permit ])) ;;
- *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;;
- dnl Idea for future: generate a URL pointing to
- dnl "onlinedocs/configopts.html#whatever"
- esac
- ]],
- [^$],
- [[
- case "$enableval" in
- yes|no) ;;
- *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;;
- esac
- ]],
- [[$5]]),
- [enable_]m4_bpatsubst([$1],-,_)[=][$2])
-m4_undefine([_g_switch])dnl
-m4_undefine([_g_help])dnl
-])
-
-
-dnl
-dnl If GNU ld is in use, check to see if tricky linker opts can be used. If
-dnl the native linker is in use, all variables will be defined to something
-dnl safe (like an empty string).
-dnl
-dnl Defines:
-dnl SECTION_LDFLAGS='-Wl,--gc-sections' if possible
-dnl OPT_LDFLAGS='-Wl,-O1' if possible
-dnl LD (as a side effect of testing)
-dnl Sets:
-dnl with_gnu_ld
-dnl libgomp_ld_is_gold (possibly)
-dnl libgomp_gnu_ld_version (possibly)
-dnl
-dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will
-dnl set libgomp_gnu_ld_version to 12345. Zeros cause problems.
-dnl
-AC_DEFUN([LIBGOMP_CHECK_LINKER_FEATURES], [
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
- AC_REQUIRE([AC_PROG_LD])
- AC_REQUIRE([AC_PROG_AWK])
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- libgomp_ld_is_gold=no
- if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then
- libgomp_ld_is_gold=yes
- fi
- changequote(,)
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU \(go\)\{0,1\}ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\4/'`
- changequote([,])
- libgomp_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) [$]3=0; print ([$]1*100+[$]2)*100+[$]3 }'`
-
- # Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
-
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
- AC_MSG_CHECKING([for ld that supports -Wl,--gc-sections])
- AC_TRY_RUN([
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
- ], [ac_sectionLDflags=yes],[ac_sectionLDflags=no], [ac_sectionLDflags=yes])
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- AC_MSG_RESULT($ac_sectionLDflags)
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
- AC_SUBST(SECTION_LDFLAGS)
- AC_SUBST(OPT_LDFLAGS)
-])
-
-
-dnl
-dnl Add version tags to symbols in shared library (or not), additionally
-dnl marking other symbols as private/local (or not).
-dnl
-dnl --enable-symvers=style adds a version script to the linker call when
-dnl creating the shared library. The choice of version script is
-dnl controlled by 'style'.
-dnl --disable-symvers does not.
-dnl + Usage: LIBGOMP_ENABLE_SYMVERS[(DEFAULT)]
-dnl Where DEFAULT is either 'yes' or 'no'. Passing `yes' tries to
-dnl choose a default style based on linker characteristics. Passing
-dnl 'no' disables versioning.
-dnl
-AC_DEFUN([LIBGOMP_ENABLE_SYMVERS], [
-
-LIBGOMP_ENABLE(symvers,yes,[=STYLE],
- [enables symbol versioning of the shared library],
- [permit yes|no|gnu])
-
-# If we never went through the LIBGOMP_CHECK_LINKER_FEATURES macro, then we
-# don't know enough about $LD to do tricks...
-AC_REQUIRE([LIBGOMP_CHECK_LINKER_FEATURES])
-# FIXME The following test is too strict, in theory.
-if test $enable_shared = no ||
- test "x$LD" = x ||
- test x$libgomp_gnu_ld_version = x; then
- enable_symvers=no
-fi
-
-# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
-if test $enable_symvers != no; then
- AC_MSG_CHECKING([for shared libgcc])
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=' -lgcc_s'
- AC_TRY_LINK(, [return 0;], libgomp_shared_libgcc=yes, libgomp_shared_libgcc=no)
- CFLAGS="$ac_save_CFLAGS"
- if test $libgomp_shared_libgcc = no; then
- cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
-changequote(,)dnl
- libgomp_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -shared -shared-libgcc -o conftest.so \
- conftest.c -v 2>&1 >/dev/null \
- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
-changequote([,])dnl
- rm -f conftest.c conftest.so
- if test x${libgomp_libgcc_s_suffix+set} = xset; then
- CFLAGS=" -lgcc_s$libgomp_libgcc_s_suffix"
- AC_TRY_LINK(, [return 0;], libgomp_shared_libgcc=yes)
- CFLAGS="$ac_save_CFLAGS"
- fi
- fi
- AC_MSG_RESULT($libgomp_shared_libgcc)
-fi
-
-# For GNU ld, we need at least this version. The format is described in
-# LIBGOMP_CHECK_LINKER_FEATURES above.
-libgomp_min_gnu_ld_version=21400
-# XXXXXXXXXXX libgomp_gnu_ld_version=21390
-
-# Check to see if unspecified "yes" value can win, given results above.
-# Change "yes" into either "no" or a style name.
-if test $enable_symvers = yes; then
- if test $with_gnu_ld = yes &&
- test $libgomp_shared_libgcc = yes;
- then
- if test $libgomp_gnu_ld_version -ge $libgomp_min_gnu_ld_version ; then
- enable_symvers=gnu
- elif test $libgomp_ld_is_gold = yes ; then
- enable_symvers=gnu
- else
- # The right tools, the right setup, but too old. Fallbacks?
- AC_MSG_WARN(=== Linker version $libgomp_gnu_ld_version is too old for)
- AC_MSG_WARN(=== full symbol versioning support in this release of GCC.)
- AC_MSG_WARN(=== You would need to upgrade your binutils to version)
- AC_MSG_WARN(=== $libgomp_min_gnu_ld_version or later and rebuild GCC.)
- if test $libgomp_gnu_ld_version -ge 21200 ; then
- # Globbing fix is present, proper block support is not.
- dnl AC_MSG_WARN([=== Dude, you are soooo close. Maybe we can fake it.])
- dnl enable_symvers=???
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- else
- # 2.11 or older.
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- fi
- fi
- else
- # just fail for now
- AC_MSG_WARN([=== You have requested some kind of symbol versioning, but])
- AC_MSG_WARN([=== either you are not using a supported linker, or you are])
- AC_MSG_WARN([=== not building a shared libgcc_s (which is required).])
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- fi
-fi
-
-AC_CACHE_CHECK([whether the target supports .symver directive],
- libgomp_cv_have_as_symver_directive, [
- AC_TRY_COMPILE([void foo (void); __asm (".symver foo, bar@SYMVER");],
- [], libgomp_cv_have_as_symver_directive=yes,
- libgomp_cv_have_as_symver_directive=no)])
-if test $libgomp_cv_have_as_symver_directive = yes; then
- AC_DEFINE(HAVE_AS_SYMVER_DIRECTIVE, 1,
- [Define to 1 if the target assembler supports .symver directive.])
-fi
-
-AM_CONDITIONAL(LIBGOMP_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
-AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers)
-])
diff --git a/gcc-4.4.3/libgomp/aclocal.m4 b/gcc-4.4.3/libgomp/aclocal.m4
deleted file mode 100644
index 5a3bb2401..000000000
--- a/gcc-4.4.3/libgomp/aclocal.m4
+++ /dev/null
@@ -1,873 +0,0 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.6])])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $1 | $1:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake. There are at least two reasons why we must not
-# use `-m 0755':
-# - it causes special bits like SGID to be ignored,
-# - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out. Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
-AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-AC_SUBST([mkdir_p])])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([../config/acx.m4])
-m4_include([../config/depstand.m4])
-m4_include([../config/enable.m4])
-m4_include([../config/futex.m4])
-m4_include([../config/lead-dot.m4])
-m4_include([../config/multi.m4])
-m4_include([../config/override.m4])
-m4_include([../config/proginstall.m4])
-m4_include([../config/stdint.m4])
-m4_include([../config/tls.m4])
-m4_include([../ltoptions.m4])
-m4_include([../ltsugar.m4])
-m4_include([../ltversion.m4])
-m4_include([../lt~obsolete.m4])
-m4_include([acinclude.m4])
diff --git a/gcc-4.4.3/libgomp/alloc.c b/gcc-4.4.3/libgomp/alloc.c
deleted file mode 100644
index 3a0deb032..000000000
--- a/gcc-4.4.3/libgomp/alloc.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains wrappers for the system allocation routines. Most
- places in the OpenMP API do not make any provision for failure, so in
- general we cannot allow memory allocation to fail. */
-
-#include "libgomp.h"
-#include <stdlib.h>
-
-
-void *
-gomp_malloc (size_t size)
-{
- void *ret = malloc (size);
- if (ret == NULL)
- gomp_fatal ("Out of memory allocating %lu bytes", (unsigned long) size);
- return ret;
-}
-
-void *
-gomp_malloc_cleared (size_t size)
-{
- void *ret = calloc (1, size);
- if (ret == NULL)
- gomp_fatal ("Out of memory allocating %lu bytes", (unsigned long) size);
- return ret;
-}
-
-void *
-gomp_realloc (void *old, size_t size)
-{
- void *ret = realloc (old, size);
- if (ret == NULL)
- gomp_fatal ("Out of memory allocating %lu bytes", (unsigned long) size);
- return ret;
-}
diff --git a/gcc-4.4.3/libgomp/barrier.c b/gcc-4.4.3/libgomp/barrier.c
deleted file mode 100644
index 8ed229800..000000000
--- a/gcc-4.4.3/libgomp/barrier.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the BARRIER construct. */
-
-#include "libgomp.h"
-
-
-void
-GOMP_barrier (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
-
- /* It is legal to have orphaned barriers. */
- if (team == NULL)
- return;
-
- gomp_team_barrier_wait (&team->barrier);
-}
diff --git a/gcc-4.4.3/libgomp/config.h.in b/gcc-4.4.3/libgomp/config.h.in
deleted file mode 100644
index 88bae83fa..000000000
--- a/gcc-4.4.3/libgomp/config.h.in
+++ /dev/null
@@ -1,128 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if the target assembler supports .symver directive. */
-#undef HAVE_AS_SYMVER_DIRECTIVE
-
-/* Define to 1 if the target supports __attribute__((alias(...))). */
-#undef HAVE_ATTRIBUTE_ALIAS
-
-/* Define to 1 if the target supports __attribute__((dllexport)). */
-#undef HAVE_ATTRIBUTE_DLLEXPORT
-
-/* Define to 1 if the target supports __attribute__((visibility(...))). */
-#undef HAVE_ATTRIBUTE_VISIBILITY
-
-/* Define if the POSIX Semaphores do not work on your system. */
-#undef HAVE_BROKEN_POSIX_SEMAPHORES
-
-/* Define to 1 if the target assembler supports thread-local storage. */
-#undef HAVE_CC_TLS
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `getloadavg' function. */
-#undef HAVE_GETLOADAVG
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */
-#undef HAVE_PTHREAD_AFFINITY_NP
-
-/* Define to 1 if you have the <semaphore.h> header file. */
-#undef HAVE_SEMAPHORE_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strtoull' function. */
-#undef HAVE_STRTOULL
-
-/* Define to 1 if the target supports __sync_*_compare_and_swap */
-#undef HAVE_SYNC_BUILTINS
-
-/* Define to 1 if you have the <sys/loadavg.h> header file. */
-#undef HAVE_SYS_LOADAVG_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if the target supports thread-local storage. */
-#undef HAVE_TLS
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if GNU symbol versioning is used for libgomp. */
-#undef LIBGOMP_GNU_SYMBOL_VERSIONING
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
-#undef LT_OBJDIR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* The size of a `char', as computed by sizeof. */
-#undef SIZEOF_CHAR
-
-/* The size of a `int', as computed by sizeof. */
-#undef SIZEOF_INT
-
-/* The size of a `long', as computed by sizeof. */
-#undef SIZEOF_LONG
-
-/* The size of a `short', as computed by sizeof. */
-#undef SIZEOF_SHORT
-
-/* The size of a `void *', as computed by sizeof. */
-#undef SIZEOF_VOID_P
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if you can safely include both <string.h> and <strings.h>. */
-#undef STRING_WITH_STRINGS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
diff --git a/gcc-4.4.3/libgomp/config/bsd/proc.c b/gcc-4.4.3/libgomp/config/bsd/proc.c
deleted file mode 100644
index ec16f2c89..000000000
--- a/gcc-4.4.3/libgomp/config/bsd/proc.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains system specific routines related to counting
- online processors and dynamic load balancing. It is expected that
- a system may well want to write special versions of each of these.
-
- The following implementation uses a mix of POSIX and BSD routines. */
-
-#include "libgomp.h"
-#include <unistd.h>
-#include <stdlib.h>
-#ifdef HAVE_GETLOADAVG
-# ifdef HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-# endif
-#endif
-#ifdef HAVE_SYS_SYSCTL_H
-# include <sys/sysctl.h>
-#endif
-
-static int
-get_num_procs (void)
-{
-#ifdef _SC_NPROCESSORS_ONLN
- return sysconf (_SC_NPROCESSORS_ONLN);
-#elif defined HW_NCPU
- int ncpus = 1;
- size_t len = sizeof(ncpus);
- sysctl((int[2]) {CTL_HW, HW_NCPU}, 2, &ncpus, &len, NULL, 0);
- return ncpus;
-#else
- return 0;
-#endif
-}
-
-/* At startup, determine the default number of threads. It would seem
- this should be related to the number of cpus online. */
-
-void
-gomp_init_num_threads (void)
-{
- int ncpus = get_num_procs ();
-
- if (ncpus > 0)
- gomp_global_icv.nthreads_var = ncpus;
-}
-
-/* When OMP_DYNAMIC is set, at thread launch determine the number of
- threads we should spawn for this team. */
-/* ??? I have no idea what best practice for this is. Surely some
- function of the number of processors that are *still* online and
- the load average. Here I use the number of processors online
- minus the 15 minute load average. */
-
-unsigned
-gomp_dynamic_max_threads (void)
-{
- unsigned n_onln, loadavg;
- unsigned nthreads_var = gomp_icv (false)->nthreads_var;
-
- n_onln = get_num_procs ();
- if (!n_onln || n_onln > nthreads_var)
- n_onln = nthreads_var;
-
- loadavg = 0;
-#ifdef HAVE_GETLOADAVG
- {
- double dloadavg[3];
- if (getloadavg (dloadavg, 3) == 3)
- {
- /* Add 0.1 to get a kind of biased rounding. */
- loadavg = dloadavg[2] + 0.1;
- }
- }
-#endif
-
- if (loadavg >= n_onln)
- return 1;
- else
- return n_onln - loadavg;
-}
-
-int
-omp_get_num_procs (void)
-{
- int ncpus = get_num_procs ();
- if (ncpus <= 0)
- ncpus = gomp_icv (false)->nthreads_var;
- return ncpus;
-}
-
-ialias (omp_get_num_procs)
diff --git a/gcc-4.4.3/libgomp/config/linux/affinity.c b/gcc-4.4.3/libgomp/config/linux/affinity.c
deleted file mode 100644
index 40519e889..000000000
--- a/gcc-4.4.3/libgomp/config/linux/affinity.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a CPU affinity setting. */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-#include "libgomp.h"
-#include <sched.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#ifdef HAVE_PTHREAD_AFFINITY_NP
-
-static unsigned int affinity_counter;
-
-void
-gomp_init_affinity (void)
-{
- cpu_set_t cpuset;
- size_t idx, widx;
-
- if (pthread_getaffinity_np (pthread_self (), sizeof (cpuset), &cpuset))
- {
- gomp_error ("could not get CPU affinity set");
- free (gomp_cpu_affinity);
- gomp_cpu_affinity = NULL;
- gomp_cpu_affinity_len = 0;
- return;
- }
-
- for (widx = idx = 0; idx < gomp_cpu_affinity_len; idx++)
- if (gomp_cpu_affinity[idx] < CPU_SETSIZE
- && CPU_ISSET (gomp_cpu_affinity[idx], &cpuset))
- gomp_cpu_affinity[widx++] = gomp_cpu_affinity[idx];
-
- if (widx == 0)
- {
- gomp_error ("no CPUs left for affinity setting");
- free (gomp_cpu_affinity);
- gomp_cpu_affinity = NULL;
- gomp_cpu_affinity_len = 0;
- return;
- }
-
- gomp_cpu_affinity_len = widx;
- CPU_ZERO (&cpuset);
- CPU_SET (gomp_cpu_affinity[0], &cpuset);
- pthread_setaffinity_np (pthread_self (), sizeof (cpuset), &cpuset);
- affinity_counter = 1;
-}
-
-void
-gomp_init_thread_affinity (pthread_attr_t *attr)
-{
- unsigned int cpu;
- cpu_set_t cpuset;
-
- cpu = __sync_fetch_and_add (&affinity_counter, 1);
- cpu %= gomp_cpu_affinity_len;
- CPU_ZERO (&cpuset);
- CPU_SET (gomp_cpu_affinity[cpu], &cpuset);
- pthread_attr_setaffinity_np (attr, sizeof (cpu_set_t), &cpuset);
-}
-
-#else
-
-#include "../posix/affinity.c"
-
-#endif
diff --git a/gcc-4.4.3/libgomp/config/linux/alpha/futex.h b/gcc-4.4.3/libgomp/config/linux/alpha/futex.h
deleted file mode 100644
index a594d1663..000000000
--- a/gcc-4.4.3/libgomp/config/linux/alpha/futex.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#ifndef SYS_futex
-#define SYS_futex 394
-#endif
-
-
-static inline void
-futex_wait (int *addr, int val)
-{
- register long sc_0 __asm__("$0");
- register long sc_16 __asm__("$16");
- register long sc_17 __asm__("$17");
- register long sc_18 __asm__("$18");
- register long sc_19 __asm__("$19");
-
- sc_0 = SYS_futex;
- sc_16 = (long) addr;
- sc_17 = gomp_futex_wait;
- sc_18 = val;
- sc_19 = 0;
- __asm volatile ("callsys"
- : "=r" (sc_0), "=r"(sc_19)
- : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18), "1"(sc_19)
- : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
- "$22", "$23", "$24", "$25", "$27", "$28", "memory");
- if (__builtin_expect (sc_19, 0) && sc_0 == ENOSYS)
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sc_0 = SYS_futex;
- sc_17 &= ~FUTEX_PRIVATE_FLAG;
- sc_19 = 0;
- __asm volatile ("callsys"
- : "=r" (sc_0), "=r"(sc_19)
- : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18),
- "1"(sc_19)
- : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
- "$22", "$23", "$24", "$25", "$27", "$28", "memory");
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- register long sc_0 __asm__("$0");
- register long sc_16 __asm__("$16");
- register long sc_17 __asm__("$17");
- register long sc_18 __asm__("$18");
- register long sc_19 __asm__("$19");
-
- sc_0 = SYS_futex;
- sc_16 = (long) addr;
- sc_17 = gomp_futex_wake;
- sc_18 = count;
- __asm volatile ("callsys"
- : "=r" (sc_0), "=r"(sc_19)
- : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18)
- : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
- "$22", "$23", "$24", "$25", "$27", "$28", "memory");
- if (__builtin_expect (sc_19, 0) && sc_0 == ENOSYS)
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sc_0 = SYS_futex;
- sc_17 &= ~FUTEX_PRIVATE_FLAG;
- __asm volatile ("callsys"
- : "=r" (sc_0), "=r"(sc_19)
- : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18)
- : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
- "$22", "$23", "$24", "$25", "$27", "$28", "memory");
- }
-}
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __asm volatile ("wmb" : : : "memory");
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/bar.c b/gcc-4.4.3/libgomp/config/linux/bar.c
deleted file mode 100644
index 3e0379eb6..000000000
--- a/gcc-4.4.3/libgomp/config/linux/bar.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a barrier synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#include <limits.h>
-#include "wait.h"
-
-
-void
-gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
- if (__builtin_expect ((state & 1) != 0, 0))
- {
- /* Next time we'll be awaiting TOTAL threads again. */
- bar->awaited = bar->total;
- atomic_write_barrier ();
- bar->generation += 4;
- futex_wake ((int *) &bar->generation, INT_MAX);
- }
- else
- {
- unsigned int generation = state;
-
- do
- do_wait ((int *) &bar->generation, generation);
- while (bar->generation == generation);
- }
-}
-
-void
-gomp_barrier_wait (gomp_barrier_t *bar)
-{
- gomp_barrier_wait_end (bar, gomp_barrier_wait_start (bar));
-}
-
-/* Like gomp_barrier_wait, except that if the encountering thread
- is not the last one to hit the barrier, it returns immediately.
- The intended usage is that a thread which intends to gomp_barrier_destroy
- this barrier calls gomp_barrier_wait, while all other threads
- call gomp_barrier_wait_last. When gomp_barrier_wait returns,
- the barrier can be safely destroyed. */
-
-void
-gomp_barrier_wait_last (gomp_barrier_t *bar)
-{
- gomp_barrier_state_t state = gomp_barrier_wait_start (bar);
- if (state & 1)
- gomp_barrier_wait_end (bar, state);
-}
-
-void
-gomp_team_barrier_wake (gomp_barrier_t *bar, int count)
-{
- futex_wake ((int *) &bar->generation, count == 0 ? INT_MAX : count);
-}
-
-void
-gomp_team_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
- unsigned int generation;
-
- if (__builtin_expect ((state & 1) != 0, 0))
- {
- /* Next time we'll be awaiting TOTAL threads again. */
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- bar->awaited = bar->total;
- atomic_write_barrier ();
- if (__builtin_expect (team->task_count, 0))
- {
- gomp_barrier_handle_tasks (state);
- state &= ~1;
- }
- else
- {
- bar->generation = state + 3;
- futex_wake ((int *) &bar->generation, INT_MAX);
- return;
- }
- }
-
- generation = state;
- do
- {
- do_wait ((int *) &bar->generation, generation);
- if (__builtin_expect (bar->generation & 1, 0))
- gomp_barrier_handle_tasks (state);
- if ((bar->generation & 2))
- generation |= 2;
- }
- while (bar->generation != state + 4);
-}
-
-void
-gomp_team_barrier_wait (gomp_barrier_t *bar)
-{
- gomp_team_barrier_wait_end (bar, gomp_barrier_wait_start (bar));
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/bar.h b/gcc-4.4.3/libgomp/config/linux/bar.h
deleted file mode 100644
index 9c1a8a076..000000000
--- a/gcc-4.4.3/libgomp/config/linux/bar.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a barrier synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_BARRIER_H
-#define GOMP_BARRIER_H 1
-
-#include "mutex.h"
-
-typedef struct
-{
- /* Make sure total/generation is in a mostly read cacheline, while
- awaited in a separate cacheline. */
- unsigned total __attribute__((aligned (64)));
- unsigned generation;
- unsigned awaited __attribute__((aligned (64)));
-} gomp_barrier_t;
-typedef unsigned int gomp_barrier_state_t;
-
-static inline void gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
-{
- bar->total = count;
- bar->awaited = count;
- bar->generation = 0;
-}
-
-static inline void gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
-{
- __sync_fetch_and_add (&bar->awaited, count - bar->total);
- bar->total = count;
-}
-
-static inline void gomp_barrier_destroy (gomp_barrier_t *bar)
-{
-}
-
-extern void gomp_barrier_wait (gomp_barrier_t *);
-extern void gomp_barrier_wait_last (gomp_barrier_t *);
-extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
-extern void gomp_team_barrier_wait (gomp_barrier_t *);
-extern void gomp_team_barrier_wait_end (gomp_barrier_t *,
- gomp_barrier_state_t);
-extern void gomp_team_barrier_wake (gomp_barrier_t *, int);
-
-static inline gomp_barrier_state_t
-gomp_barrier_wait_start (gomp_barrier_t *bar)
-{
- unsigned int ret = bar->generation & ~3;
- /* Do we need any barrier here or is __sync_add_and_fetch acting
- as the needed LoadLoad barrier already? */
- ret += __sync_add_and_fetch (&bar->awaited, -1) == 0;
- return ret;
-}
-
-static inline bool
-gomp_barrier_last_thread (gomp_barrier_state_t state)
-{
- return state & 1;
-}
-
-/* All the inlines below must be called with team->task_lock
- held. */
-
-static inline void
-gomp_team_barrier_set_task_pending (gomp_barrier_t *bar)
-{
- bar->generation |= 1;
-}
-
-static inline void
-gomp_team_barrier_clear_task_pending (gomp_barrier_t *bar)
-{
- bar->generation &= ~1;
-}
-
-static inline void
-gomp_team_barrier_set_waiting_for_tasks (gomp_barrier_t *bar)
-{
- bar->generation |= 2;
-}
-
-static inline bool
-gomp_team_barrier_waiting_for_tasks (gomp_barrier_t *bar)
-{
- return (bar->generation & 2) != 0;
-}
-
-static inline void
-gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
- bar->generation = (state & ~3) + 4;
-}
-
-#endif /* GOMP_BARRIER_H */
diff --git a/gcc-4.4.3/libgomp/config/linux/futex.h b/gcc-4.4.3/libgomp/config/linux/futex.h
deleted file mode 100644
index 3c8345086..000000000
--- a/gcc-4.4.3/libgomp/config/linux/futex.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
- Contributed by ARM Ltd.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-/* The include file hierachy above us (wait.h) has pushed visibility
- hidden, this will be applied to prototypes with headers we include
- with the effect that we cannot link against an external function
- (syscall). The solution here is to push default visibility, include
- our required headers then reinstante the original visibility. */
-
-#pragma GCC visibility push(default)
-
-#undef _GNU_SOURCE /* could be previously defined to 1 instead */
-#define _GNU_SOURCE
-#include <unistd.h>
-#include <sys/syscall.h>
-
-#pragma GCC visibility pop
-
-#if !defined(SYS_futex)
-#define SYS_futex __NR_futex
-#endif
-
-static inline void
-futex_wait (int *addr, int val)
-{
- long err = syscall (SYS_futex, addr, gomp_futex_wait, val, NULL);
- if (__builtin_expect (err == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- syscall (SYS_futex, addr, gomp_futex_wait, val, NULL);
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long err = syscall (SYS_futex, addr, gomp_futex_wake, count);
- if (__builtin_expect (err == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- syscall (SYS_futex, addr, gomp_futex_wake, count);
- }
-}
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __sync_synchronize ();
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/ia64/futex.h b/gcc-4.4.3/libgomp/config/linux/ia64/futex.h
deleted file mode 100644
index e5e9aac39..000000000
--- a/gcc-4.4.3/libgomp/config/linux/ia64/futex.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#include <sys/syscall.h>
-
-
-
-static inline long
-sys_futex0(int *addr, long op, int val)
-{
- register long out0 asm ("out0") = (long) addr;
- register long out1 asm ("out1") = op;
- register long out2 asm ("out2") = val;
- register long out3 asm ("out3") = 0;
- register long r8 asm ("r8");
- register long r10 asm ("r10");
- register long r15 asm ("r15") = SYS_futex;
-
- __asm __volatile ("break 0x100000"
- : "=r"(r15), "=r"(out0), "=r"(out1), "=r"(out2), "=r"(out3),
- "=r"(r8), "=r"(r10)
- : "r"(r15), "r"(out0), "r"(out1), "r"(out2), "r"(out3)
- : "memory", "out4", "out5", "out6", "out7",
- /* Non-stacked integer registers, minus r8, r10, r15. */
- "r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18",
- "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27",
- "r28", "r29", "r30", "r31",
- /* Predicate registers. */
- "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15",
- /* Non-rotating fp registers. */
- "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
- /* Branch registers. */
- "b6");
- return r8 & r10;
-}
-
-static inline void
-futex_wait (int *addr, int val)
-{
- long err = sys_futex0 (addr, gomp_futex_wait, val);
- if (__builtin_expect (err == ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wait, val);
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long err = sys_futex0 (addr, gomp_futex_wake, count);
- if (__builtin_expect (err == ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wake, count);
- }
-}
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("hint @pause" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __sync_synchronize ();
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/ia64/mutex.h b/gcc-4.4.3/libgomp/config/linux/ia64/mutex.h
deleted file mode 100644
index 6e294059b..000000000
--- a/gcc-4.4.3/libgomp/config/linux/ia64/mutex.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_MUTEX_H
-#define GOMP_MUTEX_H 1
-
-typedef int gomp_mutex_t;
-
-#define GOMP_MUTEX_INIT_0 1
-
-static inline void gomp_mutex_init (gomp_mutex_t *mutex)
-{
- *mutex = 0;
-}
-
-extern void gomp_mutex_lock_slow (gomp_mutex_t *mutex);
-static inline void gomp_mutex_lock (gomp_mutex_t *mutex)
-{
- if (!__sync_bool_compare_and_swap (mutex, 0, 1))
- gomp_mutex_lock_slow (mutex);
-}
-
-extern void gomp_mutex_unlock_slow (gomp_mutex_t *mutex);
-
-/* IA64 needs a __sync_synchronize call before __sync_lock_test_and_set
- because __sync_lock_test_and_set is not a full memory fence. */
-static inline void gomp_mutex_unlock (gomp_mutex_t *mutex)
-{
- int val;
- __sync_synchronize ();
- val = __sync_lock_test_and_set (mutex, 0);
- if (__builtin_expect (val > 1, 0))
- gomp_mutex_unlock_slow (mutex);
-}
-
-static inline void gomp_mutex_destroy (gomp_mutex_t *mutex)
-{
-}
-
-#endif /* GOMP_MUTEX_H */
diff --git a/gcc-4.4.3/libgomp/config/linux/lock.c b/gcc-4.4.3/libgomp/config/linux/lock.c
deleted file mode 100644
index 405460780..000000000
--- a/gcc-4.4.3/libgomp/config/linux/lock.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of the public OpenMP locking
- primitives. This implementation uses atomic instructions and the futex
- syscall. */
-
-#include <string.h>
-#include <unistd.h>
-#include <sys/syscall.h>
-#include "wait.h"
-
-
-/* The internal gomp_mutex_t and the external non-recursive omp_lock_t
- have the same form. Re-use it. */
-
-void
-gomp_init_lock_30 (omp_lock_t *lock)
-{
- gomp_mutex_init (lock);
-}
-
-void
-gomp_destroy_lock_30 (omp_lock_t *lock)
-{
- gomp_mutex_destroy (lock);
-}
-
-void
-gomp_set_lock_30 (omp_lock_t *lock)
-{
- gomp_mutex_lock (lock);
-}
-
-void
-gomp_unset_lock_30 (omp_lock_t *lock)
-{
- gomp_mutex_unlock (lock);
-}
-
-int
-gomp_test_lock_30 (omp_lock_t *lock)
-{
- return __sync_bool_compare_and_swap (lock, 0, 1);
-}
-
-void
-gomp_init_nest_lock_30 (omp_nest_lock_t *lock)
-{
- memset (lock, '\0', sizeof (*lock));
-}
-
-void
-gomp_destroy_nest_lock_30 (omp_nest_lock_t *lock)
-{
-}
-
-void
-gomp_set_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- gomp_mutex_lock (&lock->lock);
- lock->owner = me;
- }
-
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_30 (omp_nest_lock_t *lock)
-{
- if (--lock->count == 0)
- {
- lock->owner = NULL;
- gomp_mutex_unlock (&lock->lock);
- }
-}
-
-int
-gomp_test_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner == me)
- return ++lock->count;
-
- if (__sync_bool_compare_and_swap (&lock->lock, 0, 1))
- {
- lock->owner = me;
- lock->count = 1;
- return 1;
- }
-
- return 0;
-}
-
-#ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
-/* gomp_mutex_* can be safely locked in one thread and
- unlocked in another thread, so the OpenMP 2.5 and OpenMP 3.0
- non-nested locks can be the same. */
-strong_alias (gomp_init_lock_30, gomp_init_lock_25)
-strong_alias (gomp_destroy_lock_30, gomp_destroy_lock_25)
-strong_alias (gomp_set_lock_30, gomp_set_lock_25)
-strong_alias (gomp_unset_lock_30, gomp_unset_lock_25)
-strong_alias (gomp_test_lock_30, gomp_test_lock_25)
-
-/* The external recursive omp_nest_lock_25_t form requires additional work. */
-
-/* We need an integer to uniquely identify this thread. Most generally
- this is the thread's TID, which ideally we'd get this straight from
- the TLS block where glibc keeps it. Unfortunately, we can't get at
- that directly.
-
- If we don't support (or have disabled) TLS, one function call is as
- good (or bad) as any other. Use the syscall all the time.
-
- On an ILP32 system (defined here as not LP64), we can make do with
- any thread-local pointer. Ideally we'd use the TLS base address,
- since that requires the least amount of arithmetic, but that's not
- always available directly. Make do with the gomp_thread pointer
- since it's handy. */
-
-# if !defined (HAVE_TLS)
-static inline int gomp_tid (void)
-{
- return syscall (SYS_gettid);
-}
-# elif !defined(__LP64__)
-static inline int gomp_tid (void)
-{
- return (int) gomp_thread ();
-}
-# else
-static __thread int tid_cache;
-static inline int gomp_tid (void)
-{
- int tid = tid_cache;
- if (__builtin_expect (tid == 0, 0))
- tid_cache = tid = syscall (SYS_gettid);
- return tid;
-}
-# endif
-
-
-void
-gomp_init_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- memset (lock, 0, sizeof (lock));
-}
-
-void
-gomp_destroy_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
-}
-
-void
-gomp_set_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- int otid, tid = gomp_tid ();
-
- while (1)
- {
- otid = __sync_val_compare_and_swap (&lock->owner, 0, tid);
- if (otid == 0)
- {
- lock->count = 1;
- return;
- }
- if (otid == tid)
- {
- lock->count++;
- return;
- }
-
- do_wait (&lock->owner, otid);
- }
-}
-
-void
-gomp_unset_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- /* ??? Validate that we own the lock here. */
-
- if (--lock->count == 0)
- {
- __sync_lock_release (&lock->owner);
- futex_wake (&lock->owner, 1);
- }
-}
-
-int
-gomp_test_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- int otid, tid = gomp_tid ();
-
- otid = __sync_val_compare_and_swap (&lock->owner, 0, tid);
- if (otid == 0)
- {
- lock->count = 1;
- return 1;
- }
- if (otid == tid)
- return ++lock->count;
-
- return 0;
-}
-
-omp_lock_symver (omp_init_lock)
-omp_lock_symver (omp_destroy_lock)
-omp_lock_symver (omp_set_lock)
-omp_lock_symver (omp_unset_lock)
-omp_lock_symver (omp_test_lock)
-omp_lock_symver (omp_init_nest_lock)
-omp_lock_symver (omp_destroy_nest_lock)
-omp_lock_symver (omp_set_nest_lock)
-omp_lock_symver (omp_unset_nest_lock)
-omp_lock_symver (omp_test_nest_lock)
-
-#else
-
-ialias (omp_init_lock)
-ialias (omp_init_nest_lock)
-ialias (omp_destroy_lock)
-ialias (omp_destroy_nest_lock)
-ialias (omp_set_lock)
-ialias (omp_set_nest_lock)
-ialias (omp_unset_lock)
-ialias (omp_unset_nest_lock)
-ialias (omp_test_lock)
-ialias (omp_test_nest_lock)
-
-#endif
diff --git a/gcc-4.4.3/libgomp/config/linux/mips/futex.h b/gcc-4.4.3/libgomp/config/linux/mips/futex.h
deleted file mode 100644
index fcac71756..000000000
--- a/gcc-4.4.3/libgomp/config/linux/mips/futex.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Ilie Garbacea <ilie@mips.com>, Chao-ying Fu <fu@mips.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#include <sys/syscall.h>
-
-#if !defined(SYS_futex)
-#define SYS_futex __NR_futex
-#endif
-
-#define FUTEX_WAIT 0
-#define FUTEX_WAKE 1
-
-static inline void
-sys_futex0 (int *addr, int op, int val)
-{
- register unsigned long __v0 asm("$2") = (unsigned long) SYS_futex;
- register unsigned long __a0 asm("$4") = (unsigned long) addr;
- register unsigned long __a1 asm("$5") = (unsigned long) op;
- register unsigned long __a2 asm("$6") = (unsigned long) val;
- register unsigned long __a3 asm("$7") = 0;
-
- __asm volatile ("syscall"
- /* returns $a3 (errno), $v0 (return value) */
- : "=r" (__v0), "=r" (__a3)
- /* arguments in v0 (syscall) a0-a3 */
- : "r" (__v0), "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a3)
- /* clobbers at, v1, t0-t9, memory */
- : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", "$14",
- "$15", "$24", "$25", "memory");
-}
-
-static inline void
-futex_wait (int *addr, int val)
-{
- sys_futex0 (addr, FUTEX_WAIT, val);
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- sys_futex0 (addr, FUTEX_WAKE, count);
-}
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __sync_synchronize ();
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/mutex.c b/gcc-4.4.3/libgomp/config/linux/mutex.c
deleted file mode 100644
index 3ca37c19f..000000000
--- a/gcc-4.4.3/libgomp/config/linux/mutex.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#include "wait.h"
-
-long int gomp_futex_wake = FUTEX_WAKE | FUTEX_PRIVATE_FLAG;
-long int gomp_futex_wait = FUTEX_WAIT | FUTEX_PRIVATE_FLAG;
-
-void
-gomp_mutex_lock_slow (gomp_mutex_t *mutex)
-{
- do
- {
- int oldval = __sync_val_compare_and_swap (mutex, 1, 2);
- if (oldval != 0)
- do_wait (mutex, 2);
- }
- while (!__sync_bool_compare_and_swap (mutex, 0, 2));
-}
-
-void
-gomp_mutex_unlock_slow (gomp_mutex_t *mutex)
-{
- futex_wake (mutex, 1);
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/mutex.h b/gcc-4.4.3/libgomp/config/linux/mutex.h
deleted file mode 100644
index 07a2156a4..000000000
--- a/gcc-4.4.3/libgomp/config/linux/mutex.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_MUTEX_H
-#define GOMP_MUTEX_H 1
-
-typedef int gomp_mutex_t;
-
-#define GOMP_MUTEX_INIT_0 1
-
-static inline void gomp_mutex_init (gomp_mutex_t *mutex)
-{
- *mutex = 0;
-}
-
-extern void gomp_mutex_lock_slow (gomp_mutex_t *mutex);
-static inline void gomp_mutex_lock (gomp_mutex_t *mutex)
-{
- if (!__sync_bool_compare_and_swap (mutex, 0, 1))
- gomp_mutex_lock_slow (mutex);
-}
-
-extern void gomp_mutex_unlock_slow (gomp_mutex_t *mutex);
-static inline void gomp_mutex_unlock (gomp_mutex_t *mutex)
-{
- int val = __sync_lock_test_and_set (mutex, 0);
- if (__builtin_expect (val > 1, 0))
- gomp_mutex_unlock_slow (mutex);
-}
-
-static inline void gomp_mutex_destroy (gomp_mutex_t *mutex)
-{
-}
-
-#endif /* GOMP_MUTEX_H */
diff --git a/gcc-4.4.3/libgomp/config/linux/omp-lock.h b/gcc-4.4.3/libgomp/config/linux/omp-lock.h
deleted file mode 100644
index e65aff7fc..000000000
--- a/gcc-4.4.3/libgomp/config/linux/omp-lock.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* This header is used during the build process to find the size and
- alignment of the public OpenMP locks, so that we can export data
- structures without polluting the namespace.
-
- When using the Linux futex primitive, non-recursive locks require
- only one int. Recursive locks require we identify the owning task
- and so require one int and a pointer. */
-
-typedef int omp_lock_t;
-typedef struct { int lock, count; void *owner; } omp_nest_lock_t;
-typedef int omp_lock_25_t;
-typedef struct { int owner, count; } omp_nest_lock_25_t;
diff --git a/gcc-4.4.3/libgomp/config/linux/powerpc/futex.h b/gcc-4.4.3/libgomp/config/linux/powerpc/futex.h
deleted file mode 100644
index efc05c416..000000000
--- a/gcc-4.4.3/libgomp/config/linux/powerpc/futex.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#include <sys/syscall.h>
-
-static inline long
-sys_futex0 (int *addr, int op, int val)
-{
- register long int r0 __asm__ ("r0");
- register long int r3 __asm__ ("r3");
- register long int r4 __asm__ ("r4");
- register long int r5 __asm__ ("r5");
- register long int r6 __asm__ ("r6");
-
- r0 = SYS_futex;
- r3 = (long) addr;
- r4 = op;
- r5 = val;
- r6 = 0;
-
- /* ??? The powerpc64 sysdep.h file clobbers ctr; the powerpc32 sysdep.h
- doesn't. It doesn't much matter for us. In the interest of unity,
- go ahead and clobber it always. */
-
- __asm volatile ("sc; mfcr %0"
- : "=r"(r0), "=r"(r3), "=r"(r4), "=r"(r5), "=r"(r6)
- : "r"(r0), "r"(r3), "r"(r4), "r"(r5), "r"(r6)
- : "r7", "r8", "r9", "r10", "r11", "r12",
- "cr0", "ctr", "memory");
- if (__builtin_expect (r0 & (1 << 28), 0))
- return r3;
- return 0;
-}
-
-static inline void
-futex_wait (int *addr, int val)
-{
- long err = sys_futex0 (addr, gomp_futex_wait, val);
- if (__builtin_expect (err == ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wait, val);
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long err = sys_futex0 (addr, gomp_futex_wake, count);
- if (__builtin_expect (err == ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wake, count);
- }
-}
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __asm volatile ("eieio" : : : "memory");
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/powerpc/mutex.h b/gcc-4.4.3/libgomp/config/linux/powerpc/mutex.h
deleted file mode 100644
index e64ff077c..000000000
--- a/gcc-4.4.3/libgomp/config/linux/powerpc/mutex.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* On PowerPC __sync_lock_test_and_set isn't a full barrier. */
-#include "config/linux/ia64/mutex.h"
diff --git a/gcc-4.4.3/libgomp/config/linux/proc.c b/gcc-4.4.3/libgomp/config/linux/proc.c
deleted file mode 100644
index 5cdb1864b..000000000
--- a/gcc-4.4.3/libgomp/config/linux/proc.c
+++ /dev/null
@@ -1,363 +0,0 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains system specific routines related to counting
- online processors and dynamic load balancing. */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-#include "libgomp.h"
-#include <sched.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifdef HAVE_GETLOADAVG
-# ifdef HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-# endif
-#endif
-
-#ifdef HAVE_PTHREAD_AFFINITY_NP
-static unsigned long
-cpuset_popcount (cpu_set_t *cpusetp)
-{
-#ifdef CPU_COUNT
- /* glibc 2.6 and above provide a macro for this. */
- return CPU_COUNT (cpusetp);
-#else
- size_t i;
- unsigned long ret = 0;
- extern int check[sizeof (cpusetp->__bits[0]) == sizeof (unsigned long int)];
-
- (void) check;
- for (i = 0; i < sizeof (*cpusetp) / sizeof (cpusetp->__bits[0]); i++)
- {
- unsigned long int mask = cpusetp->__bits[i];
- if (mask == 0)
- continue;
- ret += __builtin_popcountl (mask);
- }
- return ret;
-#endif
-}
-#endif
-
-/* Read the content of a file.
- * Return the length of the data, or -1 on error. Does *not*
- * zero-terminate the content. Will not read more
- * than 'buffsize' bytes.
- */
-static int
-read_file(const char* pathname, char* buffer, size_t buffsize)
-{
- int fd, len;
-
- fd = open(pathname, O_RDONLY);
- if (fd < 0)
- return -1;
-
- do {
- len = read(fd, buffer, buffsize);
- } while (len < 0 && errno == EINTR);
-
- close(fd);
-
- return len;
-}
-
-
-/* Parse a decimal integer starting from 'input', but not going further
- * than 'limit'. Return the value into '*result'.
- *
- * NOTE: Does not skip over leading spaces, or deal with sign characters.
- * NOTE: Ignores overflows.
- *
- * The function returns NULL in case of error (bad format), or the new
- * position after the decimal number in case of success (which will always
- * be <= 'limit').
- */
-static const char*
-parse_decimal(const char* input, const char* limit, int* result)
-{
- const char* p = input;
- int val = 0;
- while (p < limit) {
- int d = (*p - '0');
- if ((unsigned)d >= 10U)
- break;
- val = val*10 + d;
- p++;
- }
- if (p == input)
- return NULL;
-
- *result = val;
- return p;
-}
-
-
-/* This data type is used to represent a CPU list / mask, as read
- * from sysfs on Linux. See http://www.kernel.org/doc/Documentation/cputopology.txt
- */
-typedef struct {
- int mask;
-} cpuList;
-
-/* Returns Actual CPUs (total installed CPUs) */
-static int
-cpuList_count (cpuList* list) {
- return list->mask ;
-}
-
-/* Parse a textual list of cpus and store the result inside a cpuList object.
- * Input format is the following:
- * - comma-separated list of items (no spaces)
- * - each item is either a single decimal number (cpu index), or a range made
- * of two numbers separated by a single dash (-). Ranges are inclusive.
- * Examples:
- * 0
- * 2,4-127,128-143
- * 0-1
- */
-static void
-cpuList_parse (cpuList* list, const char* line, int line_len)
-{
- const char* p = line;
- const char* end = p + line_len;
- const char* q;
-
- /* NOTE: the input line coming from sysfs typically contains a
- * trailing newline, so take care of it in the code below
- */
- while (p < end && *p != '\n')
- {
- int val, start_value, end_value;
-
- /* Find the end of current item, and put it into 'q' */
- q = memchr(p, ',', end-p);
- if (q == NULL) {
- q = end;
- }
-
- /* Get first value */
- p = parse_decimal(p, q, &start_value);
- if (p == NULL)
- goto BAD_FORMAT;
-
- end_value = start_value;
-
- /* If we're not at the end of the item, expect a dash and
- * and integer; extract end value.
- */
- if (p < q && *p == '-') {
- p = parse_decimal(p+1, q, &end_value);
- if (p == NULL)
- goto BAD_FORMAT;
- }
-
- /* Set CPU list */
- for (val = start_value; val <= end_value; val++) {
- list->mask++;
- }
-
- /* Jump to next item */
- p = q;
- if (p < end)
- p++;
- }
-
-BAD_FORMAT:
- ;
-}
-
-
-/* Read a CPU list from one sysfs file
- * The below is CPU related sys interface by CPU topologoy.
- */
-static void
-cpuList_read_from (cpuList* list, const char* filename)
-{
- char file[64];
- int filelen;
-
- list->mask = 0;
-
- filelen = read_file(filename, file, sizeof file);
- if (filelen < 0) {
- fprintf(stderr,"Could not read %s: %s\n", filename, strerror(errno));
- return;
- }
-
- cpuList_parse(list, file, filelen);
-}
-
-
-/* Probe the number of actual CPUs on devices (e.g. Android devices) using
- * CPU-Hotplug and CPU-DVFS to optimize battery life.
- * Return the number of CPUs present on a given device.
- * See http://www.kernel.org/doc/Documentation/cputopology.txt
- */
-static int
-sc_nprocessors_actu ()
-{
- char buffer[256];
- int buffer_len;
- int cpuCount = 1;
- cpuList cpus_present[1];
- char file_name[64] = "/sys/devices/system/cpu/present";
-
- buffer_len = read_file(file_name, buffer, sizeof buffer);
-
- if (buffer_len < 0) /* should not happen */ {
- fprintf(stderr,"Could not find %s: %s\n", file_name, strerror(errno));
- return 1;
- }
-
- /* Count the CPU cores, the value may be 0 for single-core CPUs */
- cpuList_read_from(cpus_present, file_name);
- cpuCount = cpuList_count(cpus_present);
- if (cpuCount == 0) {
- cpuCount = 1;
- }
- return cpuCount;
-}
-
-/* At startup, determine the default number of threads. It would seem
- this should be related to the number of cpus online. */
-
-void
-gomp_init_num_threads (void)
-{
-#ifdef HAVE_PTHREAD_AFFINITY_NP
- cpu_set_t cpuset;
-
- if (pthread_getaffinity_np (pthread_self (), sizeof (cpuset), &cpuset) == 0)
- {
- /* Count only the CPUs this process can use. */
- gomp_global_icv.nthreads_var = cpuset_popcount (&cpuset);
- if (gomp_global_icv.nthreads_var == 0)
- gomp_global_icv.nthreads_var = 1;
- return;
- }
-#endif
-#if defined(__ANDROID__)
- gomp_global_icv.nthreads_var = sc_nprocessors_actu ();
-#elif defined(_SC_NPROCESSORS_ONLN)
- gomp_global_icv.nthreads_var = sysconf (_SC_NPROCESSORS_ONLN);
-#endif
-}
-
-static int
-get_num_procs (void)
-{
-#ifdef HAVE_PTHREAD_AFFINITY_NP
- cpu_set_t cpuset;
-
- if (gomp_cpu_affinity == NULL)
- {
- /* Count only the CPUs this process can use. */
- if (pthread_getaffinity_np (pthread_self (), sizeof (cpuset),
- &cpuset) == 0)
- {
- int ret = cpuset_popcount (&cpuset);
- return ret != 0 ? ret : 1;
- }
- }
- else
- {
- size_t idx;
- static int affinity_cpus;
-
- /* We can't use pthread_getaffinity_np in this case
- (we have changed it ourselves, it binds to just one CPU).
- Count instead the number of different CPUs we are
- using. */
- CPU_ZERO (&cpuset);
- if (affinity_cpus == 0)
- {
- int cpus = 0;
- for (idx = 0; idx < gomp_cpu_affinity_len; idx++)
- if (! CPU_ISSET (gomp_cpu_affinity[idx], &cpuset))
- {
- cpus++;
- CPU_SET (gomp_cpu_affinity[idx], &cpuset);
- }
- affinity_cpus = cpus;
- }
- return affinity_cpus;
- }
-#endif
-#if defined(__ANDROID__)
- return sc_nprocessors_actu ();
-#elif defined(_SC_NPROCESSORS_ONLN)
- return sysconf (_SC_NPROCESSORS_ONLN);
-#else
- return gomp_icv (false)->nthreads_var;
-#endif
-}
-
-/* When OMP_DYNAMIC is set, at thread launch determine the number of
- threads we should spawn for this team. */
-/* ??? I have no idea what best practice for this is. Surely some
- function of the number of processors that are *still* online and
- the load average. Here I use the number of processors online
- minus the 15 minute load average. */
-
-unsigned
-gomp_dynamic_max_threads (void)
-{
- unsigned n_onln, loadavg, nthreads_var = gomp_icv (false)->nthreads_var;
-
- n_onln = get_num_procs ();
- if (n_onln > nthreads_var)
- n_onln = nthreads_var;
-
- loadavg = 0;
-#ifdef HAVE_GETLOADAVG
- {
- double dloadavg[3];
- if (getloadavg (dloadavg, 3) == 3)
- {
- /* Add 0.1 to get a kind of biased rounding. */
- loadavg = dloadavg[2] + 0.1;
- }
- }
-#endif
-
- if (loadavg >= n_onln)
- return 1;
- else
- return n_onln - loadavg;
-}
-
-int
-omp_get_num_procs (void)
-{
- return get_num_procs ();
-}
-
-ialias (omp_get_num_procs)
diff --git a/gcc-4.4.3/libgomp/config/linux/ptrlock.c b/gcc-4.4.3/libgomp/config/linux/ptrlock.c
deleted file mode 100644
index 7c2ad6192..000000000
--- a/gcc-4.4.3/libgomp/config/linux/ptrlock.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#include <endian.h>
-#include <limits.h>
-#include "wait.h"
-
-void *
-gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock)
-{
- int *intptr;
- __sync_bool_compare_and_swap (ptrlock, 1, 2);
-
- /* futex works on ints, not pointers.
- But a valid work share pointer will be at least
- 8 byte aligned, so it is safe to assume the low
- 32-bits of the pointer won't contain values 1 or 2. */
- __asm volatile ("" : "=r" (intptr) : "0" (ptrlock));
-#if __BYTE_ORDER == __BIG_ENDIAN
- if (sizeof (*ptrlock) > sizeof (int))
- intptr += (sizeof (*ptrlock) / sizeof (int)) - 1;
-#endif
- do
- do_wait (intptr, 2);
- while (*intptr == 2);
- __asm volatile ("" : : : "memory");
- return *ptrlock;
-}
-
-void
-gomp_ptrlock_set_slow (gomp_ptrlock_t *ptrlock, void *ptr)
-{
- int *intptr;
-
- *ptrlock = ptr;
- __asm volatile ("" : "=r" (intptr) : "0" (ptrlock));
-#if __BYTE_ORDER == __BIG_ENDIAN
- if (sizeof (*ptrlock) > sizeof (int))
- intptr += (sizeof (*ptrlock) / sizeof (int)) - 1;
-#endif
- futex_wake (intptr, INT_MAX);
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/ptrlock.h b/gcc-4.4.3/libgomp/config/linux/ptrlock.h
deleted file mode 100644
index 97a3a1ad9..000000000
--- a/gcc-4.4.3/libgomp/config/linux/ptrlock.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_PTRLOCK_H
-#define GOMP_PTRLOCK_H 1
-
-typedef void *gomp_ptrlock_t;
-
-static inline void gomp_ptrlock_init (gomp_ptrlock_t *ptrlock, void *ptr)
-{
- *ptrlock = ptr;
-}
-
-extern void *gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock);
-static inline void *gomp_ptrlock_get (gomp_ptrlock_t *ptrlock)
-{
- if ((uintptr_t) *ptrlock > 2)
- return *ptrlock;
-
- if (__sync_bool_compare_and_swap (ptrlock, NULL, (uintptr_t) 1))
- return NULL;
-
- return gomp_ptrlock_get_slow (ptrlock);
-}
-
-extern void gomp_ptrlock_set_slow (gomp_ptrlock_t *ptrlock, void *ptr);
-static inline void gomp_ptrlock_set (gomp_ptrlock_t *ptrlock, void *ptr)
-{
- if (!__sync_bool_compare_and_swap (ptrlock, (uintptr_t) 1, ptr))
- gomp_ptrlock_set_slow (ptrlock, ptr);
-}
-
-static inline void gomp_ptrlock_destroy (gomp_ptrlock_t *ptrlock)
-{
-}
-
-#endif /* GOMP_PTRLOCK_H */
diff --git a/gcc-4.4.3/libgomp/config/linux/s390/futex.h b/gcc-4.4.3/libgomp/config/linux/s390/futex.h
deleted file mode 100644
index 060032d73..000000000
--- a/gcc-4.4.3/libgomp/config/linux/s390/futex.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#include <sys/syscall.h>
-
-static inline long
-sys_futex0 (int *addr, int op, int val)
-{
- register long int gpr2 __asm__ ("2");
- register long int gpr3 __asm__ ("3");
- register long int gpr4 __asm__ ("4");
- register long int gpr5 __asm__ ("5");
-
- gpr2 = (long) addr;
- gpr3 = op;
- gpr4 = val;
- gpr5 = 0;
-
- __asm volatile ("svc %b1"
- : "=d" (gpr2)
- : "i" (SYS_futex),
- "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
- : "memory");
- return gpr2;
-}
-
-static inline void
-futex_wait (int *addr, int val)
-{
- long err = sys_futex0 (addr, gomp_futex_wait, val);
- if (__builtin_expect (err == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wait, val);
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long err = sys_futex0 (addr, gomp_futex_wake, count);
- if (__builtin_expect (err == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wake, count);
- }
-}
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __sync_synchronize ();
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/sem.c b/gcc-4.4.3/libgomp/config/linux/sem.c
deleted file mode 100644
index ea981024c..000000000
--- a/gcc-4.4.3/libgomp/config/linux/sem.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a semaphore synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#include "wait.h"
-
-
-void
-gomp_sem_wait_slow (gomp_sem_t *sem)
-{
- while (1)
- {
- int val = __sync_val_compare_and_swap (sem, 0, -1);
- if (val > 0)
- {
- if (__sync_bool_compare_and_swap (sem, val, val - 1))
- return;
- }
- do_wait (sem, -1);
- }
-}
-
-void
-gomp_sem_post_slow (gomp_sem_t *sem)
-{
- int old, tmp = *sem, wake;
-
- do
- {
- old = tmp;
- wake = old > 0 ? old + 1 : 1;
- tmp = __sync_val_compare_and_swap (sem, old, wake);
- }
- while (old != tmp);
-
- futex_wake (sem, wake);
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/sem.h b/gcc-4.4.3/libgomp/config/linux/sem.h
deleted file mode 100644
index 9b0f0f82b..000000000
--- a/gcc-4.4.3/libgomp/config/linux/sem.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a semaphore synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_SEM_H
-#define GOMP_SEM_H 1
-
-typedef int gomp_sem_t;
-
-static inline void gomp_sem_init (gomp_sem_t *sem, int value)
-{
- *sem = value;
-}
-
-extern void gomp_sem_wait_slow (gomp_sem_t *);
-static inline void gomp_sem_wait (gomp_sem_t *sem)
-{
- if (!__sync_bool_compare_and_swap (sem, 1, 0))
- gomp_sem_wait_slow (sem);
-}
-
-extern void gomp_sem_post_slow (gomp_sem_t *);
-static inline void gomp_sem_post (gomp_sem_t *sem)
-{
- if (!__sync_bool_compare_and_swap (sem, 0, 1))
- gomp_sem_post_slow (sem);
-}
-
-static inline void gomp_sem_destroy (gomp_sem_t *sem)
-{
-}
-
-#endif /* GOMP_SEM_H */
diff --git a/gcc-4.4.3/libgomp/config/linux/sparc/futex.h b/gcc-4.4.3/libgomp/config/linux/sparc/futex.h
deleted file mode 100644
index 214b786f7..000000000
--- a/gcc-4.4.3/libgomp/config/linux/sparc/futex.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#include <sys/syscall.h>
-
-static inline long
-sys_futex0 (int *addr, int op, int val)
-{
- register long int g1 __asm__ ("g1");
- register long int o0 __asm__ ("o0");
- register long int o1 __asm__ ("o1");
- register long int o2 __asm__ ("o2");
- register long int o3 __asm__ ("o3");
-
- g1 = SYS_futex;
- o0 = (long) addr;
- o1 = op;
- o2 = val;
- o3 = 0;
-
-#ifdef __arch64__
-# define SYSCALL_STRING "ta\t0x6d; bcs,a,pt %%xcc, 1f; sub %%g0, %%o0, %%o0; 1:"
-#else
-# define SYSCALL_STRING "ta\t0x10; bcs,a 1f; sub %%g0, %%o0, %%o0; 1:"
-#endif
-
- __asm volatile (SYSCALL_STRING
- : "=r" (g1), "=r" (o0)
- : "0" (g1), "1" (o0), "r" (o1), "r" (o2), "r" (o3)
- : "g2", "g3", "g4", "g5", "g6",
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
-#ifdef __arch64__
- "f32", "f34", "f36", "f38", "f40", "f42", "f44", "f46",
- "f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62",
-#endif
- "cc", "memory");
- return o0;
-}
-
-static inline void
-futex_wait (int *addr, int val)
-{
- long err = sys_futex0 (addr, gomp_futex_wait, val);
- if (__builtin_expect (err == ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wait, val);
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long err = sys_futex0 (addr, gomp_futex_wake, count);
- if (__builtin_expect (err == ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wake, count);
- }
-}
-
-static inline void
-cpu_relax (void)
-{
-#if defined __arch64__ || defined __sparc_v9__
- __asm volatile ("membar #LoadLoad" : : : "memory");
-#else
- __asm volatile ("" : : : "memory");
-#endif
-}
-
-static inline void
-atomic_write_barrier (void)
-{
-#if defined __arch64__ || defined __sparc_v9__
- __asm volatile ("membar #StoreStore" : : : "memory");
-#else
- __sync_synchronize ();
-#endif
-}
diff --git a/gcc-4.4.3/libgomp/config/linux/wait.h b/gcc-4.4.3/libgomp/config/linux/wait.h
deleted file mode 100644
index bd5bb6377..000000000
--- a/gcc-4.4.3/libgomp/config/linux/wait.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_WAIT_H
-#define GOMP_WAIT_H 1
-
-#include "libgomp.h"
-#include <errno.h>
-
-#define FUTEX_WAIT 0
-#define FUTEX_WAKE 1
-#define FUTEX_PRIVATE_FLAG 128L
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility push(hidden)
-#endif
-
-extern long int gomp_futex_wait, gomp_futex_wake;
-
-#include "futex.h"
-
-static inline void do_wait (int *addr, int val)
-{
- unsigned long long i, count = gomp_spin_count_var;
-
- if (__builtin_expect (gomp_managed_threads > gomp_available_cpus, 0))
- count = gomp_throttled_spin_count_var;
- for (i = 0; i < count; i++)
- if (__builtin_expect (*addr != val, 0))
- return;
- else
- cpu_relax ();
- futex_wait (addr, val);
-}
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility pop
-#endif
-
-#endif /* GOMP_WAIT_H */
diff --git a/gcc-4.4.3/libgomp/config/linux/x86/futex.h b/gcc-4.4.3/libgomp/config/linux/x86/futex.h
deleted file mode 100644
index cb7461d89..000000000
--- a/gcc-4.4.3/libgomp/config/linux/x86/futex.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Provide target-specific access to the futex system call. */
-
-#ifdef __LP64__
-# ifndef SYS_futex
-# define SYS_futex 202
-# endif
-
-static inline void
-futex_wait (int *addr, int val)
-{
- register long r10 __asm__("%r10");
- long res;
-
- r10 = 0;
- __asm volatile ("syscall"
- : "=a" (res)
- : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wait),
- "d" (val), "r" (r10)
- : "r11", "rcx", "memory");
- if (__builtin_expect (res == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- r10 = 0;
- __asm volatile ("syscall"
- : "=a" (res)
- : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wait),
- "d" (val), "r" (r10)
- : "r11", "rcx", "memory");
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long res;
-
- __asm volatile ("syscall"
- : "=a" (res)
- : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wake),
- "d" (count)
- : "r11", "rcx", "memory");
- if (__builtin_expect (res == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- __asm volatile ("syscall"
- : "=a" (res)
- : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wake),
- "d" (count)
- : "r11", "rcx", "memory");
- }
-}
-#else
-# ifndef SYS_futex
-# define SYS_futex 240
-# endif
-
-# ifdef __PIC__
-
-static inline long
-sys_futex0 (int *addr, int op, int val)
-{
- long res;
-
- __asm volatile ("xchgl\t%%ebx, %2\n\t"
- "int\t$0x80\n\t"
- "xchgl\t%%ebx, %2"
- : "=a" (res)
- : "0"(SYS_futex), "r" (addr), "c"(op),
- "d"(val), "S"(0)
- : "memory");
- return res;
-}
-
-# else
-
-static inline long
-sys_futex0 (int *addr, int op, int val)
-{
- long res;
-
- __asm volatile ("int $0x80"
- : "=a" (res)
- : "0"(SYS_futex), "b" (addr), "c"(op),
- "d"(val), "S"(0)
- : "memory");
- return res;
-}
-
-# endif /* __PIC__ */
-
-static inline void
-futex_wait (int *addr, int val)
-{
- long res = sys_futex0 (addr, gomp_futex_wait, val);
- if (__builtin_expect (res == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wait, val);
- }
-}
-
-static inline void
-futex_wake (int *addr, int count)
-{
- long res = sys_futex0 (addr, gomp_futex_wake, count);
- if (__builtin_expect (res == -ENOSYS, 0))
- {
- gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
- gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
- sys_futex0 (addr, gomp_futex_wake, count);
- }
-}
-
-#endif /* __LP64__ */
-
-static inline void
-cpu_relax (void)
-{
- __asm volatile ("rep; nop" : : : "memory");
-}
-
-static inline void
-atomic_write_barrier (void)
-{
- __sync_synchronize ();
-}
diff --git a/gcc-4.4.3/libgomp/config/mingw32/proc.c b/gcc-4.4.3/libgomp/config/mingw32/proc.c
deleted file mode 100644
index 03d101a59..000000000
--- a/gcc-4.4.3/libgomp/config/mingw32/proc.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
- Contributed by Danny Smith <dannysmith@users.sourceforge.net>
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains system specific routines related to counting
- online processors and dynamic load balancing. It is expected that
- a system may well want to write special versions of each of these.
-
- The following implementation uses win32 API routines. */
-
-#include "libgomp.h"
-#include <windows.h>
-
-/* Count the CPU's currently available to this process. */
-static unsigned int
-count_avail_process_cpus ()
-{
- DWORD_PTR process_cpus;
- DWORD_PTR system_cpus;
-
- if (GetProcessAffinityMask (GetCurrentProcess (),
- &process_cpus, &system_cpus))
- {
- unsigned int count;
- for (count = 0; process_cpus != 0; process_cpus >>= 1)
- if (process_cpus & 1)
- count++;
- return count;
- }
- return 1;
-}
-
-/* At startup, determine the default number of threads. It would seem
- this should be related to the number of cpus available to the process. */
-
-void
-gomp_init_num_threads (void)
-{
- gomp_global_icv.nthreads_var = count_avail_process_cpus ();
-}
-
-/* When OMP_DYNAMIC is set, at thread launch determine the number of
- threads we should spawn for this team. FIXME: How do we adjust for
- load average on MS Windows? */
-
-unsigned
-gomp_dynamic_max_threads (void)
-{
- unsigned int n_onln = count_avail_process_cpus ();
- unsigned int nthreads_var = gomp_icv (false)->nthreads_var;
- return n_onln > nthreads_var ? nthreads_var : n_onln;
-}
-
-int
-omp_get_num_procs (void)
-{
- return count_avail_process_cpus ();
-}
-
-ialias (omp_get_num_procs)
diff --git a/gcc-4.4.3/libgomp/config/mingw32/time.c b/gcc-4.4.3/libgomp/config/mingw32/time.c
deleted file mode 100644
index a89815544..000000000
--- a/gcc-4.4.3/libgomp/config/mingw32/time.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2006, 2009 Free Software Foundation, Inc.
- Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains timer routines for mingw32. */
-
-#include "libgomp.h"
-#include <unistd.h>
-#include <sys/timeb.h>
-
-double
-omp_get_wtime (void)
-{
- struct _timeb timebuf;
- _ftime (&timebuf);
- return (timebuf.time + (long)(timebuf.millitm) / 1e3);
-}
-
-double
-omp_get_wtick (void)
-{
- return 1e-3;
-}
-
-ialias (omp_get_wtime)
-ialias (omp_get_wtick)
diff --git a/gcc-4.4.3/libgomp/config/posix/affinity.c b/gcc-4.4.3/libgomp/config/posix/affinity.c
deleted file mode 100644
index 25865fcb5..000000000
--- a/gcc-4.4.3/libgomp/config/posix/affinity.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2006, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a generic stub implementation of a CPU affinity setting. */
-
-#include "libgomp.h"
-
-void
-gomp_init_affinity (void)
-{
-}
-
-void
-gomp_init_thread_affinity (pthread_attr_t *attr)
-{
- (void) attr;
-}
diff --git a/gcc-4.4.3/libgomp/config/posix/bar.c b/gcc-4.4.3/libgomp/config/posix/bar.c
deleted file mode 100644
index 0101d1f25..000000000
--- a/gcc-4.4.3/libgomp/config/posix/bar.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the default implementation of a barrier synchronization mechanism
- for libgomp. This type is private to the library. Note that we rely on
- being able to adjust the barrier count while threads are blocked, so the
- POSIX pthread_barrier_t won't work. */
-
-#include "libgomp.h"
-
-
-void
-gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
-{
- gomp_mutex_init (&bar->mutex1);
-#ifndef HAVE_SYNC_BUILTINS
- gomp_mutex_init (&bar->mutex2);
-#endif
- gomp_sem_init (&bar->sem1, 0);
- gomp_sem_init (&bar->sem2, 0);
- bar->total = count;
- bar->arrived = 0;
- bar->generation = 0;
-}
-
-void
-gomp_barrier_destroy (gomp_barrier_t *bar)
-{
- /* Before destroying, make sure all threads have left the barrier. */
- gomp_mutex_lock (&bar->mutex1);
- gomp_mutex_unlock (&bar->mutex1);
-
- gomp_mutex_destroy (&bar->mutex1);
-#ifndef HAVE_SYNC_BUILTINS
- gomp_mutex_destroy (&bar->mutex2);
-#endif
- gomp_sem_destroy (&bar->sem1);
- gomp_sem_destroy (&bar->sem2);
-}
-
-void
-gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
-{
- gomp_mutex_lock (&bar->mutex1);
- bar->total = count;
- gomp_mutex_unlock (&bar->mutex1);
-}
-
-void
-gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
- unsigned int n;
-
- if (state & 1)
- {
- n = --bar->arrived;
- if (n > 0)
- {
- do
- gomp_sem_post (&bar->sem1);
- while (--n != 0);
- gomp_sem_wait (&bar->sem2);
- }
- gomp_mutex_unlock (&bar->mutex1);
- }
- else
- {
- gomp_mutex_unlock (&bar->mutex1);
- gomp_sem_wait (&bar->sem1);
-
-#ifdef HAVE_SYNC_BUILTINS
- n = __sync_add_and_fetch (&bar->arrived, -1);
-#else
- gomp_mutex_lock (&bar->mutex2);
- n = --bar->arrived;
- gomp_mutex_unlock (&bar->mutex2);
-#endif
-
- if (n == 0)
- gomp_sem_post (&bar->sem2);
- }
-}
-
-void
-gomp_barrier_wait (gomp_barrier_t *barrier)
-{
- gomp_barrier_wait_end (barrier, gomp_barrier_wait_start (barrier));
-}
-
-void
-gomp_team_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
- unsigned int n;
-
- if (state & 1)
- {
- n = --bar->arrived;
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
-
- if (team->task_count)
- {
- gomp_barrier_handle_tasks (state);
- if (n > 0)
- gomp_sem_wait (&bar->sem2);
- gomp_mutex_unlock (&bar->mutex1);
- return;
- }
-
- bar->generation = state + 3;
- if (n > 0)
- {
- do
- gomp_sem_post (&bar->sem1);
- while (--n != 0);
- gomp_sem_wait (&bar->sem2);
- }
- gomp_mutex_unlock (&bar->mutex1);
- }
- else
- {
- gomp_mutex_unlock (&bar->mutex1);
- do
- {
- gomp_sem_wait (&bar->sem1);
- if (bar->generation & 1)
- gomp_barrier_handle_tasks (state);
- }
- while (bar->generation != state + 4);
-
-#ifdef HAVE_SYNC_BUILTINS
- n = __sync_add_and_fetch (&bar->arrived, -1);
-#else
- gomp_mutex_lock (&bar->mutex2);
- n = --bar->arrived;
- gomp_mutex_unlock (&bar->mutex2);
-#endif
-
- if (n == 0)
- gomp_sem_post (&bar->sem2);
- }
-}
-
-void
-gomp_team_barrier_wait (gomp_barrier_t *barrier)
-{
- gomp_team_barrier_wait_end (barrier, gomp_barrier_wait_start (barrier));
-}
-
-void
-gomp_team_barrier_wake (gomp_barrier_t *bar, int count)
-{
- if (count == 0)
- count = bar->total - 1;
- while (count-- > 0)
- gomp_sem_post (&bar->sem1);
-}
diff --git a/gcc-4.4.3/libgomp/config/posix/bar.h b/gcc-4.4.3/libgomp/config/posix/bar.h
deleted file mode 100644
index ac8ae6f85..000000000
--- a/gcc-4.4.3/libgomp/config/posix/bar.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the default implementation of a barrier synchronization mechanism
- for libgomp. This type is private to the library. Note that we rely on
- being able to adjust the barrier count while threads are blocked, so the
- POSIX pthread_barrier_t won't work. */
-
-#ifndef GOMP_BARRIER_H
-#define GOMP_BARRIER_H 1
-
-#include <pthread.h>
-
-typedef struct
-{
- gomp_mutex_t mutex1;
-#ifndef HAVE_SYNC_BUILTINS
- gomp_mutex_t mutex2;
-#endif
- gomp_sem_t sem1;
- gomp_sem_t sem2;
- unsigned total;
- unsigned arrived;
- unsigned generation;
-} gomp_barrier_t;
-typedef unsigned int gomp_barrier_state_t;
-
-extern void gomp_barrier_init (gomp_barrier_t *, unsigned);
-extern void gomp_barrier_reinit (gomp_barrier_t *, unsigned);
-extern void gomp_barrier_destroy (gomp_barrier_t *);
-
-extern void gomp_barrier_wait (gomp_barrier_t *);
-extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
-extern void gomp_team_barrier_wait (gomp_barrier_t *);
-extern void gomp_team_barrier_wait_end (gomp_barrier_t *,
- gomp_barrier_state_t);
-extern void gomp_team_barrier_wake (gomp_barrier_t *, int);
-
-static inline gomp_barrier_state_t
-gomp_barrier_wait_start (gomp_barrier_t *bar)
-{
- unsigned int ret;
- gomp_mutex_lock (&bar->mutex1);
- ret = bar->generation & ~3;
- ret += ++bar->arrived == bar->total;
- return ret;
-}
-
-static inline bool
-gomp_barrier_last_thread (gomp_barrier_state_t state)
-{
- return state & 1;
-}
-
-static inline void
-gomp_barrier_wait_last (gomp_barrier_t *bar)
-{
- gomp_barrier_wait (bar);
-}
-
-/* All the inlines below must be called with team->task_lock
- held. */
-
-static inline void
-gomp_team_barrier_set_task_pending (gomp_barrier_t *bar)
-{
- bar->generation |= 1;
-}
-
-static inline void
-gomp_team_barrier_clear_task_pending (gomp_barrier_t *bar)
-{
- bar->generation &= ~1;
-}
-
-static inline void
-gomp_team_barrier_set_waiting_for_tasks (gomp_barrier_t *bar)
-{
- bar->generation |= 2;
-}
-
-static inline bool
-gomp_team_barrier_waiting_for_tasks (gomp_barrier_t *bar)
-{
- return (bar->generation & 2) != 0;
-}
-
-static inline void
-gomp_team_barrier_done (gomp_barrier_t *bar, gomp_barrier_state_t state)
-{
- bar->generation = (state & ~3) + 4;
-}
-
-#endif /* GOMP_BARRIER_H */
diff --git a/gcc-4.4.3/libgomp/config/posix/lock.c b/gcc-4.4.3/libgomp/config/posix/lock.c
deleted file mode 100644
index 8cd715e64..000000000
--- a/gcc-4.4.3/libgomp/config/posix/lock.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the default PTHREADS implementation of the public OpenMP
- locking primitives.
-
- Because OpenMP uses different entry points for normal and recursive
- locks, and pthreads uses only one entry point, a system may be able
- to do better and streamline the locking as well as reduce the size
- of the types exported. */
-
-/* We need Unix98 extensions to get recursive locks. On Tru64 UNIX V4.0F,
- the declarations are available without _XOPEN_SOURCE, which actually
- breaks compilation. */
-#ifndef __osf__
-#define _XOPEN_SOURCE 500
-#endif
-
-#include "libgomp.h"
-
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
-void
-gomp_init_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_init (lock, NULL);
-}
-
-void
-gomp_destroy_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_destroy (lock);
-}
-
-void
-gomp_set_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_lock (lock);
-}
-
-void
-gomp_unset_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_unlock (lock);
-}
-
-int
-gomp_test_lock_30 (omp_lock_t *lock)
-{
- return pthread_mutex_trylock (lock) == 0;
-}
-
-void
-gomp_init_nest_lock_30 (omp_nest_lock_t *lock)
-{
- pthread_mutex_init (&lock->lock, NULL);
- lock->count = 0;
- lock->owner = NULL;
-}
-
-void
-gomp_destroy_nest_lock_30 (omp_nest_lock_t *lock)
-{
- pthread_mutex_destroy (&lock->lock);
-}
-
-void
-gomp_set_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- pthread_mutex_lock (&lock->lock);
- lock->owner = me;
- }
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_30 (omp_nest_lock_t *lock)
-{
- if (--lock->count == 0)
- {
- lock->owner = NULL;
- pthread_mutex_unlock (&lock->lock);
- }
-}
-
-int
-gomp_test_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- if (pthread_mutex_trylock (&lock->lock) != 0)
- return 0;
- lock->owner = me;
- }
-
- return ++lock->count;
-}
-
-#else
-
-void
-gomp_init_lock_30 (omp_lock_t *lock)
-{
- sem_init (lock, 0, 1);
-}
-
-void
-gomp_destroy_lock_30 (omp_lock_t *lock)
-{
- sem_destroy (lock);
-}
-
-void
-gomp_set_lock_30 (omp_lock_t *lock)
-{
- while (sem_wait (lock) != 0)
- ;
-}
-
-void
-gomp_unset_lock_30 (omp_lock_t *lock)
-{
- sem_post (lock);
-}
-
-int
-gomp_test_lock_30 (omp_lock_t *lock)
-{
- return sem_trywait (lock) == 0;
-}
-
-void
-gomp_init_nest_lock_30 (omp_nest_lock_t *lock)
-{
- sem_init (&lock->lock, 0, 1);
- lock->count = 0;
- lock->owner = NULL;
-}
-
-void
-gomp_destroy_nest_lock_30 (omp_nest_lock_t *lock)
-{
- sem_destroy (&lock->lock);
-}
-
-void
-gomp_set_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- while (sem_wait (&lock->lock) != 0)
- ;
- lock->owner = me;
- }
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_30 (omp_nest_lock_t *lock)
-{
- if (--lock->count == 0)
- {
- lock->owner = NULL;
- sem_post (&lock->lock);
- }
-}
-
-int
-gomp_test_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- if (sem_trywait (&lock->lock) != 0)
- return 0;
- lock->owner = me;
- }
-
- return ++lock->count;
-}
-#endif
-
-#ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
-void
-gomp_init_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_init (lock, NULL);
-}
-
-void
-gomp_destroy_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_destroy (lock);
-}
-
-void
-gomp_set_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_lock (lock);
-}
-
-void
-gomp_unset_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_unlock (lock);
-}
-
-int
-gomp_test_lock_25 (omp_lock_25_t *lock)
-{
- return pthread_mutex_trylock (lock) == 0;
-}
-
-void
-gomp_init_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_mutexattr_t attr;
-
- pthread_mutexattr_init (&attr);
- pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
- pthread_mutex_init (&lock->lock, &attr);
- lock->count = 0;
- pthread_mutexattr_destroy (&attr);
-}
-
-void
-gomp_destroy_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_mutex_destroy (&lock->lock);
-}
-
-void
-gomp_set_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_mutex_lock (&lock->lock);
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- lock->count--;
- pthread_mutex_unlock (&lock->lock);
-}
-
-int
-gomp_test_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- if (pthread_mutex_trylock (&lock->lock) == 0)
- return ++lock->count;
- return 0;
-}
-
-omp_lock_symver (omp_init_lock)
-omp_lock_symver (omp_destroy_lock)
-omp_lock_symver (omp_set_lock)
-omp_lock_symver (omp_unset_lock)
-omp_lock_symver (omp_test_lock)
-omp_lock_symver (omp_init_nest_lock)
-omp_lock_symver (omp_destroy_nest_lock)
-omp_lock_symver (omp_set_nest_lock)
-omp_lock_symver (omp_unset_nest_lock)
-omp_lock_symver (omp_test_nest_lock)
-
-#else
-
-ialias (omp_init_lock)
-ialias (omp_init_nest_lock)
-ialias (omp_destroy_lock)
-ialias (omp_destroy_nest_lock)
-ialias (omp_set_lock)
-ialias (omp_set_nest_lock)
-ialias (omp_unset_lock)
-ialias (omp_unset_nest_lock)
-ialias (omp_test_lock)
-ialias (omp_test_nest_lock)
-
-#endif
diff --git a/gcc-4.4.3/libgomp/config/posix/mutex.c b/gcc-4.4.3/libgomp/config/posix/mutex.c
deleted file mode 100644
index 39bb64da0..000000000
--- a/gcc-4.4.3/libgomp/config/posix/mutex.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Everything is in the header. */
diff --git a/gcc-4.4.3/libgomp/config/posix/mutex.h b/gcc-4.4.3/libgomp/config/posix/mutex.h
deleted file mode 100644
index b6617a4bd..000000000
--- a/gcc-4.4.3/libgomp/config/posix/mutex.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the default PTHREADS implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. */
-
-#ifndef GOMP_MUTEX_H
-#define GOMP_MUTEX_H 1
-
-#include <pthread.h>
-
-typedef pthread_mutex_t gomp_mutex_t;
-
-#define GOMP_MUTEX_INIT_0 0
-
-static inline void gomp_mutex_init (gomp_mutex_t *mutex)
-{
- pthread_mutex_init (mutex, NULL);
-}
-
-static inline void gomp_mutex_lock (gomp_mutex_t *mutex)
-{
- pthread_mutex_lock (mutex);
-}
-
-static inline void gomp_mutex_unlock (gomp_mutex_t *mutex)
-{
- pthread_mutex_unlock (mutex);
-}
-
-static inline void gomp_mutex_destroy (gomp_mutex_t *mutex)
-{
- pthread_mutex_destroy (mutex);
-}
-
-#endif /* GOMP_MUTEX_H */
diff --git a/gcc-4.4.3/libgomp/config/posix/omp-lock.h b/gcc-4.4.3/libgomp/config/posix/omp-lock.h
deleted file mode 100644
index e51dc271f..000000000
--- a/gcc-4.4.3/libgomp/config/posix/omp-lock.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* This header is used during the build process to find the size and
- alignment of the public OpenMP locks, so that we can export data
- structures without polluting the namespace.
-
- In this default POSIX implementation, we used to map the two locks to the
- same PTHREADS primitive, but for OpenMP 3.0 sem_t needs to be used
- instead, as pthread_mutex_unlock should not be called by different
- thread than the one that called pthread_mutex_lock. */
-
-#include <pthread.h>
-#include <semaphore.h>
-
-typedef pthread_mutex_t omp_lock_25_t;
-typedef struct { pthread_mutex_t lock; int count; } omp_nest_lock_25_t;
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
-/* If we don't have working semaphores, we'll make all explicit tasks
- tied to the creating thread. */
-typedef pthread_mutex_t omp_lock_t;
-typedef struct { pthread_mutex_t lock; int count; void *owner; } omp_nest_lock_t;
-#else
-typedef sem_t omp_lock_t;
-typedef struct { sem_t lock; int count; void *owner; } omp_nest_lock_t;
-#endif
diff --git a/gcc-4.4.3/libgomp/config/posix/proc.c b/gcc-4.4.3/libgomp/config/posix/proc.c
deleted file mode 100644
index aacf41e52..000000000
--- a/gcc-4.4.3/libgomp/config/posix/proc.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains system specific routines related to counting
- online processors and dynamic load balancing. It is expected that
- a system may well want to write special versions of each of these.
-
- The following implementation uses a mix of POSIX and BSD routines. */
-
-#include "libgomp.h"
-#include <unistd.h>
-#include <stdlib.h>
-#ifdef HAVE_GETLOADAVG
-# ifdef HAVE_SYS_LOADAVG_H
-# include <sys/loadavg.h>
-# endif
-#endif
-
-
-/* At startup, determine the default number of threads. It would seem
- this should be related to the number of cpus online. */
-
-void
-gomp_init_num_threads (void)
-{
-#ifdef _SC_NPROCESSORS_ONLN
- gomp_global_icv.nthreads_var = sysconf (_SC_NPROCESSORS_ONLN);
-#endif
-}
-
-/* When OMP_DYNAMIC is set, at thread launch determine the number of
- threads we should spawn for this team. */
-/* ??? I have no idea what best practice for this is. Surely some
- function of the number of processors that are *still* online and
- the load average. Here I use the number of processors online
- minus the 15 minute load average. */
-
-unsigned
-gomp_dynamic_max_threads (void)
-{
- unsigned n_onln, loadavg;
- unsigned nthreads_var = gomp_icv (false)->nthreads_var;
-
-#ifdef _SC_NPROCESSORS_ONLN
- n_onln = sysconf (_SC_NPROCESSORS_ONLN);
- if (n_onln > nthreads_var)
- n_onln = nthreads_var;
-#else
- n_onln = nthreads_var;
-#endif
-
- loadavg = 0;
-#ifdef HAVE_GETLOADAVG
- {
- double dloadavg[3];
- if (getloadavg (dloadavg, 3) == 3)
- {
- /* Add 0.1 to get a kind of biased rounding. */
- loadavg = dloadavg[2] + 0.1;
- }
- }
-#endif
-
- if (loadavg >= n_onln)
- return 1;
- else
- return n_onln - loadavg;
-}
-
-int
-omp_get_num_procs (void)
-{
-#ifdef _SC_NPROCESSORS_ONLN
- return sysconf (_SC_NPROCESSORS_ONLN);
-#else
- return gomp_icv (false)->nthreads_var;
-#endif
-}
-
-ialias (omp_get_num_procs)
diff --git a/gcc-4.4.3/libgomp/config/posix/ptrlock.c b/gcc-4.4.3/libgomp/config/posix/ptrlock.c
deleted file mode 100644
index 39bb64da0..000000000
--- a/gcc-4.4.3/libgomp/config/posix/ptrlock.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Everything is in the header. */
diff --git a/gcc-4.4.3/libgomp/config/posix/ptrlock.h b/gcc-4.4.3/libgomp/config/posix/ptrlock.h
deleted file mode 100644
index 246e1caac..000000000
--- a/gcc-4.4.3/libgomp/config/posix/ptrlock.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is a Linux specific implementation of a mutex synchronization
- mechanism for libgomp. This type is private to the library. This
- implementation uses atomic instructions and the futex syscall. */
-
-#ifndef GOMP_PTRLOCK_H
-#define GOMP_PTRLOCK_H 1
-
-typedef struct { void *ptr; gomp_mutex_t lock; } gomp_ptrlock_t;
-
-static inline void gomp_ptrlock_init (gomp_ptrlock_t *ptrlock, void *ptr)
-{
- ptrlock->ptr = ptr;
- gomp_mutex_init (&ptrlock->lock);
-}
-
-static inline void *gomp_ptrlock_get (gomp_ptrlock_t *ptrlock)
-{
- if (ptrlock->ptr != NULL)
- return ptrlock->ptr;
-
- gomp_mutex_lock (&ptrlock->lock);
- if (ptrlock->ptr != NULL)
- {
- gomp_mutex_unlock (&ptrlock->lock);
- return ptrlock->ptr;
- }
-
- return NULL;
-}
-
-static inline void gomp_ptrlock_set (gomp_ptrlock_t *ptrlock, void *ptr)
-{
- ptrlock->ptr = ptr;
- gomp_mutex_unlock (&ptrlock->lock);
-}
-
-static inline void gomp_ptrlock_destroy (gomp_ptrlock_t *ptrlock)
-{
- gomp_mutex_destroy (&ptrlock->lock);
-}
-
-#endif /* GOMP_PTRLOCK_H */
diff --git a/gcc-4.4.3/libgomp/config/posix/sem.c b/gcc-4.4.3/libgomp/config/posix/sem.c
deleted file mode 100644
index e05767513..000000000
--- a/gcc-4.4.3/libgomp/config/posix/sem.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the default POSIX 1003.1b implementation of a semaphore
- synchronization mechanism for libgomp. This type is private to
- the library.
-
- This is a bit heavy weight for what we need, in that we're not
- interested in sem_wait as a cancelation point, but it's not too
- bad for a default. */
-
-#include "libgomp.h"
-
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
-#include <stdlib.h>
-
-void gomp_sem_init (gomp_sem_t *sem, int value)
-{
- int ret;
-
- ret = pthread_mutex_init (&sem->mutex, NULL);
- if (ret)
- return;
-
- ret = pthread_cond_init (&sem->cond, NULL);
- if (ret)
- return;
-
- sem->value = value;
-}
-
-void gomp_sem_wait (gomp_sem_t *sem)
-{
- int ret;
-
- ret = pthread_mutex_lock (&sem->mutex);
- if (ret)
- return;
-
- if (sem->value > 0)
- {
- sem->value--;
- ret = pthread_mutex_unlock (&sem->mutex);
- return;
- }
-
- while (sem->value <= 0)
- {
- ret = pthread_cond_wait (&sem->cond, &sem->mutex);
- if (ret)
- {
- pthread_mutex_unlock (&sem->mutex);
- return;
- }
- }
-
- sem->value--;
- ret = pthread_mutex_unlock (&sem->mutex);
- return;
-}
-
-void gomp_sem_post (gomp_sem_t *sem)
-{
- int ret;
-
- ret = pthread_mutex_lock (&sem->mutex);
- if (ret)
- return;
-
- sem->value++;
-
- ret = pthread_mutex_unlock (&sem->mutex);
- if (ret)
- return;
-
- ret = pthread_cond_signal (&sem->cond);
-
- return;
-}
-
-void gomp_sem_destroy (gomp_sem_t *sem)
-{
- int ret;
-
- ret = pthread_mutex_destroy (&sem->mutex);
- if (ret)
- return;
-
- ret = pthread_cond_destroy (&sem->cond);
-
- return;
-}
-#else /* HAVE_BROKEN_POSIX_SEMAPHORES */
-void
-gomp_sem_wait (gomp_sem_t *sem)
-{
- /* With POSIX, the wait can be canceled by signals. We don't want that.
- It is expected that the return value here is -1 and errno is EINTR. */
- while (sem_wait (sem) != 0)
- continue;
-}
-#endif
diff --git a/gcc-4.4.3/libgomp/config/posix/sem.h b/gcc-4.4.3/libgomp/config/posix/sem.h
deleted file mode 100644
index b68230de0..000000000
--- a/gcc-4.4.3/libgomp/config/posix/sem.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the default POSIX 1003.1b implementation of a semaphore
- synchronization mechanism for libgomp. This type is private to
- the library.
-
- This is a bit heavy weight for what we need, in that we're not
- interested in sem_wait as a cancelation point, but it's not too
- bad for a default. */
-
-#ifndef GOMP_SEM_H
-#define GOMP_SEM_H 1
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility push(default)
-#endif
-
-#include <semaphore.h>
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility pop
-#endif
-
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
-#include <pthread.h>
-
-struct gomp_sem
-{
- pthread_mutex_t mutex;
- pthread_cond_t cond;
- int value;
-};
-
-typedef struct gomp_sem gomp_sem_t;
-
-extern void gomp_sem_init (gomp_sem_t *sem, int value);
-
-extern void gomp_sem_wait (gomp_sem_t *sem);
-
-extern void gomp_sem_post (gomp_sem_t *sem);
-
-extern void gomp_sem_destroy (gomp_sem_t *sem);
-
-#else /* HAVE_BROKEN_POSIX_SEMAPHORES */
-
-typedef sem_t gomp_sem_t;
-
-static inline void gomp_sem_init (gomp_sem_t *sem, int value)
-{
- sem_init (sem, 0, value);
-}
-
-extern void gomp_sem_wait (gomp_sem_t *sem);
-
-static inline void gomp_sem_post (gomp_sem_t *sem)
-{
- sem_post (sem);
-}
-
-static inline void gomp_sem_destroy (gomp_sem_t *sem)
-{
- sem_destroy (sem);
-}
-#endif /* doesn't HAVE_BROKEN_POSIX_SEMAPHORES */
-#endif /* GOMP_SEM_H */
diff --git a/gcc-4.4.3/libgomp/config/posix/time.c b/gcc-4.4.3/libgomp/config/posix/time.c
deleted file mode 100644
index eb196f648..000000000
--- a/gcc-4.4.3/libgomp/config/posix/time.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains system specific timer routines. It is expected that
- a system may well want to write special versions of each of these.
-
- The following implementation uses the most simple POSIX routines.
- If present, POSIX 4 clocks should be used instead. */
-
-#include "libgomp.h"
-#include <unistd.h>
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-
-
-double
-omp_get_wtime (void)
-{
-#ifdef HAVE_CLOCK_GETTIME
- struct timespec ts;
-# ifdef CLOCK_MONOTONIC
- if (clock_gettime (CLOCK_MONOTONIC, &ts) < 0)
-# endif
- clock_gettime (CLOCK_REALTIME, &ts);
- return ts.tv_sec + ts.tv_nsec / 1e9;
-#else
- struct timeval tv;
- gettimeofday (&tv, NULL);
- return tv.tv_sec + tv.tv_usec / 1e6;
-#endif
-}
-
-double
-omp_get_wtick (void)
-{
-#ifdef HAVE_CLOCK_GETTIME
- struct timespec ts;
-# ifdef CLOCK_MONOTONIC
- if (clock_getres (CLOCK_MONOTONIC, &ts) < 0)
-# endif
- clock_getres (CLOCK_REALTIME, &ts);
- return ts.tv_sec + ts.tv_nsec / 1e9;
-#else
- return 1.0 / sysconf(_SC_CLK_TCK);
-#endif
-}
-
-ialias (omp_get_wtime)
-ialias (omp_get_wtick)
diff --git a/gcc-4.4.3/libgomp/config/posix95/lock.c b/gcc-4.4.3/libgomp/config/posix95/lock.c
deleted file mode 100644
index 22420417c..000000000
--- a/gcc-4.4.3/libgomp/config/posix95/lock.c
+++ /dev/null
@@ -1,316 +0,0 @@
-/* Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This is the POSIX95 implementation of the public OpenMP locking primitives.
-
- Because OpenMP uses different entry points for normal and recursive
- locks, and pthreads uses only one entry point, a system may be able
- to do better and streamline the locking as well as reduce the size
- of the types exported. */
-
-#include "libgomp.h"
-
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
-void
-gomp_init_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_init (lock, NULL);
-}
-
-void
-gomp_destroy_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_destroy (lock);
-}
-
-void
-gomp_set_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_lock (lock);
-}
-
-void
-gomp_unset_lock_30 (omp_lock_t *lock)
-{
- pthread_mutex_unlock (lock);
-}
-
-int
-gomp_test_lock_30 (omp_lock_t *lock)
-{
- return pthread_mutex_trylock (lock) == 0;
-}
-
-void
-gomp_init_nest_lock_30 (omp_nest_lock_t *lock)
-{
- pthread_mutex_init (&lock->lock, NULL);
- lock->owner = NULL;
- lock->count = 0;
-}
-
-void
-gomp_destroy_nest_lock_30 (omp_nest_lock_t *lock)
-{
- pthread_mutex_destroy (&lock->lock);
-}
-
-void
-gomp_set_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- pthread_mutex_lock (&lock->lock);
- lock->owner = me;
- }
-
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_30 (omp_nest_lock_t *lock)
-{
- lock->count--;
-
- if (lock->count == 0)
- {
- lock->owner = NULL;
- pthread_mutex_unlock (&lock->lock);
- }
-}
-
-int
-gomp_test_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- if (pthread_mutex_trylock (&lock->lock) != 0)
- return 0;
- lock->owner = me;
- }
-
- return ++lock->count;
-}
-
-#else
-
-void
-gomp_init_lock_30 (omp_lock_t *lock)
-{
- sem_init (lock, 0, 1);
-}
-
-void
-gomp_destroy_lock_30 (omp_lock_t *lock)
-{
- sem_destroy (lock);
-}
-
-void
-gomp_set_lock_30 (omp_lock_t *lock)
-{
- while (sem_wait (lock) != 0)
- ;
-}
-
-void
-gomp_unset_lock_30 (omp_lock_t *lock)
-{
- sem_post (lock);
-}
-
-int
-gomp_test_lock_30 (omp_lock_t *lock)
-{
- return sem_trywait (lock) == 0;
-}
-
-void
-gomp_init_nest_lock_30 (omp_nest_lock_t *lock)
-{
- sem_init (&lock->lock, 0, 1);
- lock->count = 0;
- lock->owner = NULL;
-}
-
-void
-gomp_destroy_nest_lock_30 (omp_nest_lock_t *lock)
-{
- sem_destroy (&lock->lock);
-}
-
-void
-gomp_set_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- while (sem_wait (&lock->lock) != 0)
- ;
- lock->owner = me;
- }
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_30 (omp_nest_lock_t *lock)
-{
- if (--lock->count == 0)
- {
- lock->owner = NULL;
- sem_post (&lock->lock);
- }
-}
-
-int
-gomp_test_nest_lock_30 (omp_nest_lock_t *lock)
-{
- void *me = gomp_icv (true);
-
- if (lock->owner != me)
- {
- if (sem_trywait (&lock->lock) != 0)
- return 0;
- lock->owner = me;
- }
-
- return ++lock->count;
-}
-#endif
-
-#ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
-void
-gomp_init_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_init (lock, NULL);
-}
-
-void
-gomp_destroy_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_destroy (lock);
-}
-
-void
-gomp_set_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_lock (lock);
-}
-
-void
-gomp_unset_lock_25 (omp_lock_25_t *lock)
-{
- pthread_mutex_unlock (lock);
-}
-
-int
-gomp_test_lock_25 (omp_lock_25_t *lock)
-{
- return pthread_mutex_trylock (lock) == 0;
-}
-
-void
-gomp_init_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_mutex_init (&lock->lock, NULL);
- lock->owner = (pthread_t) 0;
- lock->count = 0;
-}
-
-void
-gomp_destroy_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_mutex_destroy (&lock->lock);
-}
-
-void
-gomp_set_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_t me = pthread_self ();
-
- if (lock->owner != me)
- {
- pthread_mutex_lock (&lock->lock);
- lock->owner = me;
- }
-
- lock->count++;
-}
-
-void
-gomp_unset_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- lock->count--;
-
- if (lock->count == 0)
- {
- lock->owner = (pthread_t) 0;
- pthread_mutex_unlock (&lock->lock);
- }
-}
-
-int
-gomp_test_nest_lock_25 (omp_nest_lock_25_t *lock)
-{
- pthread_t me = pthread_self ();
-
- if (lock->owner != me)
- {
- if (pthread_mutex_trylock (&lock->lock) != 0)
- return 0;
- lock->owner = me;
- }
-
- return ++lock->count;
-}
-
-omp_lock_symver (omp_init_lock)
-omp_lock_symver (omp_destroy_lock)
-omp_lock_symver (omp_set_lock)
-omp_lock_symver (omp_unset_lock)
-omp_lock_symver (omp_test_lock)
-omp_lock_symver (omp_init_nest_lock)
-omp_lock_symver (omp_destroy_nest_lock)
-omp_lock_symver (omp_set_nest_lock)
-omp_lock_symver (omp_unset_nest_lock)
-omp_lock_symver (omp_test_nest_lock)
-
-#else
-
-ialias (omp_init_lock)
-ialias (omp_init_nest_lock)
-ialias (omp_destroy_lock)
-ialias (omp_destroy_nest_lock)
-ialias (omp_set_lock)
-ialias (omp_set_nest_lock)
-ialias (omp_unset_lock)
-ialias (omp_unset_nest_lock)
-ialias (omp_test_lock)
-ialias (omp_test_nest_lock)
-
-#endif
diff --git a/gcc-4.4.3/libgomp/config/posix95/omp-lock.h b/gcc-4.4.3/libgomp/config/posix95/omp-lock.h
deleted file mode 100644
index b542ba131..000000000
--- a/gcc-4.4.3/libgomp/config/posix95/omp-lock.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* This header is used during the build process to find the size and
- alignment of the public OpenMP locks, so that we can export data
- structures without polluting the namespace.
-
- In this POSIX95 implementation, we map the two locks to the
- same PTHREADS primitive. */
-
-#include <pthread.h>
-#include <semaphore.h>
-
-typedef pthread_mutex_t omp_lock_25_t;
-typedef struct { pthread_mutex_t lock; pthread_t owner; int count; } omp_nest_lock_25_t;
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
-/* If we don't have working semaphores, we'll make all explicit tasks
- tied to the creating thread. */
-typedef pthread_mutex_t omp_lock_t;
-typedef struct { pthread_mutex_t lock; int count; void *owner; } omp_nest_lock_t;
-#else
-typedef sem_t omp_lock_t;
-typedef struct { sem_t lock; int count; void *owner; } omp_nest_lock_t;
-#endif
diff --git a/gcc-4.4.3/libgomp/configure b/gcc-4.4.3/libgomp/configure
deleted file mode 100755
index 29645d13a..000000000
--- a/gcc-4.4.3/libgomp/configure
+++ /dev/null
@@ -1,24816 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for GNU OpenMP Runtime Library 1.0.
-#
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-$*
-_LT_EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
- if test "X${echo_test_string+set}" != Xset; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
- then
- break
- fi
- done
- fi
-
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
- else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$ECHO" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- ECHO='print -r'
- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- ECHO='printf %s\n'
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- ECHO="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- ECHO=echo
- fi
- fi
- fi
- fi
- fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME='GNU OpenMP Runtime Library'
-PACKAGE_TARNAME='libgomp'
-PACKAGE_VERSION='1.0'
-PACKAGE_STRING='GNU OpenMP Runtime Library 1.0'
-PACKAGE_BUGREPORT=''
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS GENINSRC_TRUE GENINSRC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar multi_basedir toolexecdir toolexeclibdir CC ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CFLAGS AR ac_ct_AR RANLIB ac_ct_RANLIB PERL BUILD_INFO_TRUE BUILD_INFO_FALSE LIBTOOL SED EGREP FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S OBJDUMP ac_ct_OBJDUMP lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 CPP CPPFLAGS enable_shared enable_static MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT FC FCFLAGS LDFLAGS ac_ct_FC libtool_VERSION SECTION_LDFLAGS OPT_LDFLAGS LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE config_path XCFLAGS XLDFLAGS link_gomp USE_FORTRAN_TRUE USE_FORTRAN_FALSE OMP_LOCK_SIZE OMP_LOCK_ALIGN OMP_NEST_LOCK_SIZE OMP_NEST_LOCK_ALIGN OMP_LOCK_KIND OMP_NEST_LOCK_KIND OMP_LOCK_25_SIZE OMP_LOCK_25_ALIGN OMP_NEST_LOCK_25_SIZE OMP_NEST_LOCK_25_ALIGN OMP_LOCK_25_KIND OMP_NEST_LOCK_25_KIND LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-ac_pwd=`pwd`
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_FC_set=${FC+set}
-ac_env_FC_value=$FC
-ac_cv_env_FC_set=${FC+set}
-ac_cv_env_FC_value=$FC
-ac_env_FCFLAGS_set=${FCFLAGS+set}
-ac_env_FCFLAGS_value=$FCFLAGS
-ac_cv_env_FCFLAGS_set=${FCFLAGS+set}
-ac_cv_env_FCFLAGS_value=$FCFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures GNU OpenMP Runtime Library 1.0 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of GNU OpenMP Runtime Library 1.0:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-version-specific-runtime-libs
- Specify that runtime libraries should be installed
- in a compiler-specific directory [default=no]
- --enable-generated-files-in-srcdir
- put copies of generated files in source dir intended
- for creating source tarballs for users without
- texinfo bison or flex. [default=no]
- --enable-multilib build many library versions (default)
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS]
- build shared libraries [default=yes]
- --enable-static[=PKGS]
- build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-linux-futex use the Linux futex system call
- [default=default]
- --enable-tls Use thread-local storage [default=yes]
- --enable-symvers=STYLE enables symbol versioning of the shared library
- [default=yes]
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
- CPP C preprocessor
- FC Fortran compiler command
- FCFLAGS Fortran compiler flags
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-GNU OpenMP Runtime Library configure 1.0
-generated by GNU Autoconf 2.59
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by GNU OpenMP Runtime Library $as_me 1.0, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_sep=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
-echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
-echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_headers="$ac_config_headers config.h"
-
-
-# -------
-# Options
-# -------
-
-echo "$as_me:$LINENO: checking for --enable-version-specific-runtime-libs" >&5
-echo $ECHO_N "checking for --enable-version-specific-runtime-libs... $ECHO_C" >&6
- # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
-if test "${enable_version_specific_runtime_libs+set}" = set; then
- enableval="$enable_version_specific_runtime_libs"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable version-specific-runtime-libs" >&5
-echo "$as_me: error: Unknown argument to enable/disable version-specific-runtime-libs" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_version_specific_runtime_libs=no
-fi;
-
-echo "$as_me:$LINENO: result: $enable_version_specific_runtime_libs" >&5
-echo "${ECHO_T}$enable_version_specific_runtime_libs" >&6
-
-# We would like our source tree to be readonly. However when releases or
-# pre-releases are generated, the flex/bison generated files as well as the
-# various formats of manuals need to be included along with the rest of the
-# sources. Therefore we have --enable-generated-files-in-srcdir to do
-# just that.
-echo "$as_me:$LINENO: checking for --enable-generated-files-in-srcdir" >&5
-echo $ECHO_N "checking for --enable-generated-files-in-srcdir... $ECHO_C" >&6
- # Check whether --enable-generated-files-in-srcdir or --disable-generated-files-in-srcdir was given.
-if test "${enable_generated_files_in_srcdir+set}" = set; then
- enableval="$enable_generated_files_in_srcdir"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable generated-files-in-srcdir" >&5
-echo "$as_me: error: Unknown argument to enable/disable generated-files-in-srcdir" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_generated_files_in_srcdir=no
-fi;
-
-echo "$as_me:$LINENO: result: $enable_generated_files_in_srcdir" >&5
-echo "${ECHO_T}$enable_generated_files_in_srcdir" >&6
-
-
-if test "$enable_generated_files_in_srcdir" = yes; then
- GENINSRC_TRUE=
- GENINSRC_FALSE='#'
-else
- GENINSRC_TRUE='#'
- GENINSRC_FALSE=
-fi
-
-
-
-# -------
-# -------
-
-# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
-#
-# You will slowly go insane if you do not grok the following fact: when
-# building this library, the top-level /target/ becomes the library's /host/.
-#
-# configure then causes --target to default to --host, exactly like any
-# other package using autoconf. Therefore, 'target' and 'host' will
-# always be the same. This makes sense both for native and cross compilers
-# just think about it for a little while. :-)
-#
-# Also, if this library is being configured as part of a cross compiler, the
-# top-level configure script will pass the "real" host as $with_cross_host.
-#
-# Do not delete or change the following two lines. For why, see
-# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_target_alias=$target_alias
-test "x$ac_cv_target_alias" = "x" &&
- ac_cv_target_alias=$ac_cv_host_alias
-ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6
-target=$ac_cv_target
-target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-target_alias=${target_alias-$host_alias}
-
-# Sets up automake. Must come after AC_CANONICAL_SYSTEM. Each of the
-# following is magically included in AUTOMAKE_OPTIONS in each Makefile.am.
-# 1.9.0: minimum required version
-# no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
-# of other PACKAGE_* variables will, however, and there's nothing
-# we can do about that; they come from AC_INIT).
-# foreign: we don't follow the normal rules for GNU packages (no COPYING
-# file in the top srcdir, etc, etc), so stop complaining.
-# -Wall: turns on all automake warnings...
-# -Wno-portability: ...except this one, since GNU make is required.
-# -Wno-override: ... and this one, since we do want this in testsuite.
-am__api_version="1.9"
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$AWK" && break
-done
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libgomp'
- VERSION='1.0'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-# Default to --enable-multilib
-# Check whether --enable-multilib or --disable-multilib was given.
-if test "${enable_multilib+set}" = set; then
- enableval="$enable_multilib"
- case "$enableval" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) { { echo "$as_me:$LINENO: error: bad value $enableval for multilib option" >&5
-echo "$as_me: error: bad value $enableval for multilib option" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-else
- multilib=yes
-fi;
-
-# We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
-# See config-ml.in if you want the gory details.
-
-if test "$srcdir" = "."; then
- if test "$with_target_subdir" != "."; then
- multi_basedir="$srcdir/$with_multisrctop../.."
- else
- multi_basedir="$srcdir/$with_multisrctop.."
- fi
-else
- multi_basedir="$srcdir/.."
-fi
-
-
-# Even if the default multilib is not a cross compilation,
-# it may be that some of the other multilibs are.
-if test $cross_compiling = no && test $multilib = yes \
- && test "x${with_multisubdir}" != x ; then
- cross_compiling=maybe
-fi
-
- ac_config_commands="$ac_config_commands default-1"
-
-
-# Calculate toolexeclibdir
-# Also toolexecdir, though it's only used in toolexeclibdir
-case ${enable_version_specific_runtime_libs} in
- yes)
- # Need the gcc compiler version to know where to install libraries
- # and header files if --enable-version-specific-runtime-libs option
- # is selected.
- toolexecdir='$(libdir)/gcc/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
- ;;
- no)
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- # Install a library built with a cross compiler in tooldir, not libdir.
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- ;;
-esac
-
-
-
-# Check the compiler.
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
- ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval="$enable_dependency_tracking"
-
-fi;
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-
-depcc="$CC" am_compiler_list=
-
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-
-
-
-# In order to override CFLAGS_FOR_TARGET, all of our special flags go
-# in XCFLAGS. But we need them in CFLAGS during configury. So put them
-# in both places for now and restore CFLAGS at the end of config.
-save_CFLAGS="$CFLAGS"
-
-# Add -Wall -Werror if we are using GCC.
-if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
-fi
-
-# Find other programs we need.
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AR=$ac_ct_AR
-else
- AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB="ranlib-not-found-in-path-error"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_PERL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $PERL in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="perl-not-found-in-path-error"
- ;;
-esac
-fi
-PERL=$ac_cv_path_PERL
-
-if test -n "$PERL"; then
- echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# See if makeinfo has been installed and is modern enough
-# that we can use it.
-
- # Extract the first word of "makeinfo", so it can be a program name with args.
-set dummy makeinfo; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_MAKEINFO+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$MAKEINFO"; then
- ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_MAKEINFO="makeinfo"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-MAKEINFO=$ac_cv_prog_MAKEINFO
-if test -n "$MAKEINFO"; then
- echo "$as_me:$LINENO: result: $MAKEINFO" >&5
-echo "${ECHO_T}$MAKEINFO" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- if test -n "$MAKEINFO"; then
- # Found it, now check the version.
- echo "$as_me:$LINENO: checking for modern makeinfo" >&5
-echo $ECHO_N "checking for modern makeinfo... $ECHO_C" >&6
-if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_prog_version=`eval $MAKEINFO --version 2>&1 |
- sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
-
- case $ac_prog_version in
- '') gcc_cv_prog_makeinfo_modern=no;;
- 4.[4-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*) gcc_cv_prog_makeinfo_modern=yes;;
- *) gcc_cv_prog_makeinfo_modern=no;;
- esac
-
-fi
-echo "$as_me:$LINENO: result: $gcc_cv_prog_makeinfo_modern" >&5
-echo "${ECHO_T}$gcc_cv_prog_makeinfo_modern" >&6
- else
- gcc_cv_prog_makeinfo_modern=no
- fi
- if test $gcc_cv_prog_makeinfo_modern = no; then
- MAKEINFO="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing makeinfo"
- fi
-
-
-
-if test $gcc_cv_prog_makeinfo_modern = "yes"; then
- BUILD_INFO_TRUE=
- BUILD_INFO_FALSE='#'
-else
- BUILD_INFO_TRUE='#'
- BUILD_INFO_FALSE=
-fi
-
-
-
-# Configure libtool
-case `pwd` in
- *\ * | *\ *)
- { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.6'
-macro_revision='1.3012'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-
-fi
-
-SED=$lt_cv_path_SED
-
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
-
-
-echo "$as_me:$LINENO: checking for fgrep" >&5
-echo $ECHO_N "checking for fgrep... $ECHO_C" >&6
-if test "${ac_cv_prog_fgrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo 'ab*c' | (grep -F 'ab*c') >/dev/null 2>&1
- then ac_cv_prog_fgrep='grep -F'
- else ac_cv_prog_fgrep='fgrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_fgrep" >&5
-echo "${ECHO_T}$ac_cv_prog_fgrep" >&6
- FGREP=$ac_cv_prog_fgrep
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
-echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$ac_tool_prefix"; then
- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- echo "$as_me:$LINENO: result: $DUMPBIN" >&5
-echo "${ECHO_T}$DUMPBIN" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
-echo "${ECHO_T}$ac_ct_DUMPBIN" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-test -n "$ac_ct_DUMPBIN" || ac_ct_DUMPBIN=":"
-
- DUMPBIN=$ac_ct_DUMPBIN
-fi
-
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
-echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6
-if test "${lt_cv_nm_interface+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:4159: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:4162: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:4165: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
-echo "${ECHO_T}$lt_cv_nm_interface" >&6
-
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
-fi
-
-# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
-else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
-echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-echo "$as_me:$LINENO: result: $xsi_shell" >&5
-echo "${ECHO_T}$xsi_shell" >&6
-
-
-echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
-echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-echo "$as_me:$LINENO: result: $lt_shell_append" >&5
-echo "${ECHO_T}$lt_shell_append" >&6
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_OBJDUMP" && ac_cv_prog_ac_ct_OBJDUMP="false"
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- OBJDUMP=$ac_ct_OBJDUMP
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AR=$ac_ct_AR
-else
- AR="$ac_cv_prog_AR"
-fi
-
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-else
- echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
-
-fi;
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 5323 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-lt_cv_cc_needs_belf=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-echo "${ECHO_T}$DSYMUTIL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_DSYMUTIL" && ac_cv_prog_ac_ct_DSYMUTIL=":"
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- DSYMUTIL=$ac_ct_DSYMUTIL
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- echo "$as_me:$LINENO: result: $NMEDIT" >&5
-echo "${ECHO_T}$NMEDIT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_NMEDIT" && ac_cv_prog_ac_ct_NMEDIT=":"
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-echo "${ECHO_T}$ac_ct_NMEDIT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- NMEDIT=$ac_ct_NMEDIT
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_LIPO+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- echo "$as_me:$LINENO: result: $LIPO" >&5
-echo "${ECHO_T}$LIPO" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_LIPO" && ac_cv_prog_ac_ct_LIPO=":"
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
-echo "${ECHO_T}$ac_ct_LIPO" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- LIPO=$ac_ct_LIPO
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_OTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- echo "$as_me:$LINENO: result: $OTOOL" >&5
-echo "${ECHO_T}$OTOOL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_OTOOL" && ac_cv_prog_ac_ct_OTOOL=":"
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
-echo "${ECHO_T}$ac_ct_OTOOL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- OTOOL=$ac_ct_OTOOL
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_OTOOL64+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- echo "$as_me:$LINENO: result: $OTOOL64" >&5
-echo "${ECHO_T}$OTOOL64" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_OTOOL64" && ac_cv_prog_ac_ct_OTOOL64=":"
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
-echo "${ECHO_T}$ac_ct_OTOOL64" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- OTOOL64=$ac_ct_OTOOL64
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6
- echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- lt_cv_ld_exported_symbols_list=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-lt_cv_ld_exported_symbols_list=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
- enable_win32_dll=no
-
-
- # Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi;
-
-
-
-
-
-
-
-
- # Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi;
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic or --without-pic was given.
-if test "${with_pic+set}" = set; then
- withval="$with_pic"
- p=${PACKAGE-default}
- case "$withval" in
- yes|no) pic_mode="$withval" ;;
- *)
- pic_mode=default
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in "$withval"; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- pic_mode=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- pic_mode=default
-fi;
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi;
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
-if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
- echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7119: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:7123: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
-
-
-
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7458: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:7462: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7563: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:7567: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7618: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:7622: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=echo
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- freebsd1*)
- ld_shlibs=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat >conftest.$ac_ext <<_ACEOF
-int foo(void) {}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
-echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
-if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-char (*f) () = shl_load;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != shl_load;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
-if test $ac_cv_func_shl_load = yes; then
- lt_cv_dlopen="shl_load"
-else
- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char shl_load ();
-int
-main ()
-{
-shl_load ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_shl_load=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_shl_load=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
-if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dlopen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
-choke me
-#else
-char (*f) () = dlopen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != dlopen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
-if test $ac_cv_func_dlopen = yes; then
- lt_cv_dlopen="dlopen"
-else
- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_svld_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_svld_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
-if test $ac_cv_lib_svld_dlopen = yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dld_link ();
-int
-main ()
-{
-dld_link ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dld_dld_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dld_dld_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line 10430 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line 10526 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- fi
- ;;
- *)
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
-
- echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
-
- echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-
-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-# We need gfortran to compile parts of the library
-# We can't use AC_PROG_FC because it expects a fully working gfortran.
-#AC_PROG_FC(gfortran)
-FC="$GFORTRAN"
-ac_ext=${FC_SRCEXT-f}
-ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
-ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_fc_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in gfortran
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$FC"; then
- ac_cv_prog_FC="$FC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_FC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-FC=$ac_cv_prog_FC
-if test -n "$FC"; then
- echo "$as_me:$LINENO: result: $FC" >&5
-echo "${ECHO_T}$FC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$FC" && break
- done
-fi
-if test -z "$FC"; then
- ac_ct_FC=$FC
- for ac_prog in gfortran
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_FC"; then
- ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_FC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_FC=$ac_cv_prog_ac_ct_FC
-if test -n "$ac_ct_FC"; then
- echo "$as_me:$LINENO: result: $ac_ct_FC" >&5
-echo "${ECHO_T}$ac_ct_FC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_FC" && break
-done
-
- FC=$ac_ct_FC
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:10877:" \
- "checking for Fortran compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file. (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran compiler... $ECHO_C" >&6
-if test "${ac_cv_fc_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
-
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_fc_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_fc_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_fc_compiler_gnu" >&6
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FCFLAGS+set}
-ac_save_FFLAGS=$FCFLAGS
-FCFLAGS=
-echo "$as_me:$LINENO: checking whether $FC accepts -g" >&5
-echo $ECHO_N "checking whether $FC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_fc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- FCFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_fc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_fc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_fc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_fc_g" >&6
-if test "$ac_test_FFLAGS" = set; then
- FCFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_fc_g = yes; then
- if test "x$ac_cv_fc_compiler_gnu" = xyes; then
- FCFLAGS="-g -O2"
- else
- FCFLAGS="-g"
- fi
-else
- if test "x$ac_cv_fc_compiler_gnu" = xyes; then
- FCFLAGS="-O2"
- else
- FCFLAGS=
- fi
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_ext=${FC_SRCEXT-f}
-ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
-ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_fc_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in f95 fort xlf95 ifc efc pgf95 lf95 gfortran f90 xlf90 pgf90 epcf90 g77 f77 xlf frt pgf77 fort77 fl32 af77
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$FC"; then
- ac_cv_prog_FC="$FC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_FC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-FC=$ac_cv_prog_FC
-if test -n "$FC"; then
- echo "$as_me:$LINENO: result: $FC" >&5
-echo "${ECHO_T}$FC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$FC" && break
- done
-fi
-if test -z "$FC"; then
- ac_ct_FC=$FC
- for ac_prog in f95 fort xlf95 ifc efc pgf95 lf95 gfortran f90 xlf90 pgf90 epcf90 g77 f77 xlf frt pgf77 fort77 fl32 af77
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_FC"; then
- ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_FC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_FC=$ac_cv_prog_ac_ct_FC
-if test -n "$ac_ct_FC"; then
- echo "$as_me:$LINENO: result: $ac_ct_FC" >&5
-echo "${ECHO_T}$ac_ct_FC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_FC" && break
-done
-
- FC=$ac_ct_FC
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:11113:" \
- "checking for Fortran compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file. (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran compiler... $ECHO_C" >&6
-if test "${ac_cv_fc_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
-
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_fc_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_fc_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_fc_compiler_gnu" >&6
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FCFLAGS+set}
-ac_save_FFLAGS=$FCFLAGS
-FCFLAGS=
-echo "$as_me:$LINENO: checking whether $FC accepts -g" >&5
-echo $ECHO_N "checking whether $FC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_fc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- FCFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_fc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_fc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_fc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_fc_g" >&6
-if test "$ac_test_FFLAGS" = set; then
- FCFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_fc_g = yes; then
- if test "x$ac_cv_fc_compiler_gnu" = xyes; then
- FCFLAGS="-g -O2"
- else
- FCFLAGS="-g"
- fi
-else
- if test "x$ac_cv_fc_compiler_gnu" = xyes; then
- FCFLAGS="-O2"
- else
- FCFLAGS=
- fi
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-
-
-
- ac_ext=${FC_SRCEXT-f}
-ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
-ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_fc_compiler_gnu
-
-
-archive_cmds_need_lc_FC=no
-allow_undefined_flag_FC=
-always_export_symbols_FC=no
-archive_expsym_cmds_FC=
-export_dynamic_flag_spec_FC=
-hardcode_direct_FC=no
-hardcode_direct_absolute_FC=no
-hardcode_libdir_flag_spec_FC=
-hardcode_libdir_flag_spec_ld_FC=
-hardcode_libdir_separator_FC=
-hardcode_minus_L_FC=no
-hardcode_automatic_FC=no
-inherit_rpath_FC=no
-module_cmds_FC=
-module_expsym_cmds_FC=
-link_all_deplibs_FC=unknown
-old_archive_cmds_FC=$old_archive_cmds
-no_undefined_flag_FC=
-whole_archive_flag_spec_FC=
-enable_shared_with_static_runtimes_FC=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-objext_FC=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
- # save warnings/boilerplate of simple test code
- ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
- ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- CC=${FC-"f95"}
- compiler=$CC
- GCC=$ac_cv_fc_compiler_gnu
-
- compiler_FC=$CC
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
- if test -n "$compiler"; then
- echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
-
- echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
-
- echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
-
- GCC_FC="$ac_cv_fc_compiler_gnu"
- LD_FC="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- # Dependencies to place before and after the object being linked:
-predep_objects_FC=
-postdep_objects_FC=
-predeps_FC=
-postdeps_FC=
-compiler_lib_search_path_FC=
-
-cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer a
- a=0
- return
- end
-_LT_EOF
-
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- for p in `eval "$output_verbose_link_cmd"`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$compiler_lib_search_path_FC"; then
- compiler_lib_search_path_FC="${prev}${p}"
- else
- compiler_lib_search_path_FC="${compiler_lib_search_path_FC} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$postdeps_FC"; then
- postdeps_FC="${prev}${p}"
- else
- postdeps_FC="${postdeps_FC} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$predep_objects_FC"; then
- predep_objects_FC="$p"
- else
- predep_objects_FC="$predep_objects_FC $p"
- fi
- else
- if test -z "$postdep_objects_FC"; then
- postdep_objects_FC="$p"
- else
- postdep_objects_FC="$postdep_objects_FC $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling FC test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-
-
-case " $postdeps_FC " in
-*" -lc "*) archive_cmds_need_lc_FC=no ;;
-esac
- compiler_lib_search_dirs_FC=
-if test -n "${compiler_lib_search_path_FC}"; then
- compiler_lib_search_dirs_FC=`echo " ${compiler_lib_search_path_FC}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lt_prog_compiler_wl_FC=
-lt_prog_compiler_pic_FC=
-lt_prog_compiler_static_FC=
-
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_static_FC='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_FC='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic_FC='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_FC='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_FC='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_FC='-fno-common'
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_FC='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_FC=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic_FC='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_FC=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic_FC='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_FC='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_FC='-Bstatic'
- else
- lt_prog_compiler_static_FC='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_FC='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_FC='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_FC='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_FC='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_FC='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_FC='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='-fPIC'
- lt_prog_compiler_static_FC='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='--shared'
- lt_prog_compiler_static_FC='--static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='-fpic'
- lt_prog_compiler_static_FC='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_FC='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_FC='-non_shared'
- ;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='-qpic'
- lt_prog_compiler_static_FC='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-Bstatic'
- lt_prog_compiler_wl_FC='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-Bstatic'
- lt_prog_compiler_wl_FC=''
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic_FC='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_FC='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_FC='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static_FC='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_FC='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_FC='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_FC='-Qoption ld '
- lt_prog_compiler_pic_FC='-PIC'
- lt_prog_compiler_static_FC='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_FC='-Kconform_pic'
- lt_prog_compiler_static_FC='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_pic_FC='-KPIC'
- lt_prog_compiler_static_FC='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_FC='-Wl,'
- lt_prog_compiler_can_build_shared_FC=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_FC='-pic'
- lt_prog_compiler_static_FC='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_FC=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_FC=
- ;;
- *)
- lt_prog_compiler_pic_FC="$lt_prog_compiler_pic_FC"
- ;;
-esac
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_FC" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_FC" >&6
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_FC"; then
- echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_FC works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_FC works... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_pic_works_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_pic_works_FC=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_FC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11853: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:11857: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works_FC=yes
- fi
- fi
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_FC" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_FC" >&6
-
-if test x"$lt_cv_prog_compiler_pic_works_FC" = xyes; then
- case $lt_prog_compiler_pic_FC in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_FC=" $lt_prog_compiler_pic_FC" ;;
- esac
-else
- lt_prog_compiler_pic_FC=
- lt_prog_compiler_can_build_shared_FC=no
-fi
-
-fi
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_FC eval lt_tmp_static_flag=\"$lt_prog_compiler_static_FC\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_static_works_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_static_works_FC=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works_FC=yes
- fi
- else
- lt_cv_prog_compiler_static_works_FC=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_FC" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_FC" >&6
-
-if test x"$lt_cv_prog_compiler_static_works_FC" = xyes; then
- :
-else
- lt_prog_compiler_static_FC=
-fi
-
-
-
-
- echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_FC=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11952: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:11956: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_FC=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_FC" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_FC" >&6
-
-
-
- echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
-if test "${lt_cv_prog_compiler_c_o_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_FC=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12004: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:12008: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_FC=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_FC" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_FC" >&6
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_FC" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
- echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
-
- runpath_var=
- allow_undefined_flag_FC=
- always_export_symbols_FC=no
- archive_cmds_FC=
- archive_expsym_cmds_FC=
- compiler_needs_object_FC=no
- enable_shared_with_static_runtimes_FC=no
- export_dynamic_flag_spec_FC=
- export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic_FC=no
- hardcode_direct_FC=no
- hardcode_direct_absolute_FC=no
- hardcode_libdir_flag_spec_FC=
- hardcode_libdir_flag_spec_ld_FC=
- hardcode_libdir_separator_FC=
- hardcode_minus_L_FC=no
- hardcode_shlibpath_var_FC=unsupported
- inherit_rpath_FC=no
- link_all_deplibs_FC=unknown
- module_cmds_FC=
- module_expsym_cmds_FC=
- old_archive_from_new_cmds_FC=
- old_archive_from_expsyms_cmds_FC=
- thread_safe_flag_spec_FC=
- whole_archive_flag_spec_FC=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_FC=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_FC='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_FC=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_FC='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec_FC='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_FC="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_FC=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_FC=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_FC=''
- ;;
- m68k)
- archive_cmds_FC='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_minus_L_FC=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_FC=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_FC='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_FC=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, FC) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_FC='-L$libdir'
- allow_undefined_flag_FC=unsupported
- always_export_symbols_FC=no
- enable_shared_with_static_runtimes_FC=yes
- export_symbols_cmds_FC='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_FC='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_FC=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_FC=no
- hardcode_shlibpath_var_FC=no
- hardcode_libdir_flag_spec_FC='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_FC='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_FC='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_FC='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_FC='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_FC='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec_FC=
- tmp_sharedflag='--shared' ;;
- xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_FC='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object_FC=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds_FC='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec_FC='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec_FC=
- hardcode_libdir_flag_spec_ld_FC='-rpath $libdir'
- archive_cmds_FC='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds_FC='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs_FC=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds_FC='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs_FC=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_FC=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_FC=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_FC='${wl}-rpath ${wl}$libdir'
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_FC=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_FC='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_FC=yes
- hardcode_shlibpath_var_FC=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_FC=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_FC" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_FC=
- export_dynamic_flag_spec_FC=
- whole_archive_flag_spec_FC=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_FC=unsupported
- always_export_symbols_FC=yes
- archive_expsym_cmds_FC='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_FC=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_FC=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds_FC='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_FC='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_FC=''
- hardcode_direct_FC=yes
- hardcode_direct_absolute_FC=yes
- hardcode_libdir_separator_FC=':'
- link_all_deplibs_FC=yes
- file_list_spec_FC='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_FC=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_FC=yes
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_libdir_separator_FC=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec_FC='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_FC=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_FC='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_FC='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_FC='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_FC='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_FC="-z nodefs"
- archive_expsym_cmds_FC="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_FC='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_FC=' ${wl}-bernotok'
- allow_undefined_flag_FC=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_FC='$convenience'
- archive_cmds_need_lc_FC=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_FC="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_FC=''
- ;;
- m68k)
- archive_cmds_FC='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_minus_L_FC=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_FC=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_FC=' '
- allow_undefined_flag_FC=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_FC='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds_FC='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_FC='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_FC='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_FC=yes
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc_FC=no
- hardcode_direct_FC=no
- hardcode_automatic_FC=yes
- hardcode_shlibpath_var_FC=unsupported
- whole_archive_flag_spec_FC=''
- link_all_deplibs_FC=yes
- allow_undefined_flag_FC="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=echo
- archive_cmds_FC="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_FC="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_FC="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_FC="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs_FC=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_shlibpath_var_FC=no
- ;;
-
- freebsd1*)
- ld_shlibs_FC=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_FC='-R$libdir'
- hardcode_direct_FC=yes
- hardcode_shlibpath_var_FC=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_FC=yes
- hardcode_minus_L_FC=yes
- hardcode_shlibpath_var_FC=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_FC='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_FC='-R$libdir'
- hardcode_direct_FC=yes
- hardcode_shlibpath_var_FC=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_FC='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_FC='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_FC='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_FC=:
- hardcode_direct_FC=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_FC=yes
- export_dynamic_flag_spec_FC='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_FC='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_FC='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_FC='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld_FC='+b $libdir'
- hardcode_libdir_separator_FC=:
- hardcode_direct_FC=yes
- hardcode_direct_absolute_FC=yes
- export_dynamic_flag_spec_FC='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_FC=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_FC='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_FC='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_FC='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_FC='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_FC='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_FC='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_FC='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_FC=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct_FC=no
- hardcode_shlibpath_var_FC=no
- ;;
- *)
- hardcode_direct_FC=yes
- hardcode_direct_absolute_FC=yes
- export_dynamic_flag_spec_FC='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_FC=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat >conftest.$ac_ext <<_ACEOF
-int foo(void) {}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
- else
- archive_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_FC='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc_FC='no'
- hardcode_libdir_flag_spec_FC='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_FC=:
- inherit_rpath_FC=yes
- link_all_deplibs_FC=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_FC='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_FC='-R$libdir'
- hardcode_direct_FC=yes
- hardcode_shlibpath_var_FC=no
- ;;
-
- newsos6)
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_FC=yes
- hardcode_libdir_flag_spec_FC='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_FC=:
- hardcode_shlibpath_var_FC=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_FC=yes
- hardcode_shlibpath_var_FC=no
- hardcode_direct_absolute_FC=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_FC='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_FC='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_FC='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_FC='-R$libdir'
- ;;
- *)
- archive_cmds_FC='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_FC='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_FC=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_minus_L_FC=yes
- allow_undefined_flag_FC=unsupported
- archive_cmds_FC='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds_FC='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_FC=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_FC='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_FC=' -expect_unresolved \*'
- archive_cmds_FC='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc_FC='no'
- hardcode_libdir_flag_spec_FC='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_FC=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_FC=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_FC='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_FC='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_FC=' -expect_unresolved \*'
- archive_cmds_FC='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_FC='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_FC='-rpath $libdir'
- fi
- archive_cmds_need_lc_FC='no'
- hardcode_libdir_separator_FC=:
- ;;
-
- solaris*)
- no_undefined_flag_FC=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_FC='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds_FC='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds_FC='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec_FC='-R$libdir'
- hardcode_shlibpath_var_FC=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_FC='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_FC='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_FC=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_FC='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_FC='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_direct_FC=yes
- hardcode_minus_L_FC=yes
- hardcode_shlibpath_var_FC=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_FC=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_FC='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_FC='$CC -r -o $output$reload_objs'
- hardcode_direct_FC=no
- ;;
- motorola)
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_FC=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_FC=no
- ;;
-
- sysv4.3*)
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_FC=no
- export_dynamic_flag_spec_FC='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_FC=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_FC=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_FC='${wl}-z,text'
- archive_cmds_need_lc_FC=no
- hardcode_shlibpath_var_FC=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_FC='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_FC='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_FC='${wl}-z,text'
- allow_undefined_flag_FC='${wl}-z,nodefs'
- archive_cmds_need_lc_FC=no
- hardcode_shlibpath_var_FC=no
- hardcode_libdir_flag_spec_FC='${wl}-R,$libdir'
- hardcode_libdir_separator_FC=':'
- link_all_deplibs_FC=yes
- export_dynamic_flag_spec_FC='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_FC='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_FC='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_FC='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_FC='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_FC='-L$libdir'
- hardcode_shlibpath_var_FC=no
- ;;
-
- *)
- ld_shlibs_FC=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec_FC='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-echo "$as_me:$LINENO: result: $ld_shlibs_FC" >&5
-echo "${ECHO_T}$ld_shlibs_FC" >&6
-test "$ld_shlibs_FC" = no && can_build_shared=no
-
-with_gnu_ld_FC=$with_gnu_ld
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_FC" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_FC=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_FC in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
-if test "${lt_cv_archive_cmds_need_lc_FC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_FC
- pic_flag=$lt_prog_compiler_pic_FC
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_FC
- allow_undefined_flag_FC=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_FC 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- lt_cv_archive_cmds_need_lc_FC=no
- else
- lt_cv_archive_cmds_need_lc_FC=yes
- fi
- allow_undefined_flag_FC=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc_FC" >&5
-echo "${ECHO_T}$lt_cv_archive_cmds_need_lc_FC" >&6
- archive_cmds_need_lc_FC=$lt_cv_archive_cmds_need_lc_FC
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
-
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_FC\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_FC\""
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_fc_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
-hardcode_action_FC=
-if test -n "$hardcode_libdir_flag_spec_FC" ||
- test -n "$runpath_var_FC" ||
- test "X$hardcode_automatic_FC" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct_FC" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, FC)" != no &&
- test "$hardcode_minus_L_FC" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_FC=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_FC=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_FC=unsupported
-fi
-echo "$as_me:$LINENO: result: $hardcode_action_FC" >&5
-echo "${ECHO_T}$hardcode_action_FC" >&6
-
-if test "$hardcode_action_FC" = relink ||
- test "$inherit_rpath_FC" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
-
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC="$lt_save_CC"
-fi # test "$_lt_disable_FC" != yes
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-FCFLAGS="$FCFLAGS -Wall"
-
-# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=1:0:0
-
-
-# Check header files.
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
-if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_time=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_time=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6
-if test $ac_cv_header_time = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking whether string.h and strings.h may both be included" >&5
-echo $ECHO_N "checking whether string.h and strings.h may both be included... $ECHO_C" >&6
-if test "${gcc_cv_header_string+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-#include <strings.h>
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gcc_cv_header_string=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gcc_cv_header_string=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $gcc_cv_header_string" >&5
-echo "${ECHO_T}$gcc_cv_header_string" >&6
-if test $gcc_cv_header_string = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STRING_WITH_STRINGS 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-for ac_header in unistd.h semaphore.h sys/loadavg.h sys/time.h sys/time.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------------------- ##
-## Report this to the GNU OpenMP Runtime Library lists. ##
-## ----------------------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-inttype_headers=`echo inttypes.h sys/inttypes.h | sed -e 's/,/ /g'`
-
-acx_cv_header_stdint=stddef.h
-acx_cv_header_stdint_kind="(already complete)"
-for i in stdint.h $inttype_headers; do
- unset ac_cv_type_uintptr_t
- unset ac_cv_type_uintmax_t
- unset ac_cv_type_int_least32_t
- unset ac_cv_type_int_fast32_t
- unset ac_cv_type_uint64_t
- echo $ECHO_N "looking for a compliant stdint.h in $i, $ECHO_C" >&6
- echo "$as_me:$LINENO: checking for uintmax_t" >&5
-echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6
-if test "${ac_cv_type_uintmax_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((uintmax_t *) 0)
- return 0;
-if (sizeof (uintmax_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_uintmax_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_uintmax_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uintmax_t" >&5
-echo "${ECHO_T}$ac_cv_type_uintmax_t" >&6
-if test $ac_cv_type_uintmax_t = yes; then
- acx_cv_header_stdint=$i
-else
- continue
-fi
-
- echo "$as_me:$LINENO: checking for uintptr_t" >&5
-echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6
-if test "${ac_cv_type_uintptr_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((uintptr_t *) 0)
- return 0;
-if (sizeof (uintptr_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_uintptr_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_uintptr_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
-echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6
-if test $ac_cv_type_uintptr_t = yes; then
- :
-else
- acx_cv_header_stdint_kind="(mostly complete)"
-fi
-
- echo "$as_me:$LINENO: checking for int_least32_t" >&5
-echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6
-if test "${ac_cv_type_int_least32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((int_least32_t *) 0)
- return 0;
-if (sizeof (int_least32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_int_least32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_int_least32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6
-if test $ac_cv_type_int_least32_t = yes; then
- :
-else
- acx_cv_header_stdint_kind="(mostly complete)"
-fi
-
- echo "$as_me:$LINENO: checking for int_fast32_t" >&5
-echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6
-if test "${ac_cv_type_int_fast32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((int_fast32_t *) 0)
- return 0;
-if (sizeof (int_fast32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_int_fast32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_int_fast32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6
-if test $ac_cv_type_int_fast32_t = yes; then
- :
-else
- acx_cv_header_stdint_kind="(mostly complete)"
-fi
-
- echo "$as_me:$LINENO: checking for uint64_t" >&5
-echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
-if test "${ac_cv_type_uint64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((uint64_t *) 0)
- return 0;
-if (sizeof (uint64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_uint64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_uint64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
-if test $ac_cv_type_uint64_t = yes; then
- :
-else
- acx_cv_header_stdint_kind="(lacks uint64_t)"
-fi
-
- break
-done
-if test "$acx_cv_header_stdint" = stddef.h; then
- acx_cv_header_stdint_kind="(lacks uintmax_t)"
- for i in stdint.h $inttype_headers; do
- unset ac_cv_type_uintptr_t
- unset ac_cv_type_uint32_t
- unset ac_cv_type_uint64_t
- echo $ECHO_N "looking for an incomplete stdint.h in $i, $ECHO_C" >&6
- echo "$as_me:$LINENO: checking for uint32_t" >&5
-echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6
-if test "${ac_cv_type_uint32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((uint32_t *) 0)
- return 0;
-if (sizeof (uint32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_uint32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_uint32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint32_t" >&6
-if test $ac_cv_type_uint32_t = yes; then
- acx_cv_header_stdint=$i
-else
- continue
-fi
-
- echo "$as_me:$LINENO: checking for uint64_t" >&5
-echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
-if test "${ac_cv_type_uint64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((uint64_t *) 0)
- return 0;
-if (sizeof (uint64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_uint64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_uint64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
-
- echo "$as_me:$LINENO: checking for uintptr_t" >&5
-echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6
-if test "${ac_cv_type_uintptr_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((uintptr_t *) 0)
- return 0;
-if (sizeof (uintptr_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_uintptr_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_uintptr_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
-echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6
-
- break
- done
-fi
-if test "$acx_cv_header_stdint" = stddef.h; then
- acx_cv_header_stdint_kind="(u_intXX_t style)"
- for i in sys/types.h $inttype_headers; do
- unset ac_cv_type_u_int32_t
- unset ac_cv_type_u_int64_t
- echo $ECHO_N "looking for u_intXX_t types in $i, $ECHO_C" >&6
- echo "$as_me:$LINENO: checking for u_int32_t" >&5
-echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_int32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((u_int32_t *) 0)
- return 0;
-if (sizeof (u_int32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_int32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_int32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_int32_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6
-if test $ac_cv_type_u_int32_t = yes; then
- acx_cv_header_stdint=$i
-else
- continue
-fi
-
- echo "$as_me:$LINENO: checking for u_int64_t" >&5
-echo $ECHO_N "checking for u_int64_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_int64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$i>
-
-int
-main ()
-{
-if ((u_int64_t *) 0)
- return 0;
-if (sizeof (u_int64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_int64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_int64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_int64_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_int64_t" >&6
-
- break
- done
-fi
-if test "$acx_cv_header_stdint" = stddef.h; then
- acx_cv_header_stdint_kind="(using manual detection)"
-fi
-
-test -z "$ac_cv_type_uintptr_t" && ac_cv_type_uintptr_t=no
-test -z "$ac_cv_type_uint64_t" && ac_cv_type_uint64_t=no
-test -z "$ac_cv_type_u_int64_t" && ac_cv_type_u_int64_t=no
-test -z "$ac_cv_type_int_least32_t" && ac_cv_type_int_least32_t=no
-test -z "$ac_cv_type_int_fast32_t" && ac_cv_type_int_fast32_t=no
-
-# ----------------- Summarize what we found so far
-
-echo "$as_me:$LINENO: checking what to include in gstdint.h" >&5
-echo $ECHO_N "checking what to include in gstdint.h... $ECHO_C" >&6
-
-case `$as_basename gstdint.h ||
-$as_expr X/gstdint.h : '.*/\([^/][^/]*\)/*$' \| \
- Xgstdint.h : 'X\(//\)$' \| \
- Xgstdint.h : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/gstdint.h |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'` in
- stdint.h) { echo "$as_me:$LINENO: WARNING: are you sure you want it there?" >&5
-echo "$as_me: WARNING: are you sure you want it there?" >&2;} ;;
- inttypes.h) { echo "$as_me:$LINENO: WARNING: are you sure you want it there?" >&5
-echo "$as_me: WARNING: are you sure you want it there?" >&2;} ;;
- *) ;;
-esac
-
-echo "$as_me:$LINENO: result: $acx_cv_header_stdint $acx_cv_header_stdint_kind" >&5
-echo "${ECHO_T}$acx_cv_header_stdint $acx_cv_header_stdint_kind" >&6
-
-# ----------------- done included file, check C basic types --------
-
-# Lacking an uintptr_t? Test size of void *
-case "$acx_cv_header_stdint:$ac_cv_type_uintptr_t" in
- stddef.h:* | *:no) echo "$as_me:$LINENO: checking for void *" >&5
-echo $ECHO_N "checking for void *... $ECHO_C" >&6
-if test "${ac_cv_type_void_p+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((void * *) 0)
- return 0;
-if (sizeof (void *))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_void_p=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_void_p=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5
-echo "${ECHO_T}$ac_cv_type_void_p" >&6
-
-echo "$as_me:$LINENO: checking size of void *" >&5
-echo $ECHO_N "checking size of void *... $ECHO_C" >&6
-if test "${ac_cv_sizeof_void_p+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_void_p" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void *))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void *))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void *))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void *))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (void *))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_void_p=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (void *), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (void *), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (void *)); }
-unsigned long ulongval () { return (long) (sizeof (void *)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (void *))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (void *))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (void *))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_void_p=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (void *), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (void *), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_void_p=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5
-echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
-_ACEOF
-
- ;;
-esac
-
-# Lacking an uint64_t? Test size of long
-case "$acx_cv_header_stdint:$ac_cv_type_uint64_t:$ac_cv_type_u_int64_t" in
- stddef.h:*:* | *:no:no) echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6
-if test "${ac_cv_type_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((long *) 0)
- return 0;
-if (sizeof (long))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_long=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6
-
-echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6
-if test "${ac_cv_sizeof_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_long" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (long)); }
-unsigned long ulongval () { return (long) (sizeof (long)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (long))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (long))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (long))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_long=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
- ;;
-esac
-
-if test $acx_cv_header_stdint = stddef.h; then
- # Lacking a good header? Test size of everything and deduce all types.
- echo "$as_me:$LINENO: checking for int" >&5
-echo $ECHO_N "checking for int... $ECHO_C" >&6
-if test "${ac_cv_type_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((int *) 0)
- return 0;
-if (sizeof (int))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_int=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_int=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-echo "${ECHO_T}$ac_cv_type_int" >&6
-
-echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6
-if test "${ac_cv_sizeof_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_int" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_int=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (int)); }
-unsigned long ulongval () { return (long) (sizeof (int)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (int))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (int))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (int))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_int=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_int=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
- echo "$as_me:$LINENO: checking for short" >&5
-echo $ECHO_N "checking for short... $ECHO_C" >&6
-if test "${ac_cv_type_short+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((short *) 0)
- return 0;
-if (sizeof (short))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_short=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_short=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
-echo "${ECHO_T}$ac_cv_type_short" >&6
-
-echo "$as_me:$LINENO: checking size of short" >&5
-echo $ECHO_N "checking size of short... $ECHO_C" >&6
-if test "${ac_cv_sizeof_short+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_short" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_short=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (short)); }
-unsigned long ulongval () { return (long) (sizeof (short)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (short))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (short))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (short))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_short=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_short=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
-echo "${ECHO_T}$ac_cv_sizeof_short" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-_ACEOF
-
-
- echo "$as_me:$LINENO: checking for char" >&5
-echo $ECHO_N "checking for char... $ECHO_C" >&6
-if test "${ac_cv_type_char+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((char *) 0)
- return 0;
-if (sizeof (char))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_char=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_char=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
-echo "${ECHO_T}$ac_cv_type_char" >&6
-
-echo "$as_me:$LINENO: checking size of char" >&5
-echo $ECHO_N "checking size of char... $ECHO_C" >&6
-if test "${ac_cv_sizeof_char+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_char" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_char=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (char)); }
-unsigned long ulongval () { return (long) (sizeof (char)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (char))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (char))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (char))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_char=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_char=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
-echo "${ECHO_T}$ac_cv_sizeof_char" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_CHAR $ac_cv_sizeof_char
-_ACEOF
-
-
-
- echo "$as_me:$LINENO: checking for type equivalent to int8_t" >&5
-echo $ECHO_N "checking for type equivalent to int8_t... $ECHO_C" >&6
- case "$ac_cv_sizeof_char" in
- 1) acx_cv_type_int8_t=char ;;
- *) { { echo "$as_me:$LINENO: error: no 8-bit type" >&5
-echo "$as_me: error: no 8-bit type" >&2;}
- { (exit please report a bug); exit please report a bug; }; }
- esac
- echo "$as_me:$LINENO: result: $acx_cv_type_int8_t" >&5
-echo "${ECHO_T}$acx_cv_type_int8_t" >&6
-
- echo "$as_me:$LINENO: checking for type equivalent to int16_t" >&5
-echo $ECHO_N "checking for type equivalent to int16_t... $ECHO_C" >&6
- case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
- 2:*) acx_cv_type_int16_t=int ;;
- *:2) acx_cv_type_int16_t=short ;;
- *) { { echo "$as_me:$LINENO: error: no 16-bit type" >&5
-echo "$as_me: error: no 16-bit type" >&2;}
- { (exit please report a bug); exit please report a bug; }; }
- esac
- echo "$as_me:$LINENO: result: $acx_cv_type_int16_t" >&5
-echo "${ECHO_T}$acx_cv_type_int16_t" >&6
-
- echo "$as_me:$LINENO: checking for type equivalent to int32_t" >&5
-echo $ECHO_N "checking for type equivalent to int32_t... $ECHO_C" >&6
- case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
- 4:*) acx_cv_type_int32_t=int ;;
- *:4) acx_cv_type_int32_t=long ;;
- *) { { echo "$as_me:$LINENO: error: no 32-bit type" >&5
-echo "$as_me: error: no 32-bit type" >&2;}
- { (exit please report a bug); exit please report a bug; }; }
- esac
- echo "$as_me:$LINENO: result: $acx_cv_type_int32_t" >&5
-echo "${ECHO_T}$acx_cv_type_int32_t" >&6
-fi
-
-# These tests are here to make the output prettier
-
-if test "$ac_cv_type_uint64_t" != yes && test "$ac_cv_type_u_int64_t" != yes; then
- case "$ac_cv_sizeof_long" in
- 8) acx_cv_type_int64_t=long ;;
- esac
- echo "$as_me:$LINENO: checking for type equivalent to int64_t" >&5
-echo $ECHO_N "checking for type equivalent to int64_t... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: ${acx_cv_type_int64_t-'using preprocessor symbols'}" >&5
-echo "${ECHO_T}${acx_cv_type_int64_t-'using preprocessor symbols'}" >&6
-fi
-
-# Now we can use the above types
-
-if test "$ac_cv_type_uintptr_t" != yes; then
- echo "$as_me:$LINENO: checking for type equivalent to intptr_t" >&5
-echo $ECHO_N "checking for type equivalent to intptr_t... $ECHO_C" >&6
- case $ac_cv_sizeof_void_p in
- 2) acx_cv_type_intptr_t=int16_t ;;
- 4) acx_cv_type_intptr_t=int32_t ;;
- 8) acx_cv_type_intptr_t=int64_t ;;
- *) { { echo "$as_me:$LINENO: error: no equivalent for intptr_t" >&5
-echo "$as_me: error: no equivalent for intptr_t" >&2;}
- { (exit please report a bug); exit please report a bug; }; }
- esac
- echo "$as_me:$LINENO: result: $acx_cv_type_intptr_t" >&5
-echo "${ECHO_T}$acx_cv_type_intptr_t" >&6
-fi
-
-# ----------------- done all checks, emit header -------------
- ac_config_commands="$ac_config_commands gstdint.h"
-
-
-
-
-# Check to see if -pthread or -lpthread is needed. Prefer the former.
-# In case the pthread.h system header is not found, this test will fail.
-XPCFLAGS=""
-CFLAGS="$CFLAGS -pthread"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <pthread.h>
- void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- XPCFLAGS=" -Wc,-pthread"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-CFLAGS="$save_CFLAGS" LIBS="$LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <pthread.h>
- void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <pthread.h>
- void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: Pthreads are required to build libgomp" >&5
-echo "$as_me: error: Pthreads are required to build libgomp" >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-# Check for functions needed.
-
-
-
-for ac_func in getloadavg clock_gettime strtoull
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# Check for broken semaphore implementation on darwin.
-# sem_init returns: sem_init error: Function not implemented.
-case "$host" in
- *-darwin*)
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_BROKEN_POSIX_SEMAPHORES 1
-_ACEOF
-
- ;;
-esac
-
- # Check whether --enable-linux-futex or --disable-linux-futex was given.
-if test "${enable_linux_futex+set}" = set; then
- enableval="$enable_linux_futex"
-
- case "$enableval" in
- yes|no|default) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable linux-futex" >&5
-echo "$as_me: error: Unknown argument to enable/disable linux-futex" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_linux_futex=default
-fi;
-
-case "$target" in
- *-linux*)
- case "$enable_linux_futex" in
- default)
- # If headers don't have gettid/futex syscalls definition, then
- # default to no, otherwise there will be compile time failures.
- # Otherwise, default to yes. If we don't detect we are
- # compiled/linked against NPTL and not cross-compiling, check
- # if programs are run by default against NPTL and if not, issue
- # a warning.
- enable_linux_futex=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/syscall.h>
- int lk;
-#if !defined(SYS_gettid)
-#define SYS_gettid __NR_gettid
-#endif
-#if !defined(SYS_futex)
-#define SYS_futex __NR_futex
-#endif
-int
-main ()
-{
-syscall (SYS_gettid); syscall (SYS_futex, &lk, 0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- save_LIBS="$LIBS"
- LIBS="-lpthread $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifndef _GNU_SOURCE
- #define _GNU_SOURCE 1
- #endif
- #include <pthread.h>
- pthread_t th; void *status;
-int
-main ()
-{
-pthread_tryjoin_np (th, &status);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- enable_linux_futex=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-if test x$cross_compiling = xno; then
- if getconf GNU_LIBPTHREAD_VERSION 2>/dev/null \
- | LC_ALL=C grep -i NPTL > /dev/null 2>/dev/null; then :; else
- { echo "$as_me:$LINENO: WARNING: The kernel might not support futex or gettid syscalls.
-If so, please configure with --disable-linux-futex" >&5
-echo "$as_me: WARNING: The kernel might not support futex or gettid syscalls.
-If so, please configure with --disable-linux-futex" >&2;}
- fi
- fi
- enable_linux_futex=yes
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$save_LIBS"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ;;
- yes)
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/syscall.h>
- int lk;
-#if !defined(SYS_gettid)
-#define SYS_gettid __NR_gettid
-#endif
-#if !defined(SYS_futex)
-#define SYS_futex __NR_futex
-#endif
-int
-main ()
-{
-syscall (SYS_gettid); syscall (SYS_futex, &lk, 0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: SYS_gettid and SYS_futex required for --enable-linux-futex" >&5
-echo "$as_me: error: SYS_gettid and SYS_futex required for --enable-linux-futex" >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ;;
- esac
- ;;
- *)
- enable_linux_futex=no
- ;;
-esac
-if test x$enable_linux_futex = xyes; then
- :
-fi
-
-
-# Check for pthread_{,attr_}[sg]etaffinity_np.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _GNU_SOURCE
- #include <pthread.h>
-int
-main ()
-{
-cpu_set_t cpuset;
- pthread_attr_t attr;
- pthread_getaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset);
- if (CPU_ISSET (0, &cpuset))
- CPU_SET (1, &cpuset);
- else
- CPU_ZERO (&cpuset);
- pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset);
- pthread_attr_init (&attr);
- pthread_attr_getaffinity_np (&attr, sizeof (cpu_set_t), &cpuset);
- pthread_attr_setaffinity_np (&attr, sizeof (cpu_set_t), &cpuset);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PTHREAD_AFFINITY_NP 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-# At least for glibc, clock_gettime is in librt. But don't pull that
-# in if it still doesn't give us the function we want.
-if test $ac_cv_func_clock_gettime = no; then
- echo "$as_me:$LINENO: checking for clock_gettime in -lrt" >&5
-echo $ECHO_N "checking for clock_gettime in -lrt... $ECHO_C" >&6
-if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lrt $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char clock_gettime ();
-int
-main ()
-{
-clock_gettime ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_rt_clock_gettime=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_rt_clock_gettime=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_rt_clock_gettime" >&5
-echo "${ECHO_T}$ac_cv_lib_rt_clock_gettime" >&6
-if test $ac_cv_lib_rt_clock_gettime = yes; then
- LIBS="-lrt $LIBS"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLOCK_GETTIME 1
-_ACEOF
-
-fi
-
-fi
-
-# See if we support thread-local storage.
-
- # Check whether --enable-tls or --disable-tls was given.
-if test "${enable_tls+set}" = set; then
- enableval="$enable_tls"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable tls must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable tls must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_tls=yes
-fi;
-
- echo "$as_me:$LINENO: checking whether the target supports thread-local storage" >&5
-echo $ECHO_N "checking whether the target supports thread-local storage... $ECHO_C" >&6
-if test "${gcc_cv_have_tls+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$cross_compiling" = yes; then
- cat >conftest.$ac_ext <<_ACEOF
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gcc_cv_have_tls=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gcc_cv_have_tls=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- chktls_save_LDFLAGS="$LDFLAGS"
- LDFLAGS="-static $LDFLAGS"
- cat >conftest.$ac_ext <<_ACEOF
-int main() { return 0; }
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gcc_cv_have_tls=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-gcc_cv_have_tls=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gcc_cv_have_tls=yes
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$chktls_save_LDFLAGS"
- if test $gcc_cv_have_tls = yes; then
- chktls_save_CFLAGS="$CFLAGS"
- thread_CFLAGS=failed
- for flag in '' '-pthread' '-lpthread'; do
- CFLAGS="$flag $chktls_save_CFLAGS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <pthread.h>
- void *g(void *d) { return NULL; }
-int
-main ()
-{
-pthread_t t; pthread_create(&t,NULL,g,NULL);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- thread_CFLAGS="$flag"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "X$thread_CFLAGS" != Xfailed; then
- break
- fi
- done
- CFLAGS="$chktls_save_CFLAGS"
- if test "X$thread_CFLAGS" != Xfailed; then
- CFLAGS="$thread_CFLAGS $chktls_save_CFLAGS"
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <pthread.h>
- __thread int a;
- static int *a_in_other_thread;
- static void *
- thread_func (void *arg)
- {
- a_in_other_thread = &a;
- return (void *)0;
- }
-int
-main ()
-{
-pthread_t thread;
- void *thread_retval;
- int *a_in_main_thread;
- if (pthread_create (&thread, (pthread_attr_t *)0,
- thread_func, (void *)0))
- return 0;
- a_in_main_thread = &a;
- if (pthread_join (thread, &thread_retval))
- return 0;
- return (a_in_other_thread == a_in_main_thread);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gcc_cv_have_tls=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-gcc_cv_have_tls=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
- CFLAGS="$chktls_save_CFLAGS"
- fi
- fi
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-gcc_cv_have_tls=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $gcc_cv_have_tls" >&5
-echo "${ECHO_T}$gcc_cv_have_tls" >&6
- if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TLS 1
-_ACEOF
-
- fi
-
-# See what sort of export controls are availible.
-
- echo "$as_me:$LINENO: checking whether the target supports hidden visibility" >&5
-echo $ECHO_N "checking whether the target supports hidden visibility... $ECHO_C" >&6
-if test "${libgomp_cv_have_attribute_visibility+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-void __attribute__((visibility("hidden"))) foo(void) { }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_cv_have_attribute_visibility=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libgomp_cv_have_attribute_visibility=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
-fi
-echo "$as_me:$LINENO: result: $libgomp_cv_have_attribute_visibility" >&5
-echo "${ECHO_T}$libgomp_cv_have_attribute_visibility" >&6
- if test $libgomp_cv_have_attribute_visibility = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATTRIBUTE_VISIBILITY 1
-_ACEOF
-
- fi
-
- echo "$as_me:$LINENO: checking whether the target supports dllexport" >&5
-echo $ECHO_N "checking whether the target supports dllexport... $ECHO_C" >&6
-if test "${libgomp_cv_have_attribute_dllexport+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-void __attribute__((dllexport)) foo(void) { }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_cv_have_attribute_dllexport=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libgomp_cv_have_attribute_dllexport=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
-fi
-echo "$as_me:$LINENO: result: $libgomp_cv_have_attribute_dllexport" >&5
-echo "${ECHO_T}$libgomp_cv_have_attribute_dllexport" >&6
- if test $libgomp_cv_have_attribute_dllexport = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATTRIBUTE_DLLEXPORT 1
-_ACEOF
-
- fi
-
- echo "$as_me:$LINENO: checking whether the target supports symbol aliases" >&5
-echo $ECHO_N "checking whether the target supports symbol aliases... $ECHO_C" >&6
-if test "${libgomp_cv_have_attribute_alias+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-void foo(void) { }
-extern void bar(void) __attribute__((alias("foo")));
-int
-main ()
-{
-bar();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_cv_have_attribute_alias=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libgomp_cv_have_attribute_alias=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $libgomp_cv_have_attribute_alias" >&5
-echo "${ECHO_T}$libgomp_cv_have_attribute_alias" >&6
- if test $libgomp_cv_have_attribute_alias = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATTRIBUTE_ALIAS 1
-_ACEOF
-
- fi
-
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- libgomp_ld_is_gold=no
- if $LD --version 2>/dev/null | grep 'GNU gold'> /dev/null 2>&1; then
- libgomp_ld_is_gold=yes
- fi
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU \(go\)\{0,1\}ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\4/'`
-
- libgomp_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
-
- # Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
-
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_sectionLDflags=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
- # Check whether --enable-symvers or --disable-symvers was given.
-if test "${enable_symvers+set}" = set; then
- enableval="$enable_symvers"
-
- case "$enableval" in
- yes|no|gnu) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable symvers" >&5
-echo "$as_me: error: Unknown argument to enable/disable symvers" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_symvers=yes
-fi;
-
-
-# If we never went through the LIBGOMP_CHECK_LINKER_FEATURES macro, then we
-# don't know enough about $LD to do tricks...
-
-# FIXME The following test is too strict, in theory.
-if test $enable_shared = no ||
- test "x$LD" = x ||
- test x$libgomp_gnu_ld_version = x; then
- enable_symvers=no
-fi
-
-# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
-if test $enable_symvers != no; then
- echo "$as_me:$LINENO: checking for shared libgcc" >&5
-echo $ECHO_N "checking for shared libgcc... $ECHO_C" >&6
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=' -lgcc_s'
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_shared_libgcc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libgomp_shared_libgcc=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- if test $libgomp_shared_libgcc = no; then
- cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
- libgomp_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -shared -shared-libgcc -o conftest.so \
- conftest.c -v 2>&1 >/dev/null \
- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
- rm -f conftest.c conftest.so
- if test x${libgomp_libgcc_s_suffix+set} = xset; then
- CFLAGS=" -lgcc_s$libgomp_libgcc_s_suffix"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_shared_libgcc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- fi
- fi
- echo "$as_me:$LINENO: result: $libgomp_shared_libgcc" >&5
-echo "${ECHO_T}$libgomp_shared_libgcc" >&6
-fi
-
-# For GNU ld, we need at least this version. The format is described in
-# LIBGOMP_CHECK_LINKER_FEATURES above.
-libgomp_min_gnu_ld_version=21400
-# XXXXXXXXXXX libgomp_gnu_ld_version=21390
-
-# Check to see if unspecified "yes" value can win, given results above.
-# Change "yes" into either "no" or a style name.
-if test $enable_symvers = yes; then
- if test $with_gnu_ld = yes &&
- test $libgomp_shared_libgcc = yes;
- then
- if test $libgomp_gnu_ld_version -ge $libgomp_min_gnu_ld_version ; then
- enable_symvers=gnu
- elif test $libgomp_ld_is_gold = yes ; then
- enable_symvers=gnu
- else
- # The right tools, the right setup, but too old. Fallbacks?
- { echo "$as_me:$LINENO: WARNING: === Linker version $libgomp_gnu_ld_version is too old for" >&5
-echo "$as_me: WARNING: === Linker version $libgomp_gnu_ld_version is too old for" >&2;}
- { echo "$as_me:$LINENO: WARNING: === full symbol versioning support in this release of GCC." >&5
-echo "$as_me: WARNING: === full symbol versioning support in this release of GCC." >&2;}
- { echo "$as_me:$LINENO: WARNING: === You would need to upgrade your binutils to version" >&5
-echo "$as_me: WARNING: === You would need to upgrade your binutils to version" >&2;}
- { echo "$as_me:$LINENO: WARNING: === $libgomp_min_gnu_ld_version or later and rebuild GCC." >&5
-echo "$as_me: WARNING: === $libgomp_min_gnu_ld_version or later and rebuild GCC." >&2;}
- if test $libgomp_gnu_ld_version -ge 21200 ; then
- # Globbing fix is present, proper block support is not.
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- else
- # 2.11 or older.
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- fi
- fi
- else
- # just fail for now
- { echo "$as_me:$LINENO: WARNING: === You have requested some kind of symbol versioning, but" >&5
-echo "$as_me: WARNING: === You have requested some kind of symbol versioning, but" >&2;}
- { echo "$as_me:$LINENO: WARNING: === either you are not using a supported linker, or you are" >&5
-echo "$as_me: WARNING: === either you are not using a supported linker, or you are" >&2;}
- { echo "$as_me:$LINENO: WARNING: === not building a shared libgcc_s (which is required)." >&5
-echo "$as_me: WARNING: === not building a shared libgcc_s (which is required)." >&2;}
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- fi
-fi
-
-echo "$as_me:$LINENO: checking whether the target supports .symver directive" >&5
-echo $ECHO_N "checking whether the target supports .symver directive... $ECHO_C" >&6
-if test "${libgomp_cv_have_as_symver_directive+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-void foo (void); __asm (".symver foo, bar@SYMVER");
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_cv_have_as_symver_directive=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libgomp_cv_have_as_symver_directive=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $libgomp_cv_have_as_symver_directive" >&5
-echo "${ECHO_T}$libgomp_cv_have_as_symver_directive" >&6
-if test $libgomp_cv_have_as_symver_directive = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_AS_SYMVER_DIRECTIVE 1
-_ACEOF
-
-fi
-
-
-
-if test $enable_symvers != no; then
- LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE=
- LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE='#'
-else
- LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE='#'
- LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE=
-fi
-
-{ echo "$as_me:$LINENO: versioning on shared library symbols is $enable_symvers" >&5
-echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
-
-
-if test $enable_symvers = gnu; then
-
-cat >>confdefs.h <<\_ACEOF
-#define LIBGOMP_GNU_SYMBOL_VERSIONING 1
-_ACEOF
-
-fi
-
-# Get target configury.
-. ${srcdir}/configure.tgt
-CFLAGS="$save_CFLAGS $XCFLAGS"
-
-# Check for __sync_val_compare_and_swap, but only after the target has
-# had a chance to set XCFLAGS.
-
- echo "$as_me:$LINENO: checking whether the target supports __sync_*_compare_and_swap" >&5
-echo $ECHO_N "checking whether the target supports __sync_*_compare_and_swap... $ECHO_C" >&6
-if test "${libgomp_cv_have_sync_builtins+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-int foo, bar; bar = __sync_val_compare_and_swap(&foo, 0, 1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libgomp_cv_have_sync_builtins=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-libgomp_cv_have_sync_builtins=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $libgomp_cv_have_sync_builtins" >&5
-echo "${ECHO_T}$libgomp_cv_have_sync_builtins" >&6
- if test $libgomp_cv_have_sync_builtins = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYNC_BUILTINS 1
-_ACEOF
-
- fi
-
-XCFLAGS="$XCFLAGS$XPCFLAGS"
-
-
-
-
-
-# Cleanup and exit.
-CFLAGS="$save_CFLAGS"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-if test ${multilib} = yes; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-# Set up the set of libraries that we need to link against for libgomp.
-# Note that the GOMP_SELF_SPEC in gcc.c will force -pthread for -fopenmp,
-# which will force linkage against -lpthread (or equivalent for the system).
-# That's not 100% ideal, but about the best we can do easily.
-if test $enable_shared = yes; then
- link_gomp="-lgomp %{static: $LIBS}"
-else
- link_gomp="-lgomp $LIBS"
-fi
-
-
-
-
-if test "$ac_cv_fc_compiler_gnu" = yes; then
- USE_FORTRAN_TRUE=
- USE_FORTRAN_FALSE='#'
-else
- USE_FORTRAN_TRUE='#'
- USE_FORTRAN_FALSE=
-fi
-
-
-# ??? 2006-01-24: Paulo committed to asking autoconf folk to document
-# and export AC_COMPUTE_INT. If that happens, then we'll need to remove
-# the underscore here and update the PREREQ. If it doesn't, then we'll
-# need to copy this macro to our acinclude.m4.
-save_CFLAGS="$CFLAGS"
-for i in $config_path; do
- if test -f $srcdir/config/$i/omp-lock.h; then
- CFLAGS="$CFLAGS -include confdefs.h -include $srcdir/config/$i/omp-lock.h"
- break
- fi
-done
-
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_LOCK_SIZE=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: unsupported system, cannot find sizeof (omp_lock_t)" >&5
-echo "$as_me: error: unsupported system, cannot find sizeof (omp_lock_t)" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return sizeof (omp_lock_t); }
-unsigned long ulongval () { return sizeof (omp_lock_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((sizeof (omp_lock_t)) < 0)
- {
- long i = longval ();
- if (i != (sizeof (omp_lock_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (sizeof (omp_lock_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_LOCK_SIZE=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: unsupported system, cannot find sizeof (omp_lock_t)" >&5
-echo "$as_me: error: unsupported system, cannot find sizeof (omp_lock_t)" >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_LOCK_ALIGN=$ac_lo;;
-'') ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return __alignof (omp_lock_t); }
-unsigned long ulongval () { return __alignof (omp_lock_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((__alignof (omp_lock_t)) < 0)
- {
- long i = longval ();
- if (i != (__alignof (omp_lock_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (__alignof (omp_lock_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_LOCK_ALIGN=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_NEST_LOCK_SIZE=$ac_lo;;
-'') ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return sizeof (omp_nest_lock_t); }
-unsigned long ulongval () { return sizeof (omp_nest_lock_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((sizeof (omp_nest_lock_t)) < 0)
- {
- long i = longval ();
- if (i != (sizeof (omp_nest_lock_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (sizeof (omp_nest_lock_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_NEST_LOCK_SIZE=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_NEST_LOCK_ALIGN=$ac_lo;;
-'') ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return __alignof (omp_nest_lock_t); }
-unsigned long ulongval () { return __alignof (omp_nest_lock_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((__alignof (omp_nest_lock_t)) < 0)
- {
- long i = longval ();
- if (i != (__alignof (omp_nest_lock_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (__alignof (omp_nest_lock_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_NEST_LOCK_ALIGN=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_25_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_25_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_25_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_LOCK_25_SIZE=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: unsupported system, cannot find sizeof (omp_lock_25_t)" >&5
-echo "$as_me: error: unsupported system, cannot find sizeof (omp_lock_25_t)" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return sizeof (omp_lock_25_t); }
-unsigned long ulongval () { return sizeof (omp_lock_25_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((sizeof (omp_lock_25_t)) < 0)
- {
- long i = longval ();
- if (i != (sizeof (omp_lock_25_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (sizeof (omp_lock_25_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_LOCK_25_SIZE=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: unsupported system, cannot find sizeof (omp_lock_25_t)" >&5
-echo "$as_me: error: unsupported system, cannot find sizeof (omp_lock_25_t)" >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_25_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_25_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_25_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_LOCK_25_ALIGN=$ac_lo;;
-'') ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return __alignof (omp_lock_25_t); }
-unsigned long ulongval () { return __alignof (omp_lock_25_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((__alignof (omp_lock_25_t)) < 0)
- {
- long i = longval ();
- if (i != (__alignof (omp_lock_25_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (__alignof (omp_lock_25_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_LOCK_25_ALIGN=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_25_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_25_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_25_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((sizeof (omp_nest_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_NEST_LOCK_25_SIZE=$ac_lo;;
-'') ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return sizeof (omp_nest_lock_25_t); }
-unsigned long ulongval () { return sizeof (omp_nest_lock_25_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((sizeof (omp_nest_lock_25_t)) < 0)
- {
- long i = longval ();
- if (i != (sizeof (omp_nest_lock_25_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (sizeof (omp_nest_lock_25_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_NEST_LOCK_25_SIZE=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_25_t)) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_25_t)) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_25_t)) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((__alignof (omp_nest_lock_25_t)) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) OMP_NEST_LOCK_25_ALIGN=$ac_lo;;
-'') ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long longval () { return __alignof (omp_nest_lock_25_t); }
-unsigned long ulongval () { return __alignof (omp_nest_lock_25_t); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if ((__alignof (omp_nest_lock_25_t)) < 0)
- {
- long i = longval ();
- if (i != (__alignof (omp_nest_lock_25_t)))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != (__alignof (omp_nest_lock_25_t)))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- OMP_NEST_LOCK_25_ALIGN=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-
-# If the lock fits in an integer, then arrange for Fortran to use that
-# integer. If it doesn't, then arrange for Fortran to use a pointer.
-# Except that we don't have a way at present to multi-lib the installed
-# Fortran modules, so we assume 8 bytes for pointers, regardless of the
-# actual target.
-OMP_LOCK_KIND=$OMP_LOCK_SIZE
-OMP_NEST_LOCK_KIND=$OMP_NEST_LOCK_SIZE
-if test $OMP_LOCK_SIZE -gt 8 || test $OMP_LOCK_ALIGN -gt $OMP_LOCK_SIZE; then
- OMP_LOCK_KIND=8
-fi
-if test $OMP_NEST_LOCK_SIZE -gt 8 || test $OMP_NEST_LOCK_ALIGN -gt $OMP_NEST_LOCK_SIZE; then
- OMP_NEST_LOCK_KIND=8
-fi
-OMP_LOCK_25_KIND=$OMP_LOCK_25_SIZE
-OMP_NEST_LOCK_25_KIND=$OMP_NEST_LOCK_25_SIZE
-if test $OMP_LOCK_25_SIZE -gt 8 || test $OMP_LOCK_25_ALIGN -gt $OMP_LOCK_25_SIZE; then
- OMP_LOCK_25_KIND=8
-fi
-if test $OMP_NEST_LOCK_25_SIZE -gt 8 || test $OMP_NEST_LOCK_25_ALIGN -gt $OMP_NEST_LOCK_25_SIZE; then
- OMP_NEST_LOCK_25_KIND=8
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-CFLAGS="$save_CFLAGS"
-
- ac_config_files="$ac_config_files omp.h omp_lib.h omp_lib.f90 libgomp_f.h"
-
- ac_config_files="$ac_config_files Makefile testsuite/Makefile libgomp.spec"
-
- ac_config_files="$ac_config_files testsuite/gompconfig.exp"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${GENINSRC_TRUE}" && test -z "${GENINSRC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GENINSRC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GENINSRC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILD_INFO\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_INFO\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE}" && test -z "${LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"LIBGOMP_BUILD_VERSIONED_SHLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"LIBGOMP_BUILD_VERSIONED_SHLIB\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${USE_FORTRAN_TRUE}" && test -z "${USE_FORTRAN_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"USE_FORTRAN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_FORTRAN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by GNU OpenMP Runtime Library $as_me 1.0, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-GNU OpenMP Runtime Library config.status 1.0
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS section.
-#
-
-
-srcdir="$srcdir"
-host="$host"
-target="$target"
-with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
-with_target_subdir="$with_target_subdir"
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-multi_basedir="$multi_basedir"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-CC="$CC"
-CXX="$CXX"
-GFORTRAN="$GFORTRAN"
-GCJ="$GCJ"
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
-LD_FC='`$ECHO "X$LD_FC" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_FC='`$ECHO "X$old_archive_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_FC='`$ECHO "X$compiler_FC" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_FC='`$ECHO "X$GCC_FC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_FC='`$ECHO "X$lt_prog_compiler_no_builtin_flag_FC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_FC='`$ECHO "X$lt_prog_compiler_wl_FC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_FC='`$ECHO "X$lt_prog_compiler_pic_FC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_FC='`$ECHO "X$lt_prog_compiler_static_FC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_FC='`$ECHO "X$lt_cv_prog_compiler_c_o_FC" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_FC='`$ECHO "X$archive_cmds_need_lc_FC" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_FC='`$ECHO "X$enable_shared_with_static_runtimes_FC" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_FC='`$ECHO "X$export_dynamic_flag_spec_FC" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_FC='`$ECHO "X$whole_archive_flag_spec_FC" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_FC='`$ECHO "X$compiler_needs_object_FC" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_FC='`$ECHO "X$old_archive_from_new_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_FC='`$ECHO "X$old_archive_from_expsyms_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_FC='`$ECHO "X$archive_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_FC='`$ECHO "X$archive_expsym_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_FC='`$ECHO "X$module_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_FC='`$ECHO "X$module_expsym_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_FC='`$ECHO "X$with_gnu_ld_FC" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_FC='`$ECHO "X$allow_undefined_flag_FC" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_FC='`$ECHO "X$no_undefined_flag_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_FC='`$ECHO "X$hardcode_libdir_flag_spec_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_FC='`$ECHO "X$hardcode_libdir_flag_spec_ld_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_FC='`$ECHO "X$hardcode_libdir_separator_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_FC='`$ECHO "X$hardcode_direct_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_FC='`$ECHO "X$hardcode_direct_absolute_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_FC='`$ECHO "X$hardcode_minus_L_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_FC='`$ECHO "X$hardcode_shlibpath_var_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_FC='`$ECHO "X$hardcode_automatic_FC" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_FC='`$ECHO "X$inherit_rpath_FC" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_FC='`$ECHO "X$link_all_deplibs_FC" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_FC='`$ECHO "X$fix_srcfile_path_FC" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_FC='`$ECHO "X$always_export_symbols_FC" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_FC='`$ECHO "X$export_symbols_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_FC='`$ECHO "X$exclude_expsyms_FC" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_FC='`$ECHO "X$include_expsyms_FC" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_FC='`$ECHO "X$prelink_cmds_FC" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_FC='`$ECHO "X$file_list_spec_FC" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_FC='`$ECHO "X$hardcode_action_FC" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_FC='`$ECHO "X$compiler_lib_search_dirs_FC" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_FC='`$ECHO "X$predep_objects_FC" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_FC='`$ECHO "X$postdep_objects_FC" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_FC='`$ECHO "X$predeps_FC" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_FC='`$ECHO "X$postdeps_FC" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_FC='`$ECHO "X$compiler_lib_search_path_FC" | $Xsed -e "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# Quote evaled strings.
-for var in SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-AR \
-AR_FLAGS \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
-lt_prog_compiler_pic \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-fix_srcfile_path \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-finish_eval \
-old_striplib \
-striplib \
-compiler_lib_search_dirs \
-predep_objects \
-postdep_objects \
-predeps \
-postdeps \
-compiler_lib_search_path \
-LD_FC \
-compiler_FC \
-lt_prog_compiler_no_builtin_flag_FC \
-lt_prog_compiler_wl_FC \
-lt_prog_compiler_pic_FC \
-lt_prog_compiler_static_FC \
-lt_cv_prog_compiler_c_o_FC \
-export_dynamic_flag_spec_FC \
-whole_archive_flag_spec_FC \
-compiler_needs_object_FC \
-with_gnu_ld_FC \
-allow_undefined_flag_FC \
-no_undefined_flag_FC \
-hardcode_libdir_flag_spec_FC \
-hardcode_libdir_flag_spec_ld_FC \
-hardcode_libdir_separator_FC \
-fix_srcfile_path_FC \
-exclude_expsyms_FC \
-include_expsyms_FC \
-file_list_spec_FC \
-compiler_lib_search_dirs_FC \
-predep_objects_FC \
-postdep_objects_FC \
-predeps_FC \
-postdeps_FC \
-compiler_lib_search_path_FC; do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec \
-old_archive_cmds_FC \
-old_archive_from_new_cmds_FC \
-old_archive_from_expsyms_cmds_FC \
-archive_cmds_FC \
-archive_expsym_cmds_FC \
-module_cmds_FC \
-module_expsym_cmds_FC \
-export_symbols_cmds_FC \
-prelink_cmds_FC; do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
- ;;
-esac
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-
-
-
-GCC="$GCC"
-CC="$CC"
-acx_cv_header_stdint="$acx_cv_header_stdint"
-acx_cv_type_int8_t="$acx_cv_type_int8_t"
-acx_cv_type_int16_t="$acx_cv_type_int16_t"
-acx_cv_type_int32_t="$acx_cv_type_int32_t"
-acx_cv_type_int64_t="$acx_cv_type_int64_t"
-acx_cv_type_intptr_t="$acx_cv_type_intptr_t"
-ac_cv_type_uintmax_t="$ac_cv_type_uintmax_t"
-ac_cv_type_uintptr_t="$ac_cv_type_uintptr_t"
-ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
-ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
-ac_cv_type_u_int32_t="$ac_cv_type_u_int32_t"
-ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
-ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
-ac_cv_sizeof_void_p="$ac_cv_sizeof_void_p"
-
-
-_ACEOF
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "omp.h" ) CONFIG_FILES="$CONFIG_FILES omp.h" ;;
- "omp_lib.h" ) CONFIG_FILES="$CONFIG_FILES omp_lib.h" ;;
- "omp_lib.f90" ) CONFIG_FILES="$CONFIG_FILES omp_lib.f90" ;;
- "libgomp_f.h" ) CONFIG_FILES="$CONFIG_FILES libgomp_f.h" ;;
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "testsuite/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "libgomp.spec" ) CONFIG_FILES="$CONFIG_FILES libgomp.spec" ;;
- "testsuite/gompconfig.exp" ) CONFIG_FILES="$CONFIG_FILES testsuite/gompconfig.exp" ;;
- "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool" ) CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "gstdint.h" ) CONFIG_COMMANDS="$CONFIG_COMMANDS gstdint.h" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@GENINSRC_TRUE@,$GENINSRC_TRUE,;t t
-s,@GENINSRC_FALSE@,$GENINSRC_FALSE,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@target@,$target,;t t
-s,@target_cpu@,$target_cpu,;t t
-s,@target_vendor@,$target_vendor,;t t
-s,@target_os@,$target_os,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@mkdir_p@,$mkdir_p,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@am__tar@,$am__tar,;t t
-s,@am__untar@,$am__untar,;t t
-s,@multi_basedir@,$multi_basedir,;t t
-s,@toolexecdir@,$toolexecdir,;t t
-s,@toolexeclibdir@,$toolexeclibdir,;t t
-s,@CC@,$CC,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@PERL@,$PERL,;t t
-s,@BUILD_INFO_TRUE@,$BUILD_INFO_TRUE,;t t
-s,@BUILD_INFO_FALSE@,$BUILD_INFO_FALSE,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@SED@,$SED,;t t
-s,@EGREP@,$EGREP,;t t
-s,@FGREP@,$FGREP,;t t
-s,@GREP@,$GREP,;t t
-s,@LD@,$LD,;t t
-s,@DUMPBIN@,$DUMPBIN,;t t
-s,@ac_ct_DUMPBIN@,$ac_ct_DUMPBIN,;t t
-s,@NM@,$NM,;t t
-s,@LN_S@,$LN_S,;t t
-s,@OBJDUMP@,$OBJDUMP,;t t
-s,@ac_ct_OBJDUMP@,$ac_ct_OBJDUMP,;t t
-s,@lt_ECHO@,$lt_ECHO,;t t
-s,@DSYMUTIL@,$DSYMUTIL,;t t
-s,@ac_ct_DSYMUTIL@,$ac_ct_DSYMUTIL,;t t
-s,@NMEDIT@,$NMEDIT,;t t
-s,@ac_ct_NMEDIT@,$ac_ct_NMEDIT,;t t
-s,@LIPO@,$LIPO,;t t
-s,@ac_ct_LIPO@,$ac_ct_LIPO,;t t
-s,@OTOOL@,$OTOOL,;t t
-s,@ac_ct_OTOOL@,$ac_ct_OTOOL,;t t
-s,@OTOOL64@,$OTOOL64,;t t
-s,@ac_ct_OTOOL64@,$ac_ct_OTOOL64,;t t
-s,@CPP@,$CPP,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@enable_shared@,$enable_shared,;t t
-s,@enable_static@,$enable_static,;t t
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s,@MAINT@,$MAINT,;t t
-s,@FC@,$FC,;t t
-s,@FCFLAGS@,$FCFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@ac_ct_FC@,$ac_ct_FC,;t t
-s,@libtool_VERSION@,$libtool_VERSION,;t t
-s,@SECTION_LDFLAGS@,$SECTION_LDFLAGS,;t t
-s,@OPT_LDFLAGS@,$OPT_LDFLAGS,;t t
-s,@LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@,$LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE,;t t
-s,@LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE@,$LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE,;t t
-s,@config_path@,$config_path,;t t
-s,@XCFLAGS@,$XCFLAGS,;t t
-s,@XLDFLAGS@,$XLDFLAGS,;t t
-s,@link_gomp@,$link_gomp,;t t
-s,@USE_FORTRAN_TRUE@,$USE_FORTRAN_TRUE,;t t
-s,@USE_FORTRAN_FALSE@,$USE_FORTRAN_FALSE,;t t
-s,@OMP_LOCK_SIZE@,$OMP_LOCK_SIZE,;t t
-s,@OMP_LOCK_ALIGN@,$OMP_LOCK_ALIGN,;t t
-s,@OMP_NEST_LOCK_SIZE@,$OMP_NEST_LOCK_SIZE,;t t
-s,@OMP_NEST_LOCK_ALIGN@,$OMP_NEST_LOCK_ALIGN,;t t
-s,@OMP_LOCK_KIND@,$OMP_LOCK_KIND,;t t
-s,@OMP_NEST_LOCK_KIND@,$OMP_NEST_LOCK_KIND,;t t
-s,@OMP_LOCK_25_SIZE@,$OMP_LOCK_25_SIZE,;t t
-s,@OMP_LOCK_25_ALIGN@,$OMP_LOCK_25_ALIGN,;t t
-s,@OMP_NEST_LOCK_25_SIZE@,$OMP_NEST_LOCK_25_SIZE,;t t
-s,@OMP_NEST_LOCK_25_ALIGN@,$OMP_NEST_LOCK_25_ALIGN,;t t
-s,@OMP_LOCK_25_KIND@,$OMP_LOCK_25_KIND,;t t
-s,@OMP_NEST_LOCK_25_KIND@,$OMP_NEST_LOCK_25_KIND,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-# Compute $ac_file's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $ac_file | $ac_file:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- default-1 )
-# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" Makefile "*)
- ac_file=Makefile . ${multi_basedir}/config-ml.in
- ;;
-esac ;;
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
- { (exit 1); exit 1; }; }; }
-
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- libtool )
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags="FC "
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects
-postdep_objects=$lt_postdep_objects
-predeps=$lt_predeps
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- case $xsi_shell in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=${1%%=*}
- func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=${#1}
-}
-
-_LT_EOF
- ;;
- *) # Bourne compatible functions.
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
- esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1+=\$2"
-}
-_LT_EOF
- ;;
- *)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1=\$$1\$2"
-}
-
-_LT_EOF
- ;;
- esac
-
-
- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
-
- cat <<_LT_EOF >> "$ofile"
-
-# ### BEGIN LIBTOOL TAG CONFIG: FC
-
-# The linker used to build libraries.
-LD=$lt_LD_FC
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_FC
-
-# A language specific compiler.
-CC=$lt_compiler_FC
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_FC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_FC
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_FC
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_FC
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_FC
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_FC
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_FC
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_FC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_FC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_FC
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_FC
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_FC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_FC
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds_FC
-archive_expsym_cmds=$lt_archive_expsym_cmds_FC
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_FC
-module_expsym_cmds=$lt_module_expsym_cmds_FC
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_FC
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_FC
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_FC
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_FC
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_FC
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_FC
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct_FC
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute_FC
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L_FC
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_FC
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic_FC
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_FC
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_FC
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_FC
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols_FC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_FC
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_FC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_FC
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_FC
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_FC
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_FC
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_FC
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects_FC
-postdep_objects=$lt_postdep_objects_FC
-predeps=$lt_predeps_FC
-postdeps=$lt_postdeps_FC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_FC
-
-# ### END LIBTOOL TAG CONFIG: FC
-_LT_EOF
-
- ;;
- gstdint.h )
-if test "$GCC" = yes; then
- echo "/* generated for " `$CC --version | sed 1q` "*/" > tmp-stdint.h
-else
- echo "/* generated for $CC */" > tmp-stdint.h
-fi
-
-sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- #ifndef GCC_GENERATED_STDINT_H
- #define GCC_GENERATED_STDINT_H 1
-
- #include <sys/types.h>
-EOF
-
-if test "$acx_cv_header_stdint" != stdint.h; then
- echo "#include <stddef.h>" >> tmp-stdint.h
-fi
-if test "$acx_cv_header_stdint" != stddef.h; then
- echo "#include <$acx_cv_header_stdint>" >> tmp-stdint.h
-fi
-
-sed 's/^ *//' >> tmp-stdint.h <<EOF
- /* glibc uses these symbols as guards to prevent redefinitions. */
- #ifdef __int8_t_defined
- #define _INT8_T
- #define _INT16_T
- #define _INT32_T
- #endif
- #ifdef __uint32_t_defined
- #define _UINT32_T
- #endif
-
-EOF
-
-# ----------------- done header, emit basic int types -------------
-if test "$acx_cv_header_stdint" = stddef.h; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- #ifndef _UINT8_T
- #define _UINT8_T
- #ifndef __uint8_t_defined
- #define __uint8_t_defined
- typedef unsigned $acx_cv_type_int8_t uint8_t;
- #endif
- #endif
-
- #ifndef _UINT16_T
- #define _UINT16_T
- #ifndef __uint16_t_defined
- #define __uint16_t_defined
- typedef unsigned $acx_cv_type_int16_t uint16_t;
- #endif
- #endif
-
- #ifndef _UINT32_T
- #define _UINT32_T
- #ifndef __uint32_t_defined
- #define __uint32_t_defined
- typedef unsigned $acx_cv_type_int32_t uint32_t;
- #endif
- #endif
-
- #ifndef _INT8_T
- #define _INT8_T
- #ifndef __int8_t_defined
- #define __int8_t_defined
- typedef $acx_cv_type_int8_t int8_t;
- #endif
- #endif
-
- #ifndef _INT16_T
- #define _INT16_T
- #ifndef __int16_t_defined
- #define __int16_t_defined
- typedef $acx_cv_type_int16_t int16_t;
- #endif
- #endif
-
- #ifndef _INT32_T
- #define _INT32_T
- #ifndef __int32_t_defined
- #define __int32_t_defined
- typedef $acx_cv_type_int32_t int32_t;
- #endif
- #endif
-EOF
-elif test "$ac_cv_type_u_int32_t" = yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* int8_t int16_t int32_t defined by inet code, we do the u_intXX types */
- #ifndef _INT8_T
- #define _INT8_T
- #endif
- #ifndef _INT16_T
- #define _INT16_T
- #endif
- #ifndef _INT32_T
- #define _INT32_T
- #endif
-
- #ifndef _UINT8_T
- #define _UINT8_T
- #ifndef __uint8_t_defined
- #define __uint8_t_defined
- typedef u_int8_t uint8_t;
- #endif
- #endif
-
- #ifndef _UINT16_T
- #define _UINT16_T
- #ifndef __uint16_t_defined
- #define __uint16_t_defined
- typedef u_int16_t uint16_t;
- #endif
- #endif
-
- #ifndef _UINT32_T
- #define _UINT32_T
- #ifndef __uint32_t_defined
- #define __uint32_t_defined
- typedef u_int32_t uint32_t;
- #endif
- #endif
-EOF
-else
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Some systems have guard macros to prevent redefinitions, define them. */
- #ifndef _INT8_T
- #define _INT8_T
- #endif
- #ifndef _INT16_T
- #define _INT16_T
- #endif
- #ifndef _INT32_T
- #define _INT32_T
- #endif
- #ifndef _UINT8_T
- #define _UINT8_T
- #endif
- #ifndef _UINT16_T
- #define _UINT16_T
- #endif
- #ifndef _UINT32_T
- #define _UINT32_T
- #endif
-EOF
-fi
-
-# ------------- done basic int types, emit int64_t types ------------
-if test "$ac_cv_type_uint64_t" = yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* system headers have good uint64_t and int64_t */
- #ifndef _INT64_T
- #define _INT64_T
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #endif
-EOF
-elif test "$ac_cv_type_u_int64_t" = yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* system headers have an u_int64_t (and int64_t) */
- #ifndef _INT64_T
- #define _INT64_T
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #ifndef __uint64_t_defined
- #define __uint64_t_defined
- typedef u_int64_t uint64_t;
- #endif
- #endif
-EOF
-elif test -n "$acx_cv_type_int64_t"; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* architecture has a 64-bit type, $acx_cv_type_int64_t */
- #ifndef _INT64_T
- #define _INT64_T
- typedef $acx_cv_type_int64_t int64_t;
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- #ifndef __uint64_t_defined
- #define __uint64_t_defined
- typedef unsigned $acx_cv_type_int64_t uint64_t;
- #endif
- #endif
-EOF
-else
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* some common heuristics for int64_t, using compiler-specific tests */
- #if defined __STDC_VERSION__ && (__STDC_VERSION__-0) >= 199901L
- #ifndef _INT64_T
- #define _INT64_T
- #ifndef __int64_t_defined
- typedef long long int64_t;
- #endif
- #endif
- #ifndef _UINT64_T
- #define _UINT64_T
- typedef unsigned long long uint64_t;
- #endif
-
- #elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
- /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
- does not implement __extension__. But that compiler doesn't define
- __GNUC_MINOR__. */
- # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
- # define __extension__
- # endif
-
- # ifndef _INT64_T
- # define _INT64_T
- __extension__ typedef long long int64_t;
- # endif
- # ifndef _UINT64_T
- # define _UINT64_T
- __extension__ typedef unsigned long long uint64_t;
- # endif
-
- #elif !defined __STRICT_ANSI__
- # if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
-
- # ifndef _INT64_T
- # define _INT64_T
- typedef __int64 int64_t;
- # endif
- # ifndef _UINT64_T
- # define _UINT64_T
- typedef unsigned __int64 uint64_t;
- # endif
- # endif /* compiler */
-
- #endif /* ANSI version */
-EOF
-fi
-
-# ------------- done int64_t types, emit intptr types ------------
-if test "$ac_cv_type_uintptr_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
- #ifndef __uintptr_t_defined
- typedef u$acx_cv_type_intptr_t uintptr_t;
- #endif
- #ifndef __intptr_t_defined
- typedef $acx_cv_type_intptr_t intptr_t;
- #endif
-EOF
-fi
-
-# ------------- done intptr types, emit int_least types ------------
-if test "$ac_cv_type_int_least32_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define int_least types */
- typedef int8_t int_least8_t;
- typedef int16_t int_least16_t;
- typedef int32_t int_least32_t;
- #ifdef _INT64_T
- typedef int64_t int_least64_t;
- #endif
-
- typedef uint8_t uint_least8_t;
- typedef uint16_t uint_least16_t;
- typedef uint32_t uint_least32_t;
- #ifdef _UINT64_T
- typedef uint64_t uint_least64_t;
- #endif
-EOF
-fi
-
-# ------------- done intptr types, emit int_fast types ------------
-if test "$ac_cv_type_int_fast32_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define int_fast types. short is often slow */
- typedef int8_t int_fast8_t;
- typedef int int_fast16_t;
- typedef int32_t int_fast32_t;
- #ifdef _INT64_T
- typedef int64_t int_fast64_t;
- #endif
-
- typedef uint8_t uint_fast8_t;
- typedef unsigned int uint_fast16_t;
- typedef uint32_t uint_fast32_t;
- #ifdef _UINT64_T
- typedef uint64_t uint_fast64_t;
- #endif
-EOF
-fi
-
-if test "$ac_cv_type_uintmax_t" != yes; then
- sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- /* Define intmax based on what we found */
- #ifdef _INT64_T
- typedef int64_t intmax_t;
- #else
- typedef long intmax_t;
- #endif
- #ifdef _UINT64_T
- typedef uint64_t uintmax_t;
- #else
- typedef unsigned long uintmax_t;
- #endif
-EOF
-fi
-
-sed 's/^ *//' >> tmp-stdint.h <<EOF
-
- #endif /* GCC_GENERATED_STDINT_H */
-EOF
-
-if test -r gstdint.h && cmp -s tmp-stdint.h gstdint.h; then
- rm -f tmp-stdint.h
-else
- mv -f tmp-stdint.h gstdint.h
-fi
-
- ;;
- esac
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/gcc-4.4.3/libgomp/configure.ac b/gcc-4.4.3/libgomp/configure.ac
deleted file mode 100644
index 5bafe61d1..000000000
--- a/gcc-4.4.3/libgomp/configure.ac
+++ /dev/null
@@ -1,342 +0,0 @@
-# Process this file with autoconf to produce a configure script, like so:
-# aclocal -I ../config && autoconf && autoheader && automake
-
-AC_PREREQ(2.59)
-AC_INIT([GNU OpenMP Runtime Library], 1.0,,[libgomp])
-AC_CONFIG_HEADER(config.h)
-
-# -------
-# Options
-# -------
-
-AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
-LIBGOMP_ENABLE(version-specific-runtime-libs, no, ,
- [Specify that runtime libraries should be installed in a compiler-specific directory],
- permit yes|no)
-AC_MSG_RESULT($enable_version_specific_runtime_libs)
-
-# We would like our source tree to be readonly. However when releases or
-# pre-releases are generated, the flex/bison generated files as well as the
-# various formats of manuals need to be included along with the rest of the
-# sources. Therefore we have --enable-generated-files-in-srcdir to do
-# just that.
-AC_MSG_CHECKING([for --enable-generated-files-in-srcdir])
-LIBGOMP_ENABLE(generated-files-in-srcdir, no, ,
- [put copies of generated files in source dir intended for creating source
- tarballs for users without texinfo bison or flex.],
- permit yes|no)
-AC_MSG_RESULT($enable_generated_files_in_srcdir)
-AM_CONDITIONAL(GENINSRC, test "$enable_generated_files_in_srcdir" = yes)
-
-
-# -------
-# -------
-
-# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
-#
-# You will slowly go insane if you do not grok the following fact: when
-# building this library, the top-level /target/ becomes the library's /host/.
-#
-# configure then causes --target to default to --host, exactly like any
-# other package using autoconf. Therefore, 'target' and 'host' will
-# always be the same. This makes sense both for native and cross compilers
-# just think about it for a little while. :-)
-#
-# Also, if this library is being configured as part of a cross compiler, the
-# top-level configure script will pass the "real" host as $with_cross_host.
-#
-# Do not delete or change the following two lines. For why, see
-# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-# Sets up automake. Must come after AC_CANONICAL_SYSTEM. Each of the
-# following is magically included in AUTOMAKE_OPTIONS in each Makefile.am.
-# 1.9.0: minimum required version
-# no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
-# of other PACKAGE_* variables will, however, and there's nothing
-# we can do about that; they come from AC_INIT).
-# foreign: we don't follow the normal rules for GNU packages (no COPYING
-# file in the top srcdir, etc, etc), so stop complaining.
-# -Wall: turns on all automake warnings...
-# -Wno-portability: ...except this one, since GNU make is required.
-# -Wno-override: ... and this one, since we do want this in testsuite.
-AM_INIT_AUTOMAKE([1.9.0 foreign -Wall -Wno-portability -Wno-override])
-AM_ENABLE_MULTILIB(, ..)
-
-# Calculate toolexeclibdir
-# Also toolexecdir, though it's only used in toolexeclibdir
-case ${enable_version_specific_runtime_libs} in
- yes)
- # Need the gcc compiler version to know where to install libraries
- # and header files if --enable-version-specific-runtime-libs option
- # is selected.
- toolexecdir='$(libdir)/gcc/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/$(gcc_version)$(MULTISUBDIR)'
- ;;
- no)
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- # Install a library built with a cross compiler in tooldir, not libdir.
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
- toolexeclibdir='$(libdir)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- ;;
-esac
-AC_SUBST(toolexecdir)
-AC_SUBST(toolexeclibdir)
-
-# Check the compiler.
-# The same as in boehm-gc and libstdc++. Have to borrow it from there.
-# We must force CC to /not/ be precious variables; otherwise
-# the wrong, non-multilib-adjusted value will be used in multilibs.
-# As a side effect, we have to subst CFLAGS ourselves.
-
-m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
-m4_define([_AC_ARG_VAR_PRECIOUS],[])
-AC_PROG_CC
-m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
-
-AC_SUBST(CFLAGS)
-
-# In order to override CFLAGS_FOR_TARGET, all of our special flags go
-# in XCFLAGS. But we need them in CFLAGS during configury. So put them
-# in both places for now and restore CFLAGS at the end of config.
-save_CFLAGS="$CFLAGS"
-
-# Add -Wall -Werror if we are using GCC.
-if test "x$GCC" = "xyes"; then
- XCFLAGS="$XCFLAGS -Wall -Werror"
-fi
-
-# Find other programs we need.
-AC_CHECK_TOOL(AR, ar)
-AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error)
-AC_PATH_PROG(PERL, perl, perl-not-found-in-path-error)
-AC_PROG_MAKE_SET
-AC_PROG_INSTALL
-
-# See if makeinfo has been installed and is modern enough
-# that we can use it.
-ACX_CHECK_PROG_VER([MAKEINFO], [makeinfo], [--version],
- [GNU texinfo.* \([0-9][0-9.]*\)],
- [4.[4-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*])
-AM_CONDITIONAL(BUILD_INFO, test $gcc_cv_prog_makeinfo_modern = "yes")
-
-
-# Configure libtool
-AM_PROG_LIBTOOL
-AC_SUBST(enable_shared)
-AC_SUBST(enable_static)
-
-AM_MAINTAINER_MODE
-
-# We need gfortran to compile parts of the library
-# We can't use AC_PROG_FC because it expects a fully working gfortran.
-#AC_PROG_FC(gfortran)
-FC="$GFORTRAN"
-AC_PROG_FC(gfortran)
-FCFLAGS="$FCFLAGS -Wall"
-
-# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=1:0:0
-AC_SUBST(libtool_VERSION)
-
-# Check header files.
-AC_STDC_HEADERS
-AC_HEADER_TIME
-ACX_HEADER_STRING
-AC_CHECK_HEADERS(unistd.h semaphore.h sys/loadavg.h sys/time.h sys/time.h)
-
-GCC_HEADER_STDINT(gstdint.h)
-
-# Check to see if -pthread or -lpthread is needed. Prefer the former.
-# In case the pthread.h system header is not found, this test will fail.
-XPCFLAGS=""
-CFLAGS="$CFLAGS -pthread"
-AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [#include <pthread.h>
- void *g(void *d) { return NULL; }],
- [pthread_t t; pthread_create(&t,NULL,g,NULL);])],
- [XPCFLAGS=" -Wc,-pthread"],
- [CFLAGS="$save_CFLAGS" LIBS="$LIBS"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [#include <pthread.h>
- void *g(void *d) { return NULL; }],
- [pthread_t t; pthread_create(&t,NULL,g,NULL);])],
- [],
- [CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [#include <pthread.h>
- void *g(void *d) { return NULL; }],
- [pthread_t t; pthread_create(&t,NULL,g,NULL);])],
- [],
- [AC_MSG_ERROR([Pthreads are required to build libgomp])])])])
-
-# Check for functions needed.
-AC_CHECK_FUNCS(getloadavg clock_gettime strtoull)
-
-# Check for broken semaphore implementation on darwin.
-# sem_init returns: sem_init error: Function not implemented.
-case "$host" in
- *-darwin*)
- AC_DEFINE(HAVE_BROKEN_POSIX_SEMAPHORES, 1,
- Define if the POSIX Semaphores do not work on your system.)
- ;;
-esac
-
-GCC_LINUX_FUTEX(:)
-
-# Check for pthread_{,attr_}[sg]etaffinity_np.
-AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [#define _GNU_SOURCE
- #include <pthread.h>],
- [cpu_set_t cpuset;
- pthread_attr_t attr;
- pthread_getaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset);
- if (CPU_ISSET (0, &cpuset))
- CPU_SET (1, &cpuset);
- else
- CPU_ZERO (&cpuset);
- pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset);
- pthread_attr_init (&attr);
- pthread_attr_getaffinity_np (&attr, sizeof (cpu_set_t), &cpuset);
- pthread_attr_setaffinity_np (&attr, sizeof (cpu_set_t), &cpuset);])],
- AC_DEFINE(HAVE_PTHREAD_AFFINITY_NP, 1,
-[ Define if pthread_{,attr_}{g,s}etaffinity_np is supported.]))
-
-# At least for glibc, clock_gettime is in librt. But don't pull that
-# in if it still doesn't give us the function we want.
-if test $ac_cv_func_clock_gettime = no; then
- AC_CHECK_LIB(rt, clock_gettime,
- [LIBS="-lrt $LIBS"
- AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
- [Define to 1 if you have the `clock_gettime' function.])])
-fi
-
-# See if we support thread-local storage.
-GCC_CHECK_TLS
-
-# See what sort of export controls are availible.
-LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY
-LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT
-LIBGOMP_CHECK_ATTRIBUTE_ALIAS
-LIBGOMP_ENABLE_SYMVERS
-
-if test $enable_symvers = gnu; then
- AC_DEFINE(LIBGOMP_GNU_SYMBOL_VERSIONING, 1,
- [Define to 1 if GNU symbol versioning is used for libgomp.])
-fi
-
-# Get target configury.
-. ${srcdir}/configure.tgt
-CFLAGS="$save_CFLAGS $XCFLAGS"
-
-# Check for __sync_val_compare_and_swap, but only after the target has
-# had a chance to set XCFLAGS.
-LIBGOMP_CHECK_SYNC_BUILTINS
-
-XCFLAGS="$XCFLAGS$XPCFLAGS"
-
-AC_SUBST(config_path)
-AC_SUBST(XCFLAGS)
-AC_SUBST(XLDFLAGS)
-
-# Cleanup and exit.
-CFLAGS="$save_CFLAGS"
-AC_CACHE_SAVE
-
-if test ${multilib} = yes; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-# Set up the set of libraries that we need to link against for libgomp.
-# Note that the GOMP_SELF_SPEC in gcc.c will force -pthread for -fopenmp,
-# which will force linkage against -lpthread (or equivalent for the system).
-# That's not 100% ideal, but about the best we can do easily.
-if test $enable_shared = yes; then
- link_gomp="-lgomp %{static: $LIBS}"
-else
- link_gomp="-lgomp $LIBS"
-fi
-AC_SUBST(link_gomp)
-
-AM_CONDITIONAL([USE_FORTRAN], [test "$ac_cv_fc_compiler_gnu" = yes])
-
-# ??? 2006-01-24: Paulo committed to asking autoconf folk to document
-# and export AC_COMPUTE_INT. If that happens, then we'll need to remove
-# the underscore here and update the PREREQ. If it doesn't, then we'll
-# need to copy this macro to our acinclude.m4.
-save_CFLAGS="$CFLAGS"
-for i in $config_path; do
- if test -f $srcdir/config/$i/omp-lock.h; then
- CFLAGS="$CFLAGS -include confdefs.h -include $srcdir/config/$i/omp-lock.h"
- break
- fi
-done
-
-_AC_COMPUTE_INT([sizeof (omp_lock_t)], [OMP_LOCK_SIZE],,
- [AC_MSG_ERROR([unsupported system, cannot find sizeof (omp_lock_t)])])
-_AC_COMPUTE_INT([__alignof (omp_lock_t)], [OMP_LOCK_ALIGN])
-_AC_COMPUTE_INT([sizeof (omp_nest_lock_t)], [OMP_NEST_LOCK_SIZE])
-_AC_COMPUTE_INT([__alignof (omp_nest_lock_t)], [OMP_NEST_LOCK_ALIGN])
-_AC_COMPUTE_INT([sizeof (omp_lock_25_t)], [OMP_LOCK_25_SIZE],,
- [AC_MSG_ERROR([unsupported system, cannot find sizeof (omp_lock_25_t)])])
-_AC_COMPUTE_INT([__alignof (omp_lock_25_t)], [OMP_LOCK_25_ALIGN])
-_AC_COMPUTE_INT([sizeof (omp_nest_lock_25_t)], [OMP_NEST_LOCK_25_SIZE])
-_AC_COMPUTE_INT([__alignof (omp_nest_lock_25_t)], [OMP_NEST_LOCK_25_ALIGN])
-
-# If the lock fits in an integer, then arrange for Fortran to use that
-# integer. If it doesn't, then arrange for Fortran to use a pointer.
-# Except that we don't have a way at present to multi-lib the installed
-# Fortran modules, so we assume 8 bytes for pointers, regardless of the
-# actual target.
-OMP_LOCK_KIND=$OMP_LOCK_SIZE
-OMP_NEST_LOCK_KIND=$OMP_NEST_LOCK_SIZE
-if test $OMP_LOCK_SIZE -gt 8 || test $OMP_LOCK_ALIGN -gt $OMP_LOCK_SIZE; then
- OMP_LOCK_KIND=8
-fi
-if test $OMP_NEST_LOCK_SIZE -gt 8 || test $OMP_NEST_LOCK_ALIGN -gt $OMP_NEST_LOCK_SIZE; then
- OMP_NEST_LOCK_KIND=8
-fi
-OMP_LOCK_25_KIND=$OMP_LOCK_25_SIZE
-OMP_NEST_LOCK_25_KIND=$OMP_NEST_LOCK_25_SIZE
-if test $OMP_LOCK_25_SIZE -gt 8 || test $OMP_LOCK_25_ALIGN -gt $OMP_LOCK_25_SIZE; then
- OMP_LOCK_25_KIND=8
-fi
-if test $OMP_NEST_LOCK_25_SIZE -gt 8 || test $OMP_NEST_LOCK_25_ALIGN -gt $OMP_NEST_LOCK_25_SIZE; then
- OMP_NEST_LOCK_25_KIND=8
-fi
-
-AC_SUBST(OMP_LOCK_SIZE)
-AC_SUBST(OMP_LOCK_ALIGN)
-AC_SUBST(OMP_NEST_LOCK_SIZE)
-AC_SUBST(OMP_NEST_LOCK_ALIGN)
-AC_SUBST(OMP_LOCK_KIND)
-AC_SUBST(OMP_NEST_LOCK_KIND)
-AC_SUBST(OMP_LOCK_25_SIZE)
-AC_SUBST(OMP_LOCK_25_ALIGN)
-AC_SUBST(OMP_NEST_LOCK_25_SIZE)
-AC_SUBST(OMP_NEST_LOCK_25_ALIGN)
-AC_SUBST(OMP_LOCK_25_KIND)
-AC_SUBST(OMP_NEST_LOCK_25_KIND)
-CFLAGS="$save_CFLAGS"
-
-AC_CONFIG_FILES(omp.h omp_lib.h omp_lib.f90 libgomp_f.h)
-AC_CONFIG_FILES(Makefile testsuite/Makefile libgomp.spec)
-AC_CONFIG_FILES(testsuite/gompconfig.exp)
-AC_OUTPUT
diff --git a/gcc-4.4.3/libgomp/configure.tgt b/gcc-4.4.3/libgomp/configure.tgt
deleted file mode 100644
index df73870c8..000000000
--- a/gcc-4.4.3/libgomp/configure.tgt
+++ /dev/null
@@ -1,125 +0,0 @@
-# This is the target specific configuration file. This is invoked by the
-# autoconf generated configure script. Putting it in a separate shell file
-# lets us skip running autoconf when modifying target specific information.
-
-# This file switches on the shell variable ${target}, and sets the
-# following shell variables:
-# config_path An ordered list of directories to search for
-# sources and headers. This is relative to the
-# config subdirectory of the source tree.
-# XCFLAGS Add extra compile flags to use.
-# XLDFLAGS Add extra link flags to use.
-
-# Optimize TLS usage by avoiding the overhead of dynamic allocation.
-if test $gcc_cv_have_tls = yes ; then
- case "${target}" in
-
- *-*-linux*)
- XCFLAGS="${XCFLAGS} -ftls-model=initial-exec"
- ;;
- esac
-fi
-
-# Since we require POSIX threads, assume a POSIX system by default.
-config_path="posix"
-
-# Check for futex enabled all at once.
-if test $enable_linux_futex = yes; then
- case "${target}" in
-
- alpha*-*-linux*)
- config_path="linux/alpha linux posix"
- ;;
-
- arm*-*-linux*)
- config_path="linux posix"
- ;;
-
- ia64*-*-linux*)
- config_path="linux/ia64 linux posix"
- ;;
-
- mips*-*-linux*)
- config_path="linux/mips linux posix"
- ;;
-
- powerpc*-*-linux*)
- config_path="linux/powerpc linux posix"
- ;;
-
- s390*-*-linux*)
- config_path="linux/s390 linux posix"
- ;;
-
- # Note that bare i386 is not included here. We need cmpxchg.
- i[456]86-*-linux*)
- config_path="linux/x86 linux posix"
- case " ${CC} ${CFLAGS} " in
- *" -m64 "*)
- ;;
- *)
- if test -z "$with_arch"; then
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
- fi
- esac
- ;;
-
- # Similar jiggery-pokery for x86_64 multilibs, except here we
- # can't rely on the --with-arch configure option, since that
- # applies to the 64-bit side.
- x86_64-*-linux*)
- config_path="linux/x86 linux posix"
- case " ${CC} ${CFLAGS} " in
- *" -m32 "*)
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
- ;;
- esac
- ;;
-
- # Note that sparcv7 and sparcv8 is not included here. We need cas.
- sparcv9-*-linux* | sparc64-*-linux*)
- echo "int i;" > conftestx.c
- if ${CC} ${CFLAGS} -c -o conftestx.o conftestx.c > /dev/null 2>&1; then
- config_path="linux/sparc linux posix"
- case "`/usr/bin/file conftestx.o`" in
- *32-bit*)
- case " ${CC} ${CFLAGS}" in
- *" -mcpu=ultrasparc"*)
- ;;
- *)
- XCFLAGS="${XCFLAGS} -mcpu=v9"
- ;;
- esac
- ;;
- esac
- fi
- rm -f conftestx.c conftestx.o
- ;;
- esac
-fi
-
-# Other system configury
-case "${target}" in
-
- *-*-hpux11*)
- # HPUX v11.x requires -lrt to resolve sem_init in libgomp.la
- XLDFLAGS="${XLDFLAGS} -lrt"
- ;;
-
- *-*-mingw32*)
- config_path="mingw32 posix"
- ;;
-
- *-*-solaris2.[56]*)
- config_path="posix95 posix"
- XLDFLAGS="${XLDFLAGS} -lposix4"
- ;;
-
- *-*-darwin*)
- config_path="bsd posix"
- ;;
-
- *)
- ;;
-
-esac
diff --git a/gcc-4.4.3/libgomp/critical.c b/gcc-4.4.3/libgomp/critical.c
deleted file mode 100644
index daf1ffc21..000000000
--- a/gcc-4.4.3/libgomp/critical.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the CRITICAL construct. */
-
-#include "libgomp.h"
-#include <stdlib.h>
-
-
-static gomp_mutex_t default_lock;
-
-void
-GOMP_critical_start (void)
-{
- gomp_mutex_lock (&default_lock);
-}
-
-void
-GOMP_critical_end (void)
-{
- gomp_mutex_unlock (&default_lock);
-}
-
-#ifndef HAVE_SYNC_BUILTINS
-static gomp_mutex_t create_lock_lock;
-#endif
-
-void
-GOMP_critical_name_start (void **pptr)
-{
- gomp_mutex_t *plock;
-
- /* If a mutex fits within the space for a pointer, and is zero initialized,
- then use the pointer space directly. */
- if (GOMP_MUTEX_INIT_0
- && sizeof (gomp_mutex_t) <= sizeof (void *)
- && __alignof (gomp_mutex_t) <= sizeof (void *))
- plock = (gomp_mutex_t *)pptr;
-
- /* Otherwise we have to be prepared to malloc storage. */
- else
- {
- plock = *pptr;
-
- if (plock == NULL)
- {
-#ifdef HAVE_SYNC_BUILTINS
- gomp_mutex_t *nlock = gomp_malloc (sizeof (gomp_mutex_t));
- gomp_mutex_init (nlock);
-
- plock = __sync_val_compare_and_swap (pptr, NULL, nlock);
- if (plock != NULL)
- {
- gomp_mutex_destroy (nlock);
- free (nlock);
- }
- else
- plock = nlock;
-#else
- gomp_mutex_lock (&create_lock_lock);
- plock = *pptr;
- if (plock == NULL)
- {
- plock = gomp_malloc (sizeof (gomp_mutex_t));
- gomp_mutex_init (plock);
- __sync_synchronize ();
- *pptr = plock;
- }
- gomp_mutex_unlock (&create_lock_lock);
-#endif
- }
- }
-
- gomp_mutex_lock (plock);
-}
-
-void
-GOMP_critical_name_end (void **pptr)
-{
- gomp_mutex_t *plock;
-
- /* If a mutex fits within the space for a pointer, and is zero initialized,
- then use the pointer space directly. */
- if (GOMP_MUTEX_INIT_0
- && sizeof (gomp_mutex_t) <= sizeof (void *)
- && __alignof (gomp_mutex_t) <= sizeof (void *))
- plock = (gomp_mutex_t *)pptr;
- else
- plock = *pptr;
-
- gomp_mutex_unlock (plock);
-}
-
-/* This mutex is used when atomic operations don't exist for the target
- in the mode requested. The result is not globally atomic, but works so
- long as all parallel references are within #pragma omp atomic directives.
- According to responses received from omp@openmp.org, appears to be within
- spec. Which makes sense, since that's how several other compilers
- handle this situation as well. */
-
-static gomp_mutex_t atomic_lock;
-
-void
-GOMP_atomic_start (void)
-{
- gomp_mutex_lock (&atomic_lock);
-}
-
-void
-GOMP_atomic_end (void)
-{
- gomp_mutex_unlock (&atomic_lock);
-}
-
-#if !GOMP_MUTEX_INIT_0
-static void __attribute__((constructor))
-initialize_critical (void)
-{
- gomp_mutex_init (&default_lock);
- gomp_mutex_init (&atomic_lock);
-#ifndef HAVE_SYNC_BUILTINS
- gomp_mutex_init (&create_lock_lock);
-#endif
-}
-#endif
diff --git a/gcc-4.4.3/libgomp/env.c b/gcc-4.4.3/libgomp/env.c
deleted file mode 100644
index 6809fdfa1..000000000
--- a/gcc-4.4.3/libgomp/env.c
+++ /dev/null
@@ -1,656 +0,0 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file defines the OpenMP internal control variables, and arranges
- for them to be initialized from environment variables at startup. */
-
-#include "libgomp.h"
-#include "libgomp_f.h"
-#include <ctype.h>
-#include <stdlib.h>
-#ifdef STRING_WITH_STRINGS
-# include <string.h>
-# include <strings.h>
-#else
-# ifdef HAVE_STRING_H
-# include <string.h>
-# else
-# ifdef HAVE_STRINGS_H
-# include <strings.h>
-# endif
-# endif
-#endif
-#include <limits.h>
-#include <errno.h>
-#include <asm/page.h>
-
-#ifndef HAVE_STRTOULL
-# define strtoull(ptr, eptr, base) strtoul (ptr, eptr, base)
-#endif
-
-struct gomp_task_icv gomp_global_icv = {
- .nthreads_var = 1,
- .run_sched_var = GFS_DYNAMIC,
- .run_sched_modifier = 1,
- .dyn_var = false,
- .nest_var = false
-};
-
-unsigned short *gomp_cpu_affinity;
-size_t gomp_cpu_affinity_len;
-unsigned long gomp_max_active_levels_var = INT_MAX;
-unsigned long gomp_thread_limit_var = ULONG_MAX;
-unsigned long gomp_remaining_threads_count;
-#ifndef HAVE_SYNC_BUILTINS
-gomp_mutex_t gomp_remaining_threads_lock;
-#endif
-unsigned long gomp_available_cpus = 1, gomp_managed_threads = 1;
-unsigned long long gomp_spin_count_var, gomp_throttled_spin_count_var;
-
-/* Parse the OMP_SCHEDULE environment variable. */
-
-static void
-parse_schedule (void)
-{
- char *env, *end;
- unsigned long value;
-
- env = getenv ("OMP_SCHEDULE");
- if (env == NULL)
- return;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (strncasecmp (env, "static", 6) == 0)
- {
- gomp_global_icv.run_sched_var = GFS_STATIC;
- env += 6;
- }
- else if (strncasecmp (env, "dynamic", 7) == 0)
- {
- gomp_global_icv.run_sched_var = GFS_DYNAMIC;
- env += 7;
- }
- else if (strncasecmp (env, "guided", 6) == 0)
- {
- gomp_global_icv.run_sched_var = GFS_GUIDED;
- env += 6;
- }
- else if (strncasecmp (env, "auto", 4) == 0)
- {
- gomp_global_icv.run_sched_var = GFS_AUTO;
- env += 4;
- }
- else
- goto unknown;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env == '\0')
- return;
- if (*env++ != ',')
- goto unknown;
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env == '\0')
- goto invalid;
-
- errno = 0;
- value = strtoul (env, &end, 10);
- if (errno)
- goto invalid;
-
- while (isspace ((unsigned char) *end))
- ++end;
- if (*end != '\0')
- goto invalid;
-
- if ((int)value != value)
- goto invalid;
-
- gomp_global_icv.run_sched_modifier = value;
- return;
-
- unknown:
- gomp_error ("Unknown value for environment variable OMP_SCHEDULE");
- return;
-
- invalid:
- gomp_error ("Invalid value for chunk size in "
- "environment variable OMP_SCHEDULE");
- return;
-}
-
-/* Parse an unsigned long environment variable. Return true if one was
- present and it was successfully parsed. */
-
-static bool
-parse_unsigned_long (const char *name, unsigned long *pvalue)
-{
- char *env, *end;
- unsigned long value;
-
- env = getenv (name);
- if (env == NULL)
- return false;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env == '\0')
- goto invalid;
-
- errno = 0;
- value = strtoul (env, &end, 10);
- if (errno || (long) value <= 0)
- goto invalid;
-
- while (isspace ((unsigned char) *end))
- ++end;
- if (*end != '\0')
- goto invalid;
-
- *pvalue = value;
- return true;
-
- invalid:
- gomp_error ("Invalid value for environment variable %s", name);
- return false;
-}
-
-/* Parse the OMP_STACKSIZE environment varible. Return true if one was
- present and it was successfully parsed. */
-
-static bool
-parse_stacksize (const char *name, unsigned long *pvalue)
-{
- char *env, *end;
- unsigned long value, shift = 10;
-
- env = getenv (name);
- if (env == NULL)
- return false;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env == '\0')
- goto invalid;
-
- errno = 0;
- value = strtoul (env, &end, 10);
- if (errno)
- goto invalid;
-
- while (isspace ((unsigned char) *end))
- ++end;
- if (*end != '\0')
- {
- switch (tolower ((unsigned char) *end))
- {
- case 'b':
- shift = 0;
- break;
- case 'k':
- break;
- case 'm':
- shift = 20;
- break;
- case 'g':
- shift = 30;
- break;
- default:
- goto invalid;
- }
- ++end;
- while (isspace ((unsigned char) *end))
- ++end;
- if (*end != '\0')
- goto invalid;
- }
-
- if (((value << shift) >> shift) != value)
- goto invalid;
-
- *pvalue = value << shift;
- return true;
-
- invalid:
- gomp_error ("Invalid value for environment variable %s", name);
- return false;
-}
-
-/* Parse the GOMP_SPINCOUNT environment varible. Return true if one was
- present and it was successfully parsed. */
-
-static bool
-parse_spincount (const char *name, unsigned long long *pvalue)
-{
- char *env, *end;
- unsigned long long value, mult = 1;
-
- env = getenv (name);
- if (env == NULL)
- return false;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env == '\0')
- goto invalid;
-
- if (strncasecmp (env, "infinite", 8) == 0
- || strncasecmp (env, "infinity", 8) == 0)
- {
- value = ~0ULL;
- end = env + 8;
- goto check_tail;
- }
-
- errno = 0;
- value = strtoull (env, &end, 10);
- if (errno)
- goto invalid;
-
- while (isspace ((unsigned char) *end))
- ++end;
- if (*end != '\0')
- {
- switch (tolower ((unsigned char) *end))
- {
- case 'k':
- mult = 1000LL;
- break;
- case 'm':
- mult = 1000LL * 1000LL;
- break;
- case 'g':
- mult = 1000LL * 1000LL * 1000LL;
- break;
- case 't':
- mult = 1000LL * 1000LL * 1000LL * 1000LL;
- break;
- default:
- goto invalid;
- }
- ++end;
- check_tail:
- while (isspace ((unsigned char) *end))
- ++end;
- if (*end != '\0')
- goto invalid;
- }
-
- if (value > ~0ULL / mult)
- value = ~0ULL;
- else
- value *= mult;
-
- *pvalue = value;
- return true;
-
- invalid:
- gomp_error ("Invalid value for environment variable %s", name);
- return false;
-}
-
-/* Parse a boolean value for environment variable NAME and store the
- result in VALUE. */
-
-static void
-parse_boolean (const char *name, bool *value)
-{
- const char *env;
-
- env = getenv (name);
- if (env == NULL)
- return;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (strncasecmp (env, "true", 4) == 0)
- {
- *value = true;
- env += 4;
- }
- else if (strncasecmp (env, "false", 5) == 0)
- {
- *value = false;
- env += 5;
- }
- else
- env = "X";
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env != '\0')
- gomp_error ("Invalid value for environment variable %s", name);
-}
-
-/* Parse the OMP_WAIT_POLICY environment variable and store the
- result in gomp_active_wait_policy. */
-
-static int
-parse_wait_policy (void)
-{
- const char *env;
- int ret = -1;
-
- env = getenv ("OMP_WAIT_POLICY");
- if (env == NULL)
- return -1;
-
- while (isspace ((unsigned char) *env))
- ++env;
- if (strncasecmp (env, "active", 6) == 0)
- {
- ret = 1;
- env += 6;
- }
- else if (strncasecmp (env, "passive", 7) == 0)
- {
- ret = 0;
- env += 7;
- }
- else
- env = "X";
- while (isspace ((unsigned char) *env))
- ++env;
- if (*env == '\0')
- return ret;
- gomp_error ("Invalid value for environment variable OMP_WAIT_POLICY");
- return -1;
-}
-
-/* Parse the GOMP_CPU_AFFINITY environment varible. Return true if one was
- present and it was successfully parsed. */
-
-static bool
-parse_affinity (void)
-{
- char *env, *end;
- unsigned long cpu_beg, cpu_end, cpu_stride;
- unsigned short *cpus = NULL;
- size_t allocated = 0, used = 0, needed;
-
- env = getenv ("GOMP_CPU_AFFINITY");
- if (env == NULL)
- return false;
-
- do
- {
- while (*env == ' ' || *env == '\t')
- env++;
-
- cpu_beg = strtoul (env, &end, 0);
- cpu_end = cpu_beg;
- cpu_stride = 1;
- if (env == end || cpu_beg >= 65536)
- goto invalid;
-
- env = end;
- if (*env == '-')
- {
- cpu_end = strtoul (++env, &end, 0);
- if (env == end || cpu_end >= 65536 || cpu_end < cpu_beg)
- goto invalid;
-
- env = end;
- if (*env == ':')
- {
- cpu_stride = strtoul (++env, &end, 0);
- if (env == end || cpu_stride == 0 || cpu_stride >= 65536)
- goto invalid;
-
- env = end;
- }
- }
-
- needed = (cpu_end - cpu_beg) / cpu_stride + 1;
- if (used + needed >= allocated)
- {
- unsigned short *new_cpus;
-
- if (allocated < 64)
- allocated = 64;
- if (allocated > needed)
- allocated <<= 1;
- else
- allocated += 2 * needed;
- new_cpus = realloc (cpus, allocated * sizeof (unsigned short));
- if (new_cpus == NULL)
- {
- free (cpus);
- gomp_error ("not enough memory to store GOMP_CPU_AFFINITY list");
- return false;
- }
-
- cpus = new_cpus;
- }
-
- while (needed--)
- {
- cpus[used++] = cpu_beg;
- cpu_beg += cpu_stride;
- }
-
- while (*env == ' ' || *env == '\t')
- env++;
-
- if (*env == ',')
- env++;
- else if (*env == '\0')
- break;
- }
- while (1);
-
- gomp_cpu_affinity = cpus;
- gomp_cpu_affinity_len = used;
- return true;
-
- invalid:
- gomp_error ("Invalid value for enviroment variable GOMP_CPU_AFFINITY");
- return false;
-}
-
-static void __attribute__((constructor))
-initialize_env (void)
-{
- unsigned long stacksize;
- int wait_policy;
-
- /* Do a compile time check that mkomp_h.pl did good job. */
- omp_check_defines ();
-
- parse_schedule ();
- parse_boolean ("OMP_DYNAMIC", &gomp_global_icv.dyn_var);
- parse_boolean ("OMP_NESTED", &gomp_global_icv.nest_var);
- parse_unsigned_long ("OMP_MAX_ACTIVE_LEVELS", &gomp_max_active_levels_var);
- parse_unsigned_long ("OMP_THREAD_LIMIT", &gomp_thread_limit_var);
- if (gomp_thread_limit_var != ULONG_MAX)
- gomp_remaining_threads_count = gomp_thread_limit_var - 1;
-#ifndef HAVE_SYNC_BUILTINS
- gomp_mutex_init (&gomp_remaining_threads_lock);
-#endif
- gomp_init_num_threads ();
- gomp_available_cpus = gomp_global_icv.nthreads_var;
- if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_global_icv.nthreads_var))
- gomp_global_icv.nthreads_var = gomp_available_cpus;
- if (parse_affinity ())
- gomp_init_affinity ();
- wait_policy = parse_wait_policy ();
- if (!parse_spincount ("GOMP_SPINCOUNT", &gomp_spin_count_var))
- {
- /* Using a rough estimation of 100000 spins per msec,
- use 5 min blocking for OMP_WAIT_POLICY=active,
- 200 msec blocking when OMP_WAIT_POLICY is not specificed
- and 0 when OMP_WAIT_POLICY=passive.
- Depending on the CPU speed, this can be e.g. 5 times longer
- or 5 times shorter. */
- if (wait_policy > 0)
- gomp_spin_count_var = 30000000000LL;
- else if (wait_policy < 0)
- gomp_spin_count_var = 20000000LL;
- }
- /* gomp_throttled_spin_count_var is used when there are more libgomp
- managed threads than available CPUs. Use very short spinning. */
- if (wait_policy > 0)
- gomp_throttled_spin_count_var = 1000LL;
- else if (wait_policy < 0)
- gomp_throttled_spin_count_var = 100LL;
- if (gomp_throttled_spin_count_var > gomp_spin_count_var)
- gomp_throttled_spin_count_var = gomp_spin_count_var;
-
- /* Not strictly environment related, but ordering constructors is tricky. */
- pthread_attr_init (&gomp_thread_attr);
- pthread_attr_setdetachstate (&gomp_thread_attr, PTHREAD_CREATE_DETACHED);
-
- if (parse_stacksize ("OMP_STACKSIZE", &stacksize)
- || parse_stacksize ("GOMP_STACKSIZE", &stacksize))
- {
- int err;
-
- err = pthread_attr_setstacksize (&gomp_thread_attr, stacksize);
-
-#ifdef PTHREAD_STACK_MIN
- if (err == EINVAL)
- {
- if (stacksize < PTHREAD_STACK_MIN)
- gomp_error ("Stack size less than minimum of %luk",
- PTHREAD_STACK_MIN / 1024ul
- + (PTHREAD_STACK_MIN % 1024 != 0));
- else
- gomp_error ("Stack size larger than system limit");
- }
- else
-#endif
- if (err != 0)
- gomp_error ("Stack size change failed: %s", strerror (err));
- }
-}
-
-
-/* The public OpenMP API routines that access these variables. */
-
-void
-omp_set_num_threads (int n)
-{
- struct gomp_task_icv *icv = gomp_icv (true);
- icv->nthreads_var = (n > 0 ? n : 1);
-}
-
-void
-omp_set_dynamic (int val)
-{
- struct gomp_task_icv *icv = gomp_icv (true);
- icv->dyn_var = val;
-}
-
-int
-omp_get_dynamic (void)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- return icv->dyn_var;
-}
-
-void
-omp_set_nested (int val)
-{
- struct gomp_task_icv *icv = gomp_icv (true);
- icv->nest_var = val;
-}
-
-int
-omp_get_nested (void)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- return icv->nest_var;
-}
-
-void
-omp_set_schedule (omp_sched_t kind, int modifier)
-{
- struct gomp_task_icv *icv = gomp_icv (true);
- switch (kind)
- {
- case omp_sched_static:
- if (modifier < 1)
- modifier = 0;
- icv->run_sched_modifier = modifier;
- break;
- case omp_sched_dynamic:
- case omp_sched_guided:
- if (modifier < 1)
- modifier = 1;
- icv->run_sched_modifier = modifier;
- break;
- case omp_sched_auto:
- break;
- default:
- return;
- }
- icv->run_sched_var = kind;
-}
-
-void
-omp_get_schedule (omp_sched_t *kind, int *modifier)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- *kind = icv->run_sched_var;
- *modifier = icv->run_sched_modifier;
-}
-
-int
-omp_get_max_threads (void)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- return icv->nthreads_var;
-}
-
-int
-omp_get_thread_limit (void)
-{
- return gomp_thread_limit_var > INT_MAX ? INT_MAX : gomp_thread_limit_var;
-}
-
-void
-omp_set_max_active_levels (int max_levels)
-{
- if (max_levels > 0)
- gomp_max_active_levels_var = max_levels;
-}
-
-int
-omp_get_max_active_levels (void)
-{
- return gomp_max_active_levels_var;
-}
-
-ialias (omp_set_dynamic)
-ialias (omp_set_nested)
-ialias (omp_set_num_threads)
-ialias (omp_get_dynamic)
-ialias (omp_get_nested)
-ialias (omp_set_schedule)
-ialias (omp_get_schedule)
-ialias (omp_get_max_threads)
-ialias (omp_get_thread_limit)
-ialias (omp_set_max_active_levels)
-ialias (omp_get_max_active_levels)
diff --git a/gcc-4.4.3/libgomp/error.c b/gcc-4.4.3/libgomp/error.c
deleted file mode 100644
index ad829b65c..000000000
--- a/gcc-4.4.3/libgomp/error.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains routines used to signal errors. Most places in the
- OpenMP API do not make any provision for failure, so we can't just
- defer the decision on reporting the problem to the user; we must do it
- ourselves or not at all. */
-/* ??? Is this about what other implementations do? Assume stderr hasn't
- been pointed somewhere unsafe? */
-
-#include "libgomp.h"
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-static void
-gomp_verror (const char *fmt, va_list list)
-{
- fputs ("\nlibgomp: ", stderr);
- vfprintf (stderr, fmt, list);
- fputc ('\n', stderr);
-}
-
-void
-gomp_error (const char *fmt, ...)
-{
- va_list list;
-
- va_start (list, fmt);
- gomp_verror (fmt, list);
- va_end (list);
-}
-
-void
-gomp_fatal (const char *fmt, ...)
-{
- va_list list;
-
- va_start (list, fmt);
- gomp_verror (fmt, list);
- va_end (list);
-
- exit (EXIT_FAILURE);
-}
diff --git a/gcc-4.4.3/libgomp/fortran.c b/gcc-4.4.3/libgomp/fortran.c
deleted file mode 100644
index 53469f547..000000000
--- a/gcc-4.4.3/libgomp/fortran.c
+++ /dev/null
@@ -1,427 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains Fortran wrapper routines. */
-
-#include "libgomp.h"
-#include "libgomp_f.h"
-#include <stdlib.h>
-
-#ifdef HAVE_ATTRIBUTE_ALIAS
-/* Use internal aliases if possible. */
-# define ULP STR1(__USER_LABEL_PREFIX__)
-# define STR1(x) STR2(x)
-# define STR2(x) #x
-# define ialias_redirect(fn) \
- extern __typeof (fn) fn __asm__ (ULP "gomp_ialias_" #fn) attribute_hidden;
-# ifndef LIBGOMP_GNU_SYMBOL_VERSIONING
-ialias_redirect (omp_init_lock)
-ialias_redirect (omp_init_nest_lock)
-ialias_redirect (omp_destroy_lock)
-ialias_redirect (omp_destroy_nest_lock)
-ialias_redirect (omp_set_lock)
-ialias_redirect (omp_set_nest_lock)
-ialias_redirect (omp_unset_lock)
-ialias_redirect (omp_unset_nest_lock)
-ialias_redirect (omp_test_lock)
-ialias_redirect (omp_test_nest_lock)
-# endif
-ialias_redirect (omp_set_dynamic)
-ialias_redirect (omp_set_nested)
-ialias_redirect (omp_set_num_threads)
-ialias_redirect (omp_get_dynamic)
-ialias_redirect (omp_get_nested)
-ialias_redirect (omp_in_parallel)
-ialias_redirect (omp_get_max_threads)
-ialias_redirect (omp_get_num_procs)
-ialias_redirect (omp_get_num_threads)
-ialias_redirect (omp_get_thread_num)
-ialias_redirect (omp_get_wtick)
-ialias_redirect (omp_get_wtime)
-ialias_redirect (omp_set_schedule)
-ialias_redirect (omp_get_schedule)
-ialias_redirect (omp_get_thread_limit)
-ialias_redirect (omp_set_max_active_levels)
-ialias_redirect (omp_get_max_active_levels)
-ialias_redirect (omp_get_level)
-ialias_redirect (omp_get_ancestor_thread_num)
-ialias_redirect (omp_get_team_size)
-ialias_redirect (omp_get_active_level)
-#endif
-
-#ifndef LIBGOMP_GNU_SYMBOL_VERSIONING
-# define gomp_init_lock__30 omp_init_lock_
-# define gomp_destroy_lock__30 omp_destroy_lock_
-# define gomp_set_lock__30 omp_set_lock_
-# define gomp_unset_lock__30 omp_unset_lock_
-# define gomp_test_lock__30 omp_test_lock_
-# define gomp_init_nest_lock__30 omp_init_nest_lock_
-# define gomp_destroy_nest_lock__30 omp_destroy_nest_lock_
-# define gomp_set_nest_lock__30 omp_set_nest_lock_
-# define gomp_unset_nest_lock__30 omp_unset_nest_lock_
-# define gomp_test_nest_lock__30 omp_test_nest_lock_
-#endif
-
-void
-gomp_init_lock__30 (omp_lock_arg_t lock)
-{
-#ifndef OMP_LOCK_DIRECT
- omp_lock_arg (lock) = malloc (sizeof (omp_lock_t));
-#endif
- gomp_init_lock_30 (omp_lock_arg (lock));
-}
-
-void
-gomp_init_nest_lock__30 (omp_nest_lock_arg_t lock)
-{
-#ifndef OMP_NEST_LOCK_DIRECT
- omp_nest_lock_arg (lock) = malloc (sizeof (omp_nest_lock_t));
-#endif
- gomp_init_nest_lock_30 (omp_nest_lock_arg (lock));
-}
-
-void
-gomp_destroy_lock__30 (omp_lock_arg_t lock)
-{
- gomp_destroy_lock_30 (omp_lock_arg (lock));
-#ifndef OMP_LOCK_DIRECT
- free (omp_lock_arg (lock));
- omp_lock_arg (lock) = NULL;
-#endif
-}
-
-void
-gomp_destroy_nest_lock__30 (omp_nest_lock_arg_t lock)
-{
- gomp_destroy_nest_lock_30 (omp_nest_lock_arg (lock));
-#ifndef OMP_NEST_LOCK_DIRECT
- free (omp_nest_lock_arg (lock));
- omp_nest_lock_arg (lock) = NULL;
-#endif
-}
-
-void
-gomp_set_lock__30 (omp_lock_arg_t lock)
-{
- gomp_set_lock_30 (omp_lock_arg (lock));
-}
-
-void
-gomp_set_nest_lock__30 (omp_nest_lock_arg_t lock)
-{
- gomp_set_nest_lock_30 (omp_nest_lock_arg (lock));
-}
-
-void
-gomp_unset_lock__30 (omp_lock_arg_t lock)
-{
- gomp_unset_lock_30 (omp_lock_arg (lock));
-}
-
-void
-gomp_unset_nest_lock__30 (omp_nest_lock_arg_t lock)
-{
- gomp_unset_nest_lock_30 (omp_nest_lock_arg (lock));
-}
-
-int32_t
-gomp_test_lock__30 (omp_lock_arg_t lock)
-{
- return gomp_test_lock_30 (omp_lock_arg (lock));
-}
-
-int32_t
-gomp_test_nest_lock__30 (omp_nest_lock_arg_t lock)
-{
- return gomp_test_nest_lock_30 (omp_nest_lock_arg (lock));
-}
-
-#ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
-void
-gomp_init_lock__25 (omp_lock_25_arg_t lock)
-{
-#ifndef OMP_LOCK_25_DIRECT
- omp_lock_25_arg (lock) = malloc (sizeof (omp_lock_25_t));
-#endif
- gomp_init_lock_25 (omp_lock_25_arg (lock));
-}
-
-void
-gomp_init_nest_lock__25 (omp_nest_lock_25_arg_t lock)
-{
-#ifndef OMP_NEST_LOCK_25_DIRECT
- omp_nest_lock_25_arg (lock) = malloc (sizeof (omp_nest_lock_25_t));
-#endif
- gomp_init_nest_lock_25 (omp_nest_lock_25_arg (lock));
-}
-
-void
-gomp_destroy_lock__25 (omp_lock_25_arg_t lock)
-{
- gomp_destroy_lock_25 (omp_lock_25_arg (lock));
-#ifndef OMP_LOCK_25_DIRECT
- free (omp_lock_25_arg (lock));
- omp_lock_25_arg (lock) = NULL;
-#endif
-}
-
-void
-gomp_destroy_nest_lock__25 (omp_nest_lock_25_arg_t lock)
-{
- gomp_destroy_nest_lock_25 (omp_nest_lock_25_arg (lock));
-#ifndef OMP_NEST_LOCK_25_DIRECT
- free (omp_nest_lock_25_arg (lock));
- omp_nest_lock_25_arg (lock) = NULL;
-#endif
-}
-
-void
-gomp_set_lock__25 (omp_lock_25_arg_t lock)
-{
- gomp_set_lock_25 (omp_lock_25_arg (lock));
-}
-
-void
-gomp_set_nest_lock__25 (omp_nest_lock_25_arg_t lock)
-{
- gomp_set_nest_lock_25 (omp_nest_lock_25_arg (lock));
-}
-
-void
-gomp_unset_lock__25 (omp_lock_25_arg_t lock)
-{
- gomp_unset_lock_25 (omp_lock_25_arg (lock));
-}
-
-void
-gomp_unset_nest_lock__25 (omp_nest_lock_25_arg_t lock)
-{
- gomp_unset_nest_lock_25 (omp_nest_lock_25_arg (lock));
-}
-
-int32_t
-gomp_test_lock__25 (omp_lock_25_arg_t lock)
-{
- return gomp_test_lock_25 (omp_lock_25_arg (lock));
-}
-
-int32_t
-gomp_test_nest_lock__25 (omp_nest_lock_25_arg_t lock)
-{
- return gomp_test_nest_lock_25 (omp_nest_lock_25_arg (lock));
-}
-
-omp_lock_symver (omp_init_lock_)
-omp_lock_symver (omp_destroy_lock_)
-omp_lock_symver (omp_set_lock_)
-omp_lock_symver (omp_unset_lock_)
-omp_lock_symver (omp_test_lock_)
-omp_lock_symver (omp_init_nest_lock_)
-omp_lock_symver (omp_destroy_nest_lock_)
-omp_lock_symver (omp_set_nest_lock_)
-omp_lock_symver (omp_unset_nest_lock_)
-omp_lock_symver (omp_test_nest_lock_)
-#endif
-
-void
-omp_set_dynamic_ (const int32_t *set)
-{
- omp_set_dynamic (*set);
-}
-
-void
-omp_set_dynamic_8_ (const int64_t *set)
-{
- omp_set_dynamic (*set);
-}
-
-void
-omp_set_nested_ (const int32_t *set)
-{
- omp_set_nested (*set);
-}
-
-void
-omp_set_nested_8_ (const int64_t *set)
-{
- omp_set_nested (*set);
-}
-
-void
-omp_set_num_threads_ (const int32_t *set)
-{
- omp_set_num_threads (*set);
-}
-
-void
-omp_set_num_threads_8_ (const int64_t *set)
-{
- omp_set_num_threads (*set);
-}
-
-int32_t
-omp_get_dynamic_ (void)
-{
- return omp_get_dynamic ();
-}
-
-int32_t
-omp_get_nested_ (void)
-{
- return omp_get_nested ();
-}
-
-int32_t
-omp_in_parallel_ (void)
-{
- return omp_in_parallel ();
-}
-
-int32_t
-omp_get_max_threads_ (void)
-{
- return omp_get_max_threads ();
-}
-
-int32_t
-omp_get_num_procs_ (void)
-{
- return omp_get_num_procs ();
-}
-
-int32_t
-omp_get_num_threads_ (void)
-{
- return omp_get_num_threads ();
-}
-
-int32_t
-omp_get_thread_num_ (void)
-{
- return omp_get_thread_num ();
-}
-
-double
-omp_get_wtick_ (void)
-{
- return omp_get_wtick ();
-}
-
-double
-omp_get_wtime_ (void)
-{
- return omp_get_wtime ();
-}
-
-void
-omp_set_schedule_ (const int32_t *kind, const int32_t *modifier)
-{
- omp_set_schedule (*kind, *modifier);
-}
-
-void
-omp_set_schedule_8_ (const int32_t *kind, const int64_t *modifier)
-{
- omp_set_schedule (*kind, *modifier);
-}
-
-void
-omp_get_schedule_ (int32_t *kind, int32_t *modifier)
-{
- omp_sched_t k;
- int m;
- omp_get_schedule (&k, &m);
- *kind = k;
- *modifier = m;
-}
-
-void
-omp_get_schedule_8_ (int32_t *kind, int64_t *modifier)
-{
- omp_sched_t k;
- int m;
- omp_get_schedule (&k, &m);
- *kind = k;
- *modifier = m;
-}
-
-int32_t
-omp_get_thread_limit_ (void)
-{
- return omp_get_thread_limit ();
-}
-
-void
-omp_set_max_active_levels_ (const int32_t *levels)
-{
- omp_set_max_active_levels (*levels);
-}
-
-void
-omp_set_max_active_levels_8_ (const int64_t *levels)
-{
- omp_set_max_active_levels (*levels);
-}
-
-int32_t
-omp_get_max_active_levels_ (void)
-{
- return omp_get_max_active_levels ();
-}
-
-int32_t
-omp_get_level_ (void)
-{
- return omp_get_level ();
-}
-
-int32_t
-omp_get_ancestor_thread_num_ (const int32_t *level)
-{
- return omp_get_ancestor_thread_num (*level);
-}
-
-int32_t
-omp_get_ancestor_thread_num_8_ (const int64_t *level)
-{
- return omp_get_ancestor_thread_num (*level);
-}
-
-int32_t
-omp_get_team_size_ (const int32_t *level)
-{
- return omp_get_team_size (*level);
-}
-
-int32_t
-omp_get_team_size_8_ (const int64_t *level)
-{
- return omp_get_team_size (*level);
-}
-
-int32_t
-omp_get_active_level_ (void)
-{
- return omp_get_active_level ();
-}
diff --git a/gcc-4.4.3/libgomp/iter.c b/gcc-4.4.3/libgomp/iter.c
deleted file mode 100644
index 9ec4dbd22..000000000
--- a/gcc-4.4.3/libgomp/iter.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains routines for managing work-share iteration, both
- for loops and sections. */
-
-#include "libgomp.h"
-#include <stdlib.h>
-
-
-/* This function implements the STATIC scheduling method. The caller should
- iterate *pstart <= x < *pend. Return zero if there are more iterations
- to perform; nonzero if not. Return less than 0 if this thread had
- received the absolutely last iteration. */
-
-int
-gomp_iter_static_next (long *pstart, long *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned long nthreads = team ? team->nthreads : 1;
-
- if (thr->ts.static_trip == -1)
- return -1;
-
- /* Quick test for degenerate teams and orphaned constructs. */
- if (nthreads == 1)
- {
- *pstart = ws->next;
- *pend = ws->end;
- thr->ts.static_trip = -1;
- return ws->next == ws->end;
- }
-
- /* We interpret chunk_size zero as "unspecified", which means that we
- should break up the iterations such that each thread makes only one
- trip through the outer loop. */
- if (ws->chunk_size == 0)
- {
- unsigned long n, q, i;
- unsigned long s0, e0;
- long s, e;
-
- if (thr->ts.static_trip > 0)
- return 1;
-
- /* Compute the total number of iterations. */
- s = ws->incr + (ws->incr > 0 ? -1 : 1);
- n = (ws->end - ws->next + s) / ws->incr;
- i = thr->ts.team_id;
-
- /* Compute the "zero-based" start and end points. That is, as
- if the loop began at zero and incremented by one. */
- q = n / nthreads;
- q += (q * nthreads != n);
- s0 = q * i;
- e0 = s0 + q;
- if (e0 > n)
- e0 = n;
-
- /* Notice when no iterations allocated for this thread. */
- if (s0 >= e0)
- {
- thr->ts.static_trip = 1;
- return 1;
- }
-
- /* Transform these to the actual start and end numbers. */
- s = (long)s0 * ws->incr + ws->next;
- e = (long)e0 * ws->incr + ws->next;
-
- *pstart = s;
- *pend = e;
- thr->ts.static_trip = (e0 == n ? -1 : 1);
- return 0;
- }
- else
- {
- unsigned long n, s0, e0, i, c;
- long s, e;
-
- /* Otherwise, each thread gets exactly chunk_size iterations
- (if available) each time through the loop. */
-
- s = ws->incr + (ws->incr > 0 ? -1 : 1);
- n = (ws->end - ws->next + s) / ws->incr;
- i = thr->ts.team_id;
- c = ws->chunk_size;
-
- /* Initial guess is a C sized chunk positioned nthreads iterations
- in, offset by our thread number. */
- s0 = (thr->ts.static_trip * nthreads + i) * c;
- e0 = s0 + c;
-
- /* Detect overflow. */
- if (s0 >= n)
- return 1;
- if (e0 > n)
- e0 = n;
-
- /* Transform these to the actual start and end numbers. */
- s = (long)s0 * ws->incr + ws->next;
- e = (long)e0 * ws->incr + ws->next;
-
- *pstart = s;
- *pend = e;
-
- if (e0 == n)
- thr->ts.static_trip = -1;
- else
- thr->ts.static_trip++;
- return 0;
- }
-}
-
-
-/* This function implements the DYNAMIC scheduling method. Arguments are
- as for gomp_iter_static_next. This function must be called with ws->lock
- held. */
-
-bool
-gomp_iter_dynamic_next_locked (long *pstart, long *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- long start, end, chunk, left;
-
- start = ws->next;
- if (start == ws->end)
- return false;
-
- chunk = ws->chunk_size;
- left = ws->end - start;
- if (ws->incr < 0)
- {
- if (chunk < left)
- chunk = left;
- }
- else
- {
- if (chunk > left)
- chunk = left;
- }
- end = start + chunk;
-
- ws->next = end;
- *pstart = start;
- *pend = end;
- return true;
-}
-
-
-#ifdef HAVE_SYNC_BUILTINS
-/* Similar, but doesn't require the lock held, and uses compare-and-swap
- instead. Note that the only memory value that changes is ws->next. */
-
-bool
-gomp_iter_dynamic_next (long *pstart, long *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- long start, end, nend, chunk, incr;
-
- end = ws->end;
- incr = ws->incr;
- chunk = ws->chunk_size;
-
- if (__builtin_expect (ws->mode, 1))
- {
- long tmp = __sync_fetch_and_add (&ws->next, chunk);
- if (incr > 0)
- {
- if (tmp >= end)
- return false;
- nend = tmp + chunk;
- if (nend > end)
- nend = end;
- *pstart = tmp;
- *pend = nend;
- return true;
- }
- else
- {
- if (tmp <= end)
- return false;
- nend = tmp + chunk;
- if (nend < end)
- nend = end;
- *pstart = tmp;
- *pend = nend;
- return true;
- }
- }
-
- start = ws->next;
- while (1)
- {
- long left = end - start;
- long tmp;
-
- if (start == end)
- return false;
-
- if (incr < 0)
- {
- if (chunk < left)
- chunk = left;
- }
- else
- {
- if (chunk > left)
- chunk = left;
- }
- nend = start + chunk;
-
- tmp = __sync_val_compare_and_swap (&ws->next, start, nend);
- if (__builtin_expect (tmp == start, 1))
- break;
-
- start = tmp;
- }
-
- *pstart = start;
- *pend = nend;
- return true;
-}
-#endif /* HAVE_SYNC_BUILTINS */
-
-
-/* This function implements the GUIDED scheduling method. Arguments are
- as for gomp_iter_static_next. This function must be called with the
- work share lock held. */
-
-bool
-gomp_iter_guided_next_locked (long *pstart, long *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- struct gomp_team *team = thr->ts.team;
- unsigned long nthreads = team ? team->nthreads : 1;
- unsigned long n, q;
- long start, end;
-
- if (ws->next == ws->end)
- return false;
-
- start = ws->next;
- n = (ws->end - start) / ws->incr;
- q = (n + nthreads - 1) / nthreads;
-
- if (q < ws->chunk_size)
- q = ws->chunk_size;
- if (q <= n)
- end = start + q * ws->incr;
- else
- end = ws->end;
-
- ws->next = end;
- *pstart = start;
- *pend = end;
- return true;
-}
-
-#ifdef HAVE_SYNC_BUILTINS
-/* Similar, but doesn't require the lock held, and uses compare-and-swap
- instead. Note that the only memory value that changes is ws->next. */
-
-bool
-gomp_iter_guided_next (long *pstart, long *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- struct gomp_team *team = thr->ts.team;
- unsigned long nthreads = team ? team->nthreads : 1;
- long start, end, nend, incr;
- unsigned long chunk_size;
-
- start = ws->next;
- end = ws->end;
- incr = ws->incr;
- chunk_size = ws->chunk_size;
-
- while (1)
- {
- unsigned long n, q;
- long tmp;
-
- if (start == end)
- return false;
-
- n = (end - start) / incr;
- q = (n + nthreads - 1) / nthreads;
-
- if (q < chunk_size)
- q = chunk_size;
- if (__builtin_expect (q <= n, 1))
- nend = start + q * incr;
- else
- nend = end;
-
- tmp = __sync_val_compare_and_swap (&ws->next, start, nend);
- if (__builtin_expect (tmp == start, 1))
- break;
-
- start = tmp;
- }
-
- *pstart = start;
- *pend = nend;
- return true;
-}
-#endif /* HAVE_SYNC_BUILTINS */
diff --git a/gcc-4.4.3/libgomp/iter_ull.c b/gcc-4.4.3/libgomp/iter_ull.c
deleted file mode 100644
index 1754e6333..000000000
--- a/gcc-4.4.3/libgomp/iter_ull.c
+++ /dev/null
@@ -1,341 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains routines for managing work-share iteration, both
- for loops and sections. */
-
-#include "libgomp.h"
-#include <stdlib.h>
-
-typedef unsigned long long gomp_ull;
-
-/* This function implements the STATIC scheduling method. The caller should
- iterate *pstart <= x < *pend. Return zero if there are more iterations
- to perform; nonzero if not. Return less than 0 if this thread had
- received the absolutely last iteration. */
-
-int
-gomp_iter_ull_static_next (gomp_ull *pstart, gomp_ull *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned long nthreads = team ? team->nthreads : 1;
-
- if (thr->ts.static_trip == -1)
- return -1;
-
- /* Quick test for degenerate teams and orphaned constructs. */
- if (nthreads == 1)
- {
- *pstart = ws->next_ull;
- *pend = ws->end_ull;
- thr->ts.static_trip = -1;
- return ws->next_ull == ws->end_ull;
- }
-
- /* We interpret chunk_size zero as "unspecified", which means that we
- should break up the iterations such that each thread makes only one
- trip through the outer loop. */
- if (ws->chunk_size_ull == 0)
- {
- gomp_ull n, q, i, s0, e0, s, e;
-
- if (thr->ts.static_trip > 0)
- return 1;
-
- /* Compute the total number of iterations. */
- if (__builtin_expect (ws->mode, 0) == 0)
- n = (ws->end_ull - ws->next_ull + ws->incr_ull - 1) / ws->incr_ull;
- else
- n = (ws->next_ull - ws->end_ull - ws->incr_ull - 1) / -ws->incr_ull;
- i = thr->ts.team_id;
-
- /* Compute the "zero-based" start and end points. That is, as
- if the loop began at zero and incremented by one. */
- q = n / nthreads;
- q += (q * nthreads != n);
- s0 = q * i;
- e0 = s0 + q;
- if (e0 > n)
- e0 = n;
-
- /* Notice when no iterations allocated for this thread. */
- if (s0 >= e0)
- {
- thr->ts.static_trip = 1;
- return 1;
- }
-
- /* Transform these to the actual start and end numbers. */
- s = s0 * ws->incr_ull + ws->next_ull;
- e = e0 * ws->incr_ull + ws->next_ull;
-
- *pstart = s;
- *pend = e;
- thr->ts.static_trip = (e0 == n ? -1 : 1);
- return 0;
- }
- else
- {
- gomp_ull n, s0, e0, i, c, s, e;
-
- /* Otherwise, each thread gets exactly chunk_size iterations
- (if available) each time through the loop. */
-
- if (__builtin_expect (ws->mode, 0) == 0)
- n = (ws->end_ull - ws->next_ull + ws->incr_ull - 1) / ws->incr_ull;
- else
- n = (ws->next_ull - ws->end_ull - ws->incr_ull - 1) / -ws->incr_ull;
- i = thr->ts.team_id;
- c = ws->chunk_size_ull;
-
- /* Initial guess is a C sized chunk positioned nthreads iterations
- in, offset by our thread number. */
- s0 = (thr->ts.static_trip * (gomp_ull) nthreads + i) * c;
- e0 = s0 + c;
-
- /* Detect overflow. */
- if (s0 >= n)
- return 1;
- if (e0 > n)
- e0 = n;
-
- /* Transform these to the actual start and end numbers. */
- s = s0 * ws->incr_ull + ws->next_ull;
- e = e0 * ws->incr_ull + ws->next_ull;
-
- *pstart = s;
- *pend = e;
-
- if (e0 == n)
- thr->ts.static_trip = -1;
- else
- thr->ts.static_trip++;
- return 0;
- }
-}
-
-
-/* This function implements the DYNAMIC scheduling method. Arguments are
- as for gomp_iter_ull_static_next. This function must be called with
- ws->lock held. */
-
-bool
-gomp_iter_ull_dynamic_next_locked (gomp_ull *pstart, gomp_ull *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- gomp_ull start, end, chunk, left;
-
- start = ws->next_ull;
- if (start == ws->end_ull)
- return false;
-
- chunk = ws->chunk_size_ull;
- left = ws->end_ull - start;
- if (__builtin_expect (ws->mode & 2, 0))
- {
- if (chunk < left)
- chunk = left;
- }
- else
- {
- if (chunk > left)
- chunk = left;
- }
- end = start + chunk;
-
- ws->next_ull = end;
- *pstart = start;
- *pend = end;
- return true;
-}
-
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
-/* Similar, but doesn't require the lock held, and uses compare-and-swap
- instead. Note that the only memory value that changes is ws->next_ull. */
-
-bool
-gomp_iter_ull_dynamic_next (gomp_ull *pstart, gomp_ull *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- gomp_ull start, end, nend, chunk;
-
- end = ws->end_ull;
- chunk = ws->chunk_size_ull;
-
- if (__builtin_expect (ws->mode & 1, 1))
- {
- gomp_ull tmp = __sync_fetch_and_add (&ws->next_ull, chunk);
- if (__builtin_expect (ws->mode & 2, 0) == 0)
- {
- if (tmp >= end)
- return false;
- nend = tmp + chunk;
- if (nend > end)
- nend = end;
- *pstart = tmp;
- *pend = nend;
- return true;
- }
- else
- {
- if (tmp <= end)
- return false;
- nend = tmp + chunk;
- if (nend < end)
- nend = end;
- *pstart = tmp;
- *pend = nend;
- return true;
- }
- }
-
- start = ws->next_ull;
- while (1)
- {
- gomp_ull left = end - start;
- gomp_ull tmp;
-
- if (start == end)
- return false;
-
- if (__builtin_expect (ws->mode & 2, 0))
- {
- if (chunk < left)
- chunk = left;
- }
- else
- {
- if (chunk > left)
- chunk = left;
- }
- nend = start + chunk;
-
- tmp = __sync_val_compare_and_swap (&ws->next_ull, start, nend);
- if (__builtin_expect (tmp == start, 1))
- break;
-
- start = tmp;
- }
-
- *pstart = start;
- *pend = nend;
- return true;
-}
-#endif /* HAVE_SYNC_BUILTINS */
-
-
-/* This function implements the GUIDED scheduling method. Arguments are
- as for gomp_iter_ull_static_next. This function must be called with the
- work share lock held. */
-
-bool
-gomp_iter_ull_guided_next_locked (gomp_ull *pstart, gomp_ull *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- struct gomp_team *team = thr->ts.team;
- gomp_ull nthreads = team ? team->nthreads : 1;
- gomp_ull n, q;
- gomp_ull start, end;
-
- if (ws->next_ull == ws->end_ull)
- return false;
-
- start = ws->next_ull;
- if (__builtin_expect (ws->mode, 0) == 0)
- n = (ws->end_ull - start) / ws->incr_ull;
- else
- n = (start - ws->end_ull) / -ws->incr_ull;
- q = (n + nthreads - 1) / nthreads;
-
- if (q < ws->chunk_size_ull)
- q = ws->chunk_size_ull;
- if (q <= n)
- end = start + q * ws->incr_ull;
- else
- end = ws->end_ull;
-
- ws->next_ull = end;
- *pstart = start;
- *pend = end;
- return true;
-}
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
-/* Similar, but doesn't require the lock held, and uses compare-and-swap
- instead. Note that the only memory value that changes is ws->next_ull. */
-
-bool
-gomp_iter_ull_guided_next (gomp_ull *pstart, gomp_ull *pend)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_work_share *ws = thr->ts.work_share;
- struct gomp_team *team = thr->ts.team;
- gomp_ull nthreads = team ? team->nthreads : 1;
- gomp_ull start, end, nend, incr;
- gomp_ull chunk_size;
-
- start = ws->next_ull;
- end = ws->end_ull;
- incr = ws->incr_ull;
- chunk_size = ws->chunk_size_ull;
-
- while (1)
- {
- gomp_ull n, q;
- gomp_ull tmp;
-
- if (start == end)
- return false;
-
- if (__builtin_expect (ws->mode, 0) == 0)
- n = (end - start) / incr;
- else
- n = (start - end) / -incr;
- q = (n + nthreads - 1) / nthreads;
-
- if (q < chunk_size)
- q = chunk_size;
- if (__builtin_expect (q <= n, 1))
- nend = start + q * incr;
- else
- nend = end;
-
- tmp = __sync_val_compare_and_swap (&ws->next_ull, start, nend);
- if (__builtin_expect (tmp == start, 1))
- break;
-
- start = tmp;
- }
-
- *pstart = start;
- *pend = nend;
- return true;
-}
-#endif /* HAVE_SYNC_BUILTINS */
diff --git a/gcc-4.4.3/libgomp/libgomp.h b/gcc-4.4.3/libgomp/libgomp.h
deleted file mode 100644
index 1d21cc09c..000000000
--- a/gcc-4.4.3/libgomp/libgomp.h
+++ /dev/null
@@ -1,576 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains data types and function declarations that are not
- part of the official OpenMP user interface. There are declarations
- in here that are part of the GNU OpenMP ABI, in that the compiler is
- required to know about them and use them.
-
- The convention is that the all caps prefix "GOMP" is used group items
- that are part of the external ABI, and the lower case prefix "gomp"
- is used group items that are completely private to the library. */
-
-#ifndef LIBGOMP_H
-#define LIBGOMP_H 1
-
-#include "config.h"
-#include "gstdint.h"
-
-#include <pthread.h>
-#include <stdbool.h>
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility push(hidden)
-#endif
-
-#include "sem.h"
-#include "mutex.h"
-#include "bar.h"
-#include "ptrlock.h"
-
-
-/* This structure contains the data to control one work-sharing construct,
- either a LOOP (FOR/DO) or a SECTIONS. */
-
-enum gomp_schedule_type
-{
- GFS_RUNTIME,
- GFS_STATIC,
- GFS_DYNAMIC,
- GFS_GUIDED,
- GFS_AUTO
-};
-
-struct gomp_work_share
-{
- /* This member records the SCHEDULE clause to be used for this construct.
- The user specification of "runtime" will already have been resolved.
- If this is a SECTIONS construct, this value will always be DYNAMIC. */
- enum gomp_schedule_type sched;
-
- int mode;
-
- union {
- struct {
- /* This is the chunk_size argument to the SCHEDULE clause. */
- long chunk_size;
-
- /* This is the iteration end point. If this is a SECTIONS construct,
- this is the number of contained sections. */
- long end;
-
- /* This is the iteration step. If this is a SECTIONS construct, this
- is always 1. */
- long incr;
- };
-
- struct {
- /* The same as above, but for the unsigned long long loop variants. */
- unsigned long long chunk_size_ull;
- unsigned long long end_ull;
- unsigned long long incr_ull;
- };
- };
-
- /* This is a circular queue that details which threads will be allowed
- into the ordered region and in which order. When a thread allocates
- iterations on which it is going to work, it also registers itself at
- the end of the array. When a thread reaches the ordered region, it
- checks to see if it is the one at the head of the queue. If not, it
- blocks on its RELEASE semaphore. */
- unsigned *ordered_team_ids;
-
- /* This is the number of threads that have registered themselves in
- the circular queue ordered_team_ids. */
- unsigned ordered_num_used;
-
- /* This is the team_id of the currently acknowledged owner of the ordered
- section, or -1u if the ordered section has not been acknowledged by
- any thread. This is distinguished from the thread that is *allowed*
- to take the section next. */
- unsigned ordered_owner;
-
- /* This is the index into the circular queue ordered_team_ids of the
- current thread that's allowed into the ordered reason. */
- unsigned ordered_cur;
-
- /* This is a chain of allocated gomp_work_share blocks, valid only
- in the first gomp_work_share struct in the block. */
- struct gomp_work_share *next_alloc;
-
- /* The above fields are written once during workshare initialization,
- or related to ordered worksharing. Make sure the following fields
- are in a different cache line. */
-
- /* This lock protects the update of the following members. */
- gomp_mutex_t lock __attribute__((aligned (64)));
-
- /* This is the count of the number of threads that have exited the work
- share construct. If the construct was marked nowait, they have moved on
- to other work; otherwise they're blocked on a barrier. The last member
- of the team to exit the work share construct must deallocate it. */
- unsigned threads_completed;
-
- union {
- /* This is the next iteration value to be allocated. In the case of
- GFS_STATIC loops, this the iteration start point and never changes. */
- long next;
-
- /* The same, but with unsigned long long type. */
- unsigned long long next_ull;
-
- /* This is the returned data structure for SINGLE COPYPRIVATE. */
- void *copyprivate;
- };
-
- union {
- /* Link to gomp_work_share struct for next work sharing construct
- encountered after this one. */
- gomp_ptrlock_t next_ws;
-
- /* gomp_work_share structs are chained in the free work share cache
- through this. */
- struct gomp_work_share *next_free;
- };
-
- /* If only few threads are in the team, ordered_team_ids can point
- to this array which fills the padding at the end of this struct. */
- unsigned inline_ordered_team_ids[0];
-};
-
-/* This structure contains all of the thread-local data associated with
- a thread team. This is the data that must be saved when a thread
- encounters a nested PARALLEL construct. */
-
-struct gomp_team_state
-{
- /* This is the team of which the thread is currently a member. */
- struct gomp_team *team;
-
- /* This is the work share construct which this thread is currently
- processing. Recall that with NOWAIT, not all threads may be
- processing the same construct. */
- struct gomp_work_share *work_share;
-
- /* This is the previous work share construct or NULL if there wasn't any.
- When all threads are done with the current work sharing construct,
- the previous one can be freed. The current one can't, as its
- next_ws field is used. */
- struct gomp_work_share *last_work_share;
-
- /* This is the ID of this thread within the team. This value is
- guaranteed to be between 0 and N-1, where N is the number of
- threads in the team. */
- unsigned team_id;
-
- /* Nesting level. */
- unsigned level;
-
- /* Active nesting level. Only active parallel regions are counted. */
- unsigned active_level;
-
-#ifdef HAVE_SYNC_BUILTINS
- /* Number of single stmts encountered. */
- unsigned long single_count;
-#endif
-
- /* For GFS_RUNTIME loops that resolved to GFS_STATIC, this is the
- trip number through the loop. So first time a particular loop
- is encountered this number is 0, the second time through the loop
- is 1, etc. This is unused when the compiler knows in advance that
- the loop is statically scheduled. */
- unsigned long static_trip;
-};
-
-/* These are the OpenMP 3.0 Internal Control Variables described in
- section 2.3.1. Those described as having one copy per task are
- stored within the structure; those described as having one copy
- for the whole program are (naturally) global variables. */
-
-struct gomp_task_icv
-{
- unsigned long nthreads_var;
- enum gomp_schedule_type run_sched_var;
- int run_sched_modifier;
- bool dyn_var;
- bool nest_var;
-};
-
-extern struct gomp_task_icv gomp_global_icv;
-extern unsigned long gomp_thread_limit_var;
-extern unsigned long gomp_remaining_threads_count;
-#ifndef HAVE_SYNC_BUILTINS
-extern gomp_mutex_t gomp_remaining_threads_lock;
-#endif
-extern unsigned long gomp_max_active_levels_var;
-extern unsigned long long gomp_spin_count_var, gomp_throttled_spin_count_var;
-extern unsigned long gomp_available_cpus, gomp_managed_threads;
-
-enum gomp_task_kind
-{
- GOMP_TASK_IMPLICIT,
- GOMP_TASK_IFFALSE,
- GOMP_TASK_WAITING,
- GOMP_TASK_TIED
-};
-
-/* This structure describes a "task" to be run by a thread. */
-
-struct gomp_task
-{
- struct gomp_task *parent;
- struct gomp_task *children;
- struct gomp_task *next_child;
- struct gomp_task *prev_child;
- struct gomp_task *next_queue;
- struct gomp_task *prev_queue;
- struct gomp_task_icv icv;
- void (*fn) (void *);
- void *fn_data;
- enum gomp_task_kind kind;
- bool in_taskwait;
- bool in_tied_task;
- gomp_sem_t taskwait_sem;
-};
-
-/* This structure describes a "team" of threads. These are the threads
- that are spawned by a PARALLEL constructs, as well as the work sharing
- constructs that the team encounters. */
-
-struct gomp_team
-{
- /* This is the number of threads in the current team. */
- unsigned nthreads;
-
- /* This is number of gomp_work_share structs that have been allocated
- as a block last time. */
- unsigned work_share_chunk;
-
- /* This is the saved team state that applied to a master thread before
- the current thread was created. */
- struct gomp_team_state prev_ts;
-
- /* This semaphore should be used by the master thread instead of its
- "native" semaphore in the thread structure. Required for nested
- parallels, as the master is a member of two teams. */
- gomp_sem_t master_release;
-
- /* This points to an array with pointers to the release semaphore
- of the threads in the team. */
- gomp_sem_t **ordered_release;
-
- /* List of gomp_work_share structs chained through next_free fields.
- This is populated and taken off only by the first thread in the
- team encountering a new work sharing construct, in a critical
- section. */
- struct gomp_work_share *work_share_list_alloc;
-
- /* List of gomp_work_share structs freed by free_work_share. New
- entries are atomically added to the start of the list, and
- alloc_work_share can safely only move all but the first entry
- to work_share_list alloc, as free_work_share can happen concurrently
- with alloc_work_share. */
- struct gomp_work_share *work_share_list_free;
-
-#ifdef HAVE_SYNC_BUILTINS
- /* Number of simple single regions encountered by threads in this
- team. */
- unsigned long single_count;
-#else
- /* Mutex protecting addition of workshares to work_share_list_free. */
- gomp_mutex_t work_share_list_free_lock;
-#endif
-
- /* This barrier is used for most synchronization of the team. */
- gomp_barrier_t barrier;
-
- /* Initial work shares, to avoid allocating any gomp_work_share
- structs in the common case. */
- struct gomp_work_share work_shares[8];
-
- gomp_mutex_t task_lock;
- struct gomp_task *task_queue;
- int task_count;
- int task_running_count;
-
- /* This array contains structures for implicit tasks. */
- struct gomp_task implicit_task[];
-};
-
-/* This structure contains all data that is private to libgomp and is
- allocated per thread. */
-
-struct gomp_thread
-{
- /* This is the function that the thread should run upon launch. */
- void (*fn) (void *data);
- void *data;
-
- /* This is the current team state for this thread. The ts.team member
- is NULL only if the thread is idle. */
- struct gomp_team_state ts;
-
- /* This is the task that the thread is currently executing. */
- struct gomp_task *task;
-
- /* This semaphore is used for ordered loops. */
- gomp_sem_t release;
-
- /* user pthread thread pool */
- struct gomp_thread_pool *thread_pool;
-};
-
-
-struct gomp_thread_pool
-{
- /* This array manages threads spawned from the top level, which will
- return to the idle loop once the current PARALLEL construct ends. */
- struct gomp_thread **threads;
- unsigned threads_size;
- unsigned threads_used;
- struct gomp_team *last_team;
-
- /* This barrier holds and releases threads waiting in threads. */
- gomp_barrier_t threads_dock;
-};
-
-/* ... and here is that TLS data. */
-
-#ifdef HAVE_TLS
-extern __thread struct gomp_thread gomp_tls_data;
-static inline struct gomp_thread *gomp_thread (void)
-{
- return &gomp_tls_data;
-}
-#else
-extern pthread_key_t gomp_tls_key;
-static inline struct gomp_thread *gomp_thread (void)
-{
- return pthread_getspecific (gomp_tls_key);
-}
-#endif
-
-extern struct gomp_task_icv *gomp_new_icv (void);
-
-/* Here's how to access the current copy of the ICVs. */
-
-static inline struct gomp_task_icv *gomp_icv (bool write)
-{
- struct gomp_task *task = gomp_thread ()->task;
- if (task)
- return &task->icv;
- else if (write)
- return gomp_new_icv ();
- else
- return &gomp_global_icv;
-}
-
-/* The attributes to be used during thread creation. */
-extern pthread_attr_t gomp_thread_attr;
-
-/* Other variables. */
-
-extern unsigned short *gomp_cpu_affinity;
-extern size_t gomp_cpu_affinity_len;
-
-/* Function prototypes. */
-
-/* affinity.c */
-
-extern void gomp_init_affinity (void);
-extern void gomp_init_thread_affinity (pthread_attr_t *);
-
-/* alloc.c */
-
-extern void *gomp_malloc (size_t) __attribute__((malloc));
-extern void *gomp_malloc_cleared (size_t) __attribute__((malloc));
-extern void *gomp_realloc (void *, size_t);
-
-/* Avoid conflicting prototypes of alloca() in system headers by using
- GCC's builtin alloca(). */
-#define gomp_alloca(x) __builtin_alloca(x)
-
-/* error.c */
-
-extern void gomp_error (const char *, ...)
- __attribute__((format (printf, 1, 2)));
-extern void gomp_fatal (const char *, ...)
- __attribute__((noreturn, format (printf, 1, 2)));
-
-/* iter.c */
-
-extern int gomp_iter_static_next (long *, long *);
-extern bool gomp_iter_dynamic_next_locked (long *, long *);
-extern bool gomp_iter_guided_next_locked (long *, long *);
-
-#ifdef HAVE_SYNC_BUILTINS
-extern bool gomp_iter_dynamic_next (long *, long *);
-extern bool gomp_iter_guided_next (long *, long *);
-#endif
-
-/* iter_ull.c */
-
-extern int gomp_iter_ull_static_next (unsigned long long *,
- unsigned long long *);
-extern bool gomp_iter_ull_dynamic_next_locked (unsigned long long *,
- unsigned long long *);
-extern bool gomp_iter_ull_guided_next_locked (unsigned long long *,
- unsigned long long *);
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
-extern bool gomp_iter_ull_dynamic_next (unsigned long long *,
- unsigned long long *);
-extern bool gomp_iter_ull_guided_next (unsigned long long *,
- unsigned long long *);
-#endif
-
-/* ordered.c */
-
-extern void gomp_ordered_first (void);
-extern void gomp_ordered_last (void);
-extern void gomp_ordered_next (void);
-extern void gomp_ordered_static_init (void);
-extern void gomp_ordered_static_next (void);
-extern void gomp_ordered_sync (void);
-
-/* parallel.c */
-
-extern unsigned gomp_resolve_num_threads (unsigned, unsigned);
-
-/* proc.c (in config/) */
-
-extern void gomp_init_num_threads (void);
-extern unsigned gomp_dynamic_max_threads (void);
-
-/* task.c */
-
-extern void gomp_init_task (struct gomp_task *, struct gomp_task *,
- struct gomp_task_icv *);
-extern void gomp_end_task (void);
-extern void gomp_barrier_handle_tasks (gomp_barrier_state_t);
-
-static void inline
-gomp_finish_task (struct gomp_task *task)
-{
- gomp_sem_destroy (&task->taskwait_sem);
-}
-
-/* team.c */
-
-extern struct gomp_team *gomp_new_team (unsigned);
-extern void gomp_team_start (void (*) (void *), void *, unsigned,
- struct gomp_team *);
-extern void gomp_team_end (void);
-
-/* work.c */
-
-extern void gomp_init_work_share (struct gomp_work_share *, bool, unsigned);
-extern void gomp_fini_work_share (struct gomp_work_share *);
-extern bool gomp_work_share_start (bool);
-extern void gomp_work_share_end (void);
-extern void gomp_work_share_end_nowait (void);
-
-static inline void
-gomp_work_share_init_done (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- if (__builtin_expect (thr->ts.last_work_share != NULL, 1))
- gomp_ptrlock_set (&thr->ts.last_work_share->next_ws, thr->ts.work_share);
-}
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# pragma GCC visibility pop
-#endif
-
-/* Now that we're back to default visibility, include the globals. */
-#include "libgomp_g.h"
-
-/* Include omp.h by parts. */
-#include "omp-lock.h"
-#define _LIBGOMP_OMP_LOCK_DEFINED 1
-#include "omp.h.in"
-
-#if !defined (HAVE_ATTRIBUTE_VISIBILITY) \
- || !defined (HAVE_ATTRIBUTE_ALIAS) \
- || !defined (HAVE_AS_SYMVER_DIRECTIVE) \
- || !defined (PIC)
-# undef LIBGOMP_GNU_SYMBOL_VERSIONING
-#endif
-
-#ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
-extern void gomp_init_lock_30 (omp_lock_t *) __GOMP_NOTHROW;
-extern void gomp_destroy_lock_30 (omp_lock_t *) __GOMP_NOTHROW;
-extern void gomp_set_lock_30 (omp_lock_t *) __GOMP_NOTHROW;
-extern void gomp_unset_lock_30 (omp_lock_t *) __GOMP_NOTHROW;
-extern int gomp_test_lock_30 (omp_lock_t *) __GOMP_NOTHROW;
-extern void gomp_init_nest_lock_30 (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void gomp_destroy_nest_lock_30 (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void gomp_set_nest_lock_30 (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void gomp_unset_nest_lock_30 (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern int gomp_test_nest_lock_30 (omp_nest_lock_t *) __GOMP_NOTHROW;
-
-extern void gomp_init_lock_25 (omp_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_destroy_lock_25 (omp_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_set_lock_25 (omp_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_unset_lock_25 (omp_lock_25_t *) __GOMP_NOTHROW;
-extern int gomp_test_lock_25 (omp_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_init_nest_lock_25 (omp_nest_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_destroy_nest_lock_25 (omp_nest_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_set_nest_lock_25 (omp_nest_lock_25_t *) __GOMP_NOTHROW;
-extern void gomp_unset_nest_lock_25 (omp_nest_lock_25_t *) __GOMP_NOTHROW;
-extern int gomp_test_nest_lock_25 (omp_nest_lock_25_t *) __GOMP_NOTHROW;
-
-# define strong_alias(fn, al) \
- extern __typeof (fn) al __attribute__ ((alias (#fn)));
-# define omp_lock_symver(fn) \
- __asm (".symver g" #fn "_30, " #fn "@@OMP_3.0"); \
- __asm (".symver g" #fn "_25, " #fn "@OMP_1.0");
-#else
-# define gomp_init_lock_30 omp_init_lock
-# define gomp_destroy_lock_30 omp_destroy_lock
-# define gomp_set_lock_30 omp_set_lock
-# define gomp_unset_lock_30 omp_unset_lock
-# define gomp_test_lock_30 omp_test_lock
-# define gomp_init_nest_lock_30 omp_init_nest_lock
-# define gomp_destroy_nest_lock_30 omp_destroy_nest_lock
-# define gomp_set_nest_lock_30 omp_set_nest_lock
-# define gomp_unset_nest_lock_30 omp_unset_nest_lock
-# define gomp_test_nest_lock_30 omp_test_nest_lock
-#endif
-
-#ifdef HAVE_ATTRIBUTE_VISIBILITY
-# define attribute_hidden __attribute__ ((visibility ("hidden")))
-#else
-# define attribute_hidden
-#endif
-
-#ifdef HAVE_ATTRIBUTE_ALIAS
-# define ialias(fn) \
- extern __typeof (fn) gomp_ialias_##fn \
- __attribute__ ((alias (#fn))) attribute_hidden;
-#else
-# define ialias(fn)
-#endif
-
-#endif /* LIBGOMP_H */
diff --git a/gcc-4.4.3/libgomp/libgomp.map b/gcc-4.4.3/libgomp/libgomp.map
deleted file mode 100644
index e6c12fa00..000000000
--- a/gcc-4.4.3/libgomp/libgomp.map
+++ /dev/null
@@ -1,170 +0,0 @@
-OMP_1.0 {
- global:
- omp_set_num_threads;
- omp_get_num_threads;
- omp_get_max_threads;
- omp_get_thread_num;
- omp_get_num_procs;
- omp_in_parallel;
- omp_set_dynamic;
- omp_get_dynamic;
- omp_set_nested;
- omp_get_nested;
- omp_init_lock;
- omp_init_nest_lock;
- omp_destroy_lock;
- omp_destroy_nest_lock;
- omp_set_lock;
- omp_set_nest_lock;
- omp_unset_lock;
- omp_unset_nest_lock;
- omp_test_lock;
- omp_test_nest_lock;
- omp_destroy_lock_;
- omp_destroy_nest_lock_;
- omp_get_dynamic_;
- omp_get_max_threads_;
- omp_get_nested_;
- omp_get_num_procs_;
- omp_get_num_threads_;
- omp_get_thread_num_;
- omp_in_parallel_;
- omp_init_lock_;
- omp_init_nest_lock_;
- omp_set_dynamic_;
- omp_set_dynamic_8_;
- omp_set_lock_;
- omp_set_nest_lock_;
- omp_set_nested_;
- omp_set_nested_8_;
- omp_set_num_threads_;
- omp_set_num_threads_8_;
- omp_test_lock_;
- omp_test_nest_lock_;
- omp_unset_lock_;
- omp_unset_nest_lock_;
- local:
- *;
-};
-
-OMP_2.0 {
- global:
- omp_get_wtick;
- omp_get_wtime;
- omp_get_wtick_;
- omp_get_wtime_;
-} OMP_1.0;
-
-OMP_3.0 {
- global:
- omp_set_schedule;
- omp_set_schedule_;
- omp_set_schedule_8_;
- omp_get_schedule;
- omp_get_schedule_;
- omp_get_schedule_8_;
- omp_get_thread_limit;
- omp_get_thread_limit_;
- omp_set_max_active_levels;
- omp_set_max_active_levels_;
- omp_set_max_active_levels_8_;
- omp_get_max_active_levels;
- omp_get_max_active_levels_;
- omp_get_level;
- omp_get_level_;
- omp_get_ancestor_thread_num;
- omp_get_ancestor_thread_num_;
- omp_get_ancestor_thread_num_8_;
- omp_get_team_size;
- omp_get_team_size_;
- omp_get_team_size_8_;
- omp_get_active_level;
- omp_get_active_level_;
- omp_init_lock;
- omp_init_nest_lock;
- omp_destroy_lock;
- omp_destroy_nest_lock;
- omp_set_lock;
- omp_set_nest_lock;
- omp_unset_lock;
- omp_unset_nest_lock;
- omp_test_lock;
- omp_test_nest_lock;
- omp_destroy_lock_;
- omp_destroy_nest_lock_;
- omp_init_lock_;
- omp_init_nest_lock_;
- omp_set_lock_;
- omp_set_nest_lock_;
- omp_test_lock_;
- omp_test_nest_lock_;
- omp_unset_lock_;
- omp_unset_nest_lock_;
-} OMP_2.0;
-
-GOMP_1.0 {
- global:
- GOMP_atomic_end;
- GOMP_atomic_start;
- GOMP_barrier;
- GOMP_critical_end;
- GOMP_critical_name_end;
- GOMP_critical_name_start;
- GOMP_critical_start;
- GOMP_loop_dynamic_next;
- GOMP_loop_dynamic_start;
- GOMP_loop_end;
- GOMP_loop_end_nowait;
- GOMP_loop_guided_next;
- GOMP_loop_guided_start;
- GOMP_loop_ordered_dynamic_next;
- GOMP_loop_ordered_dynamic_start;
- GOMP_loop_ordered_guided_next;
- GOMP_loop_ordered_guided_start;
- GOMP_loop_ordered_runtime_next;
- GOMP_loop_ordered_runtime_start;
- GOMP_loop_ordered_static_next;
- GOMP_loop_ordered_static_start;
- GOMP_loop_runtime_next;
- GOMP_loop_runtime_start;
- GOMP_loop_static_next;
- GOMP_loop_static_start;
- GOMP_ordered_end;
- GOMP_ordered_start;
- GOMP_parallel_end;
- GOMP_parallel_loop_dynamic_start;
- GOMP_parallel_loop_guided_start;
- GOMP_parallel_loop_runtime_start;
- GOMP_parallel_loop_static_start;
- GOMP_parallel_sections_start;
- GOMP_parallel_start;
- GOMP_sections_end;
- GOMP_sections_end_nowait;
- GOMP_sections_next;
- GOMP_sections_start;
- GOMP_single_copy_end;
- GOMP_single_copy_start;
- GOMP_single_start;
-};
-
-GOMP_2.0 {
- global:
- GOMP_task;
- GOMP_taskwait;
- GOMP_loop_ull_dynamic_next;
- GOMP_loop_ull_dynamic_start;
- GOMP_loop_ull_guided_next;
- GOMP_loop_ull_guided_start;
- GOMP_loop_ull_ordered_dynamic_next;
- GOMP_loop_ull_ordered_dynamic_start;
- GOMP_loop_ull_ordered_guided_next;
- GOMP_loop_ull_ordered_guided_start;
- GOMP_loop_ull_ordered_runtime_next;
- GOMP_loop_ull_ordered_runtime_start;
- GOMP_loop_ull_ordered_static_next;
- GOMP_loop_ull_ordered_static_start;
- GOMP_loop_ull_runtime_next;
- GOMP_loop_ull_runtime_start;
- GOMP_loop_ull_static_next;
- GOMP_loop_ull_static_start;
-} GOMP_1.0;
diff --git a/gcc-4.4.3/libgomp/libgomp.spec.in b/gcc-4.4.3/libgomp/libgomp.spec.in
deleted file mode 100644
index b7319f33a..000000000
--- a/gcc-4.4.3/libgomp/libgomp.spec.in
+++ /dev/null
@@ -1,3 +0,0 @@
-# This spec file is read by gcc when linking. It is used to specify the
-# standard libraries we need in order to link with -fopenmp.
-*link_gomp: @link_gomp@
diff --git a/gcc-4.4.3/libgomp/libgomp.texi b/gcc-4.4.3/libgomp/libgomp.texi
deleted file mode 100644
index 5e68aad62..000000000
--- a/gcc-4.4.3/libgomp/libgomp.texi
+++ /dev/null
@@ -1,1721 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-
-@c %**start of header
-@setfilename libgomp.info
-@settitle GNU libgomp
-@c %**end of header
-
-
-@copying
-Copyright @copyright{} 2006, 2007, 2008 Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``Funding Free Software'', the Front-Cover
-texts being (a) (see below), and with the Back-Cover Texts being (b)
-(see below). A copy of the license is included in the section entitled
-``GNU Free Documentation License''.
-
-(a) The FSF's Front-Cover Text is:
-
- A GNU Manual
-
-(b) The FSF's Back-Cover Text is:
-
- You have freedom to copy and modify this GNU Manual, like GNU
- software. Copies published by the Free Software Foundation raise
- funds for GNU development.
-@end copying
-
-@ifinfo
-@dircategory GNU Libraries
-@direntry
-* libgomp: (libgomp). GNU OpenMP runtime library
-@end direntry
-
-This manual documents the GNU implementation of the OpenMP API for
-multi-platform shared-memory parallel programming in C/C++ and Fortran.
-
-Published by the Free Software Foundation
-51 Franklin Street, Fifth Floor
-Boston, MA 02110-1301 USA
-
-@insertcopying
-@end ifinfo
-
-
-@setchapternewpage odd
-
-@titlepage
-@title The GNU OpenMP Implementation
-@page
-@vskip 0pt plus 1filll
-@comment For the @value{version-GCC} Version*
-@sp 1
-Published by the Free Software Foundation @*
-51 Franklin Street, Fifth Floor@*
-Boston, MA 02110-1301, USA@*
-@sp 1
-@insertcopying
-@end titlepage
-
-@summarycontents
-@contents
-@page
-
-
-@node Top
-@top Introduction
-@cindex Introduction
-
-This manual documents the usage of libgomp, the GNU implementation of the
-@uref{http://www.openmp.org, OpenMP} Application Programming Interface (API)
-for multi-platform shared-memory parallel programming in C/C++ and Fortran.
-
-
-
-@comment
-@comment When you add a new menu item, please keep the right hand
-@comment aligned to the same column. Do not use tabs. This provides
-@comment better formatting.
-@comment
-@menu
-* Enabling OpenMP:: How to enable OpenMP for your applications.
-* Runtime Library Routines:: The OpenMP runtime application programming
- interface.
-* Environment Variables:: Influencing runtime behavior with environment
- variables.
-* The libgomp ABI:: Notes on the external ABI presented by libgomp.
-* Reporting Bugs:: How to report bugs in GNU OpenMP.
-* Copying:: GNU general public license says
- how you can copy and share libgomp.
-* GNU Free Documentation License::
- How you can copy and share this manual.
-* Funding:: How to help assure continued work for free
- software.
-* Index:: Index of this documentation.
-@end menu
-
-
-@c ---------------------------------------------------------------------
-@c Enabling OpenMP
-@c ---------------------------------------------------------------------
-
-@node Enabling OpenMP
-@chapter Enabling OpenMP
-
-To activate the OpenMP extensions for C/C++ and Fortran, the compile-time
-flag @command{-fopenmp} must be specified. This enables the OpenMP directive
-@code{#pragma omp} in C/C++ and @code{!$omp} directives in free form,
-@code{c$omp}, @code{*$omp} and @code{!$omp} directives in fixed form,
-@code{!$} conditional compilation sentinels in free form and @code{c$},
-@code{*$} and @code{!$} sentinels in fixed form, for Fortran. The flag also
-arranges for automatic linking of the OpenMP runtime library
-(@ref{Runtime Library Routines}).
-
-A complete description of all OpenMP directives accepted may be found in
-the @uref{http://www.openmp.org, OpenMP Application Program Interface} manual,
-version 3.0.
-
-
-@c ---------------------------------------------------------------------
-@c Runtime Library Routines
-@c ---------------------------------------------------------------------
-
-@node Runtime Library Routines
-@chapter Runtime Library Routines
-
-The runtime routines described here are defined by section 3 of the OpenMP
-specifications in version 3.0. The routines are structured in following
-three parts:
-
-Control threads, processors and the parallel environment.
-
-@menu
-* omp_get_active_level:: Number of active parallel regions
-* omp_get_ancestor_thread_num:: Ancestor thread ID
-* omp_get_dynamic:: Dynamic teams setting
-* omp_get_level:: Number of parallel regions
-* omp_get_max_active_levels:: Maximal number of active regions
-* omp_get_max_threads:: Maximal number of threads of parallel region
-* omp_get_nested:: Nested parallel regions
-* omp_get_num_procs:: Number of processors online
-* omp_get_num_threads:: Size of the active team
-* omp_get_schedule:: Obtain the runtime scheduling method
-* omp_get_team_size:: Number of threads in a team
-* omp_get_thread_limit:: Maximal number of threads
-* omp_get_thread_num:: Current thread ID
-* omp_in_parallel:: Whether a parallel region is active
-* omp_set_dynamic:: Enable/disable dynamic teams
-* omp_set_max_active_levels:: Limits the number of active parallel regions
-* omp_set_nested:: Enable/disable nested parallel regions
-* omp_set_num_threads:: Set upper team size limit
-* omp_set_schedule:: Set the runtime scheduling method
-@end menu
-
-Initialize, set, test, unset and destroy simple and nested locks.
-
-@menu
-* omp_init_lock:: Initialize simple lock
-* omp_set_lock:: Wait for and set simple lock
-* omp_test_lock:: Test and set simple lock if available
-* omp_unset_lock:: Unset simple lock
-* omp_destroy_lock:: Destroy simple lock
-* omp_init_nest_lock:: Initialize nested lock
-* omp_set_nest_lock:: Wait for and set simple lock
-* omp_test_nest_lock:: Test and set nested lock if available
-* omp_unset_nest_lock:: Unset nested lock
-* omp_destroy_nest_lock:: Destroy nested lock
-@end menu
-
-Portable, thread-based, wall clock timer.
-
-@menu
-* omp_get_wtick:: Get timer precision.
-* omp_get_wtime:: Elapsed wall clock time.
-@end menu
-
-
-
-@node omp_get_active_level
-@section @code{omp_get_active_level} -- Number of parallel regions
-@table @asis
-@item @emph{Description}:
-This function returns the nesting level for the active parallel blocks,
-which enclose the calling call.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_active_level();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer omp_get_active_level()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_level}, @ref{omp_get_max_active_levels}, @ref{omp_set_max_active_levels}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.19.
-@end table
-
-
-
-@node omp_get_ancestor_thread_num
-@section @code{omp_get_ancestor_thread_num} -- Ancestor thread ID
-@table @asis
-@item @emph{Description}:
-This function returns the thread identification number for the given
-nesting level of the current thread. For values of @var{level} outside
-zero to @code{omp_get_level} -1 is returned; if @var{level} is
-@code{omp_get_level} the result is identical to @code{omp_get_thread_num}.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_ancestor_thread_num(int level);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer omp_ancestor_thread_num(level)}
-@item @tab @code{integer level}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_level}, @ref{omp_get_thread_num}, @ref{omp_get_team_size}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.17.
-@end table
-
-
-
-@node omp_get_dynamic
-@section @code{omp_get_dynamic} -- Dynamic teams setting
-@table @asis
-@item @emph{Description}:
-This function returns @code{true} if enabled, @code{false} otherwise.
-Here, @code{true} and @code{false} represent their language-specific
-counterparts.
-
-The dynamic team setting may be initialized at startup by the
-@code{OMP_DYNAMIC} environment variable or at runtime using
-@code{omp_set_dynamic}. If undefined, dynamic adjustment is
-disabled by default.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_dynamic();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{logical function omp_get_dynamic()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_dynamic}, @ref{OMP_DYNAMIC}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.8.
-@end table
-
-
-
-@node omp_get_level
-@section @code{omp_get_level} -- Obtain the current nesting level
-@table @asis
-@item @emph{Description}:
-This function returns the nesting level for the parallel blocks,
-which enclose the calling call.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get level();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer omp_level()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_active_level}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.16.
-@end table
-
-
-
-@node omp_get_max_active_levels
-@section @code{omp_set_max_active_levels} -- Maximal number of active regions
-@table @asis
-@item @emph{Description}:
-This function obtains the maximally allowed number of nested, active parallel regions.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_max_active_levels();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{int omp_get_max_active_levels()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_max_active_levels}, @ref{omp_get_active_level}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.14.
-@end table
-
-
-
-@node omp_get_max_threads
-@section @code{omp_get_max_threads} -- Maximal number of threads of parallel region
-@table @asis
-@item @emph{Description}:
-Return the maximal number of threads used for the current parallel region
-that does not use the clause @code{num_threads}.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_max_threads();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_max_threads()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_num_threads}, @ref{omp_set_dynamic}, @ref{omp_get_thread_limit}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.3.
-@end table
-
-
-
-@node omp_get_nested
-@section @code{omp_get_nested} -- Nested parallel regions
-@table @asis
-@item @emph{Description}:
-This function returns @code{true} if nested parallel regions are
-enabled, @code{false} otherwise. Here, @code{true} and @code{false}
-represent their language-specific counterparts.
-
-Nested parallel regions may be initialized at startup by the
-@code{OMP_NESTED} environment variable or at runtime using
-@code{omp_set_nested}. If undefined, nested parallel regions are
-disabled by default.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_nested();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_nested()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_nested}, @ref{OMP_NESTED}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.10.
-@end table
-
-
-
-@node omp_get_num_procs
-@section @code{omp_get_num_procs} -- Number of processors online
-@table @asis
-@item @emph{Description}:
-Returns the number of processors online.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_num_procs();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_num_procs()}
-@end multitable
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.5.
-@end table
-
-
-
-@node omp_get_num_threads
-@section @code{omp_get_num_threads} -- Size of the active team
-@table @asis
-@item @emph{Description}:
-The number of threads in the current team. In a sequential section of
-the program @code{omp_get_num_threads} returns 1.
-
-The default team size may be initialized at startup by the
-@code{OMP_NUM_THREADS} environment variable. At runtime, the size
-of the current team may be set either by the @code{NUM_THREADS}
-clause or by @code{omp_set_num_threads}. If none of the above were
-used to define a specific value and @code{OMP_DYNAMIC} is disabled,
-one thread per CPU online is used.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_num_threads();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_num_threads()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_max_threads}, @ref{omp_set_num_threads}, @ref{OMP_NUM_THREADS}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.2.
-@end table
-
-
-
-@node omp_get_schedule
-@section @code{omp_get_schedule} -- Obtain the runtime scheduling method
-@table @asis
-@item @emph{Description}:
-Obtain runtime the scheduling method. The @var{kind} argument will be
-set to the value @code{omp_sched_static}, @code{omp_sched_dynamic},
-@code{opm_sched_guided} or @code{auto}. The second argument, @var{modifier},
-is set to the chunk size.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{omp_schedule(omp_sched_t * kind, int *modifier);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_schedule(kind, modifier)}
-@item @tab @code{integer(kind=omp_sched_kind) kind}
-@item @tab @code{integer modifier}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_schedule}, @ref{OMP_SCHEDULE}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.12.
-@end table
-
-
-
-@node omp_get_team_size
-@section @code{omp_get_team_size} -- Number of threads in a team
-@table @asis
-@item @emph{Description}:
-This function returns the number of threads in a thread team to which
-either the current thread or its ancestor belongs. For values of @var{level}
-outside zero to @code{omp_get_level} -1 is returned; if @var{level} is zero
-1 is returned and for @code{omp_get_level} the result is identical
-to @code{omp_get_num_threads}.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_time_size(int level);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_team_size(level)}
-@item @tab @code{integer level}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_num_threads}, @ref{omp_get_level}, @ref{omp_get_ancestor_thread_num}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.18.
-@end table
-
-
-
-@node omp_get_thread_limit
-@section @code{omp_get_thread_limit} -- Maximal number of threads
-@table @asis
-@item @emph{Description}:
-Return the maximal number of threads of the program.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_thread_limit();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_thread_limit()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_max_threads}, @ref{OMP_THREAD_LIMIT}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.13.
-@end table
-
-
-
-@node omp_get_thread_num
-@section @code{omp_get_thread_num} -- Current thread ID
-@table @asis
-@item @emph{Description}:
-Unique thread identification number within the current team.
-In a sequential parts of the program, @code{omp_get_thread_num}
-always returns 0. In parallel regions the return value varies
-from 0 to @code{omp_get_num_threads}-1 inclusive. The return
-value of the master thread of a team is always 0.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_get_thread_num();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_get_thread_num()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_num_threads}, @ref{omp_get_ancestor_thread_num}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.4.
-@end table
-
-
-
-@node omp_in_parallel
-@section @code{omp_in_parallel} -- Whether a parallel region is active
-@table @asis
-@item @emph{Description}:
-This function returns @code{true} if currently running in parallel,
-@code{false} otherwise. Here, @code{true} and @code{false} represent
-their language-specific counterparts.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_in_parallel();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{logical function omp_in_parallel()}
-@end multitable
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.6.
-@end table
-
-
-@node omp_set_dynamic
-@section @code{omp_set_dynamic} -- Enable/disable dynamic teams
-@table @asis
-@item @emph{Description}:
-Enable or disable the dynamic adjustment of the number of threads
-within a team. The function takes the language-specific equivalent
-of @code{true} and @code{false}, where @code{true} enables dynamic
-adjustment of team sizes and @code{false} disables it.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_set_dynamic(int);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_set_dynamic(set)}
-@item @tab @code{integer, intent(in) :: set}
-@end multitable
-
-@item @emph{See also}:
-@ref{OMP_DYNAMIC}, @ref{omp_get_dynamic}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.7.
-@end table
-
-
-
-@node omp_set_max_active_levels
-@section @code{omp_set_max_active_levels} -- Limits the number of active parallel regions
-@table @asis
-@item @emph{Description}:
-This function limits the maximally allowed number of nested, active parallel regions.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{omp_set_max_active_levels(int max_levels);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{omp_max_active_levels(max_levels)}
-@item @tab @code{integer max_levels}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_max_active_levels}, @ref{omp_get_active_level}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.14.
-@end table
-
-
-
-@node omp_set_nested
-@section @code{omp_set_nested} -- Enable/disable nested parallel regions
-@table @asis
-@item @emph{Description}:
-Enable or disable nested parallel regions, i.e., whether team members
-are allowed to create new teams. The function takes the language-specific
-equivalent of @code{true} and @code{false}, where @code{true} enables
-dynamic adjustment of team sizes and @code{false} disables it.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_set_dynamic(int);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_set_dynamic(set)}
-@item @tab @code{integer, intent(in) :: set}
-@end multitable
-
-@item @emph{See also}:
-@ref{OMP_NESTED}, @ref{omp_get_nested}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.9.
-@end table
-
-
-
-@node omp_set_num_threads
-@section @code{omp_set_num_threads} -- Set upper team size limit
-@table @asis
-@item @emph{Description}:
-Specifies the number of threads used by default in subsequent parallel
-sections, if those do not specify a @code{num_threads} clause. The
-argument of @code{omp_set_num_threads} shall be a positive integer.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_set_num_threads(int);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_set_num_threads(set)}
-@item @tab @code{integer, intent(in) :: set}
-@end multitable
-
-@item @emph{See also}:
-@ref{OMP_NUM_THREADS}, @ref{omp_get_num_threads}, @ref{omp_get_max_threads}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.1.
-@end table
-
-
-
-@node omp_set_schedule
-@section @code{omp_set_schedule} -- Set the runtime scheduling method
-@table @asis
-@item @emph{Description}:
-Sets the runtime scheduling method. The @var{kind} argument can have the
-value @code{omp_sched_static}, @code{omp_sched_dynamic},
-@code{opm_sched_guided} or @code{omp_sched_auto}. Except for
-@code{omp_sched_auto}, the chunk size is set to the value of
-@var{modifier} if positive or to the default value if zero or negative.
-For @code{omp_sched_auto} the @var{modifier} argument is ignored.
-
-@item @emph{C/C++}
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_schedule(omp_sched_t * kind, int *modifier);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_schedule(kind, modifier)}
-@item @tab @code{integer(kind=omp_sched_kind) kind}
-@item @tab @code{integer modifier}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_schedule}
-@ref{OMP_SCHEDULE}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.2.11.
-@end table
-
-
-
-@node omp_init_lock
-@section @code{omp_init_lock} -- Initialize simple lock
-@table @asis
-@item @emph{Description}:
-Initialize a simple lock. After initialization, the lock is in
-an unlocked state.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_init_lock(omp_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_init_lock(lock)}
-@item @tab @code{integer(omp_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_destroy_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.1.
-@end table
-
-
-
-@node omp_set_lock
-@section @code{omp_set_lock} -- Wait for and set simple lock
-@table @asis
-@item @emph{Description}:
-Before setting a simple lock, the lock variable must be initialized by
-@code{omp_init_lock}. The calling thread is blocked until the lock
-is available. If the lock is already held by the current thread,
-a deadlock occurs.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_set_lock(omp_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_set_lock(lock)}
-@item @tab @code{integer(omp_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_init_lock}, @ref{omp_test_lock}, @ref{omp_unset_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.3.
-@end table
-
-
-
-@node omp_test_lock
-@section @code{omp_test_lock} -- Test and set simple lock if available
-@table @asis
-@item @emph{Description}:
-Before setting a simple lock, the lock variable must be initialized by
-@code{omp_init_lock}. Contrary to @code{omp_set_lock}, @code{omp_test_lock}
-does not block if the lock is not available. This function returns
-@code{true} upon success, @code{false} otherwise. Here, @code{true} and
-@code{false} represent their language-specific counterparts.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_test_lock(omp_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_test_lock(lock)}
-@item @tab @code{logical(omp_logical_kind) :: omp_test_lock}
-@item @tab @code{integer(omp_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_init_lock}, @ref{omp_set_lock}, @ref{omp_set_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.5.
-@end table
-
-
-
-@node omp_unset_lock
-@section @code{omp_unset_lock} -- Unset simple lock
-@table @asis
-@item @emph{Description}:
-A simple lock about to be unset must have been locked by @code{omp_set_lock}
-or @code{omp_test_lock} before. In addition, the lock must be held by the
-thread calling @code{omp_unset_lock}. Then, the lock becomes unlocked. If one
-ore more threads attempted to set the lock before, one of them is chosen to,
-again, set the lock for itself.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_unset_lock(omp_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_unset_lock(lock)}
-@item @tab @code{integer(omp_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_lock}, @ref{omp_test_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.4.
-@end table
-
-
-
-@node omp_destroy_lock
-@section @code{omp_destroy_lock} -- Destroy simple lock
-@table @asis
-@item @emph{Description}:
-Destroy a simple lock. In order to be destroyed, a simple lock must be
-in the unlocked state.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_destroy_lock(omp_lock_t *);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_destroy_lock(lock)}
-@item @tab @code{integer(omp_lock_kind), intent(inout) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_init_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.2.
-@end table
-
-
-
-@node omp_init_nest_lock
-@section @code{omp_init_nest_lock} -- Initialize nested lock
-@table @asis
-@item @emph{Description}:
-Initialize a nested lock. After initialization, the lock is in
-an unlocked state and the nesting count is set to zero.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_init_nest_lock(omp_nest_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_init_nest_lock(lock)}
-@item @tab @code{integer(omp_nest_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_destroy_nest_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.1.
-@end table
-
-
-@node omp_set_nest_lock
-@section @code{omp_set_nest_lock} -- Wait for and set simple lock
-@table @asis
-@item @emph{Description}:
-Before setting a nested lock, the lock variable must be initialized by
-@code{omp_init_nest_lock}. The calling thread is blocked until the lock
-is available. If the lock is already held by the current thread, the
-nesting count for the lock in incremented.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_set_nest_lock(omp_nest_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_set_nest_lock(lock)}
-@item @tab @code{integer(omp_nest_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_init_nest_lock}, @ref{omp_unset_nest_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.3.
-@end table
-
-
-
-@node omp_test_nest_lock
-@section @code{omp_test_nest_lock} -- Test and set nested lock if available
-@table @asis
-@item @emph{Description}:
-Before setting a nested lock, the lock variable must be initialized by
-@code{omp_init_nest_lock}. Contrary to @code{omp_set_nest_lock},
-@code{omp_test_nest_lock} does not block if the lock is not available.
-If the lock is already held by the current thread, the new nesting count
-is returned. Otherwise, the return value equals zero.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{int omp_test_nest_lock(omp_nest_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{integer function omp_test_nest_lock(lock)}
-@item @tab @code{integer(omp_integer_kind) :: omp_test_nest_lock}
-@item @tab @code{integer(omp_nest_lock_kind), intent(inout) :: lock}
-@end multitable
-
-
-@item @emph{See also}:
-@ref{omp_init_lock}, @ref{omp_set_lock}, @ref{omp_set_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.5.
-@end table
-
-
-
-@node omp_unset_nest_lock
-@section @code{omp_unset_nest_lock} -- Unset nested lock
-@table @asis
-@item @emph{Description}:
-A nested lock about to be unset must have been locked by @code{omp_set_nested_lock}
-or @code{omp_test_nested_lock} before. In addition, the lock must be held by the
-thread calling @code{omp_unset_nested_lock}. If the nesting count drops to zero, the
-lock becomes unlocked. If one ore more threads attempted to set the lock before,
-one of them is chosen to, again, set the lock for itself.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_unset_nest_lock(omp_nest_lock_t *lock);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_unset_nest_lock(lock)}
-@item @tab @code{integer(omp_nest_lock_kind), intent(out) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_set_nest_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.4.
-@end table
-
-
-
-@node omp_destroy_nest_lock
-@section @code{omp_destroy_nest_lock} -- Destroy nested lock
-@table @asis
-@item @emph{Description}:
-Destroy a nested lock. In order to be destroyed, a nested lock must be
-in the unlocked state and its nesting count must equal zero.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{void omp_destroy_nest_lock(omp_nest_lock_t *);}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{subroutine omp_destroy_nest_lock(lock)}
-@item @tab @code{integer(omp_nest_lock_kind), intent(inout) :: lock}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_init_lock}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.3.2.
-@end table
-
-
-
-@node omp_get_wtick
-@section @code{omp_get_wtick} -- Get timer precision
-@table @asis
-@item @emph{Description}:
-Gets the timer precision, i.e., the number of seconds between two
-successive clock ticks.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{double omp_get_wtick();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{double precision function omp_get_wtick()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_wtime}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.4.2.
-@end table
-
-
-
-@node omp_get_wtime
-@section @code{omp_get_wtime} -- Elapsed wall clock time
-@table @asis
-@item @emph{Description}:
-Elapsed wall clock time in seconds. The time is measured per thread, no
-guarantee can bee made that two distinct threads measure the same time.
-Time is measured from some "time in the past". On POSIX compliant systems
-the seconds since the Epoch (00:00:00 UTC, January 1, 1970) are returned.
-
-@item @emph{C/C++}:
-@multitable @columnfractions .20 .80
-@item @emph{Prototype}: @tab @code{double omp_get_wtime();}
-@end multitable
-
-@item @emph{Fortran}:
-@multitable @columnfractions .20 .80
-@item @emph{Interface}: @tab @code{double precision function omp_get_wtime()}
-@end multitable
-
-@item @emph{See also}:
-@ref{omp_get_wtick}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 3.4.1.
-@end table
-
-
-
-@c ---------------------------------------------------------------------
-@c Environment Variables
-@c ---------------------------------------------------------------------
-
-@node Environment Variables
-@chapter Environment Variables
-
-The variables @env{OMP_DYNAMIC}, @env{OMP_MAX_ACTIVE_LEVELS},
-@env{OMP_NESTED}, @env{OMP_NUM_THREADS}, @env{OMP_SCHEDULE},
-@env{OMP_STACKSIZE},@env{OMP_THREAD_LIMIT} and @env{OMP_WAIT_POLICY}
-are defined by section 4 of the OpenMP specifications in version 3.0,
-while @env{GOMP_CPU_AFFINITY} and @env{GOMP_STACKSIZE} are GNU
-extensions.
-
-@menu
-* OMP_DYNAMIC:: Dynamic adjustment of threads
-* OMP_MAX_ACTIVE_LEVELS:: Set the maximal number of nested parallel regions
-* OMP_NESTED:: Nested parallel regions
-* OMP_NUM_THREADS:: Specifies the number of threads to use
-* OMP_STACKSIZE:: Set default thread stack size
-* OMP_SCHEDULE:: How threads are scheduled
-* OMP_THREAD_LIMIT:: Set the maximal number of threads
-* OMP_WAIT_POLICY:: How waiting threads are handled
-* GOMP_CPU_AFFINITY:: Bind threads to specific CPUs
-* GOMP_STACKSIZE:: Set default thread stack size
-@end menu
-
-
-@node OMP_DYNAMIC
-@section @env{OMP_DYNAMIC} -- Dynamic adjustment of threads
-@cindex Environment Variable
-@table @asis
-@item @emph{Description}:
-Enable or disable the dynamic adjustment of the number of threads
-within a team. The value of this environment variable shall be
-@code{TRUE} or @code{FALSE}. If undefined, dynamic adjustment is
-disabled by default.
-
-@item @emph{See also}:
-@ref{omp_set_dynamic}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 4.3
-@end table
-
-
-
-@node OMP_MAX_ACTIVE_LEVELS
-@section @env{OMP_MAX_ACTIVE_LEVELS} -- Set the maximal number of nested parallel regions
-@cindex Environment Variable
-@table @asis
-@item @emph{Description}:
-Specifies the initial value for the maximal number of nested parallel
-regions. The value of this variable shall be positive integer.
-If undefined, the number of active levels is unlimited.
-
-@item @emph{See also}:
-@ref{omp_set_max_active_levels}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 4.7
-@end table
-
-
-
-@node OMP_NESTED
-@section @env{OMP_NESTED} -- Nested parallel regions
-@cindex Environment Variable
-@cindex Implementation specific setting
-@table @asis
-@item @emph{Description}:
-Enable or disable nested parallel regions, i.e., whether team members
-are allowed to create new teams. The value of this environment variable
-shall be @code{TRUE} or @code{FALSE}. If undefined, nested parallel
-regions are disabled by default.
-
-@item @emph{See also}:
-@ref{omp_set_nested}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 4.4
-@end table
-
-
-
-@node OMP_NUM_THREADS
-@section @env{OMP_NUM_THREADS} -- Specifies the number of threads to use
-@cindex Environment Variable
-@cindex Implementation specific setting
-@table @asis
-@item @emph{Description}:
-Specifies the default number of threads to use in parallel regions. The
-value of this variable shall be positive integer. If undefined one thread
-per CPU online is used.
-
-@item @emph{See also}:
-@ref{omp_set_num_threads}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 4.2
-@end table
-
-
-
-@node OMP_SCHEDULE
-@section @env{OMP_SCHEDULE} -- How threads are scheduled
-@cindex Environment Variable
-@cindex Implementation specific setting
-@table @asis
-@item @emph{Description}:
-Allows to specify @code{schedule type} and @code{chunk size}.
-The value of the variable shall have the form: @code{type[,chunk]} where
-@code{type} is one of @code{static}, @code{dynamic}, @code{guided} or @code{auto}
-The optional @code{chunk} size shall be a positive integer. If undefined,
-dynamic scheduling and a chunk size of 1 is used.
-
-@item @emph{See also}:
-@ref{omp_set_schedule}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, sections 2.5.1 and 4.1
-@end table
-
-
-
-@node OMP_STACKSIZE
-@section @env{OMP_STACKSIZE} -- Set default thread stack size
-@cindex Environment Variable
-@table @asis
-@item @emph{Description}:
-Set the default thread stack size in kilobytes, unless the number
-is suffixed by @code{B}, @code{K}, @code{M} or @code{G}, in which
-case the size is, respectively, in bytes, kilobytes, megabytes
-or gigabytes. This is different from @code{pthread_attr_setstacksize}
-which gets the number of bytes as an argument. If the stacksize can not
-be set due to system constraints, an error is reported and the initial
-stacksize is left unchanged. If undefined, the stack size is system
-dependent.
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, sections 4.5
-@end table
-
-
-
-@node OMP_THREAD_LIMIT
-@section @env{OMP_THREAD_LIMIT} -- Set the maximal number of threads
-@cindex Environment Variable
-@table @asis
-@item @emph{Description}:
-Specifies the number of threads to use for the whole program. The
-value of this variable shall be positive integer. If undefined,
-the number of threads is not limited.
-
-@item @emph{See also}:
-@ref{OMP_NUM_THREADS}
-@ref{omp_get_thread_limit}
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, section 4.8
-@end table
-
-
-
-@node OMP_WAIT_POLICY
-@section @env{OMP_WAIT_POLICY} -- How waiting threads are handled
-@cindex Environment Variable
-@table @asis
-@item @emph{Description}:
-Specifies whether waiting threads should be active or passive. If
-the value is @code{PASSIVE}, waiting threads should not consume CPU
-power while waiting; while the value is @code{ACTIVE} specifies that
-they should.
-
-@item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specifications v3.0}, sections 4.6
-@end table
-
-
-
-@node GOMP_CPU_AFFINITY
-@section @env{GOMP_CPU_AFFINITY} -- Bind threads to specific CPUs
-@cindex Environment Variable
-@table @asis
-@item @emph{Description}:
-Binds threads to specific CPUs. The variable should contain a space- or
-comma-separated list of CPUs. This list may contain different kind of
-entries: either single CPU numbers in any order, a range of CPUs (M-N)
-or a range with some stride (M-N:S). CPU numbers are zero based. For example,
-@code{GOMP_CPU_AFFINITY="0 3 1-2 4-15:2"} will bind the initial thread
-to CPU 0, the second to CPU 3, the third to CPU 1, the fourth to
-CPU 2, the fifth to CPU 4, the sixth through tenth to CPUs 6, 8, 10, 12,
-and 14 respectively and then start assigning back from the beginning of
-the list. @code{GOMP_CPU_AFFINITY=0} binds all threads to CPU 0.
-
-There is no GNU OpenMP library routine to determine whether a CPU affinity
-specification is in effect. As a workaround, language-specific library
-functions, e.g., @code{getenv} in C or @code{GET_ENVIRONMENT_VARIABLE} in
-Fortran, may be used to query the setting of the @code{GOMP_CPU_AFFINITY}
-environment variable. A defined CPU affinity on startup cannot be changed
-or disabled during the runtime of the application.
-
-If this environment variable is omitted, the host system will handle the
-assignment of threads to CPUs.
-@end table
-
-
-
-@node GOMP_STACKSIZE
-@section @env{GOMP_STACKSIZE} -- Set default thread stack size
-@cindex Environment Variable
-@cindex Implementation specific setting
-@table @asis
-@item @emph{Description}:
-Set the default thread stack size in kilobytes. This is different from
-@code{pthread_attr_setstacksize} which gets the number of bytes as an
-argument. If the stacksize can not be set due to system constraints, an
-error is reported and the initial stacksize is left unchanged. If undefined,
-the stack size is system dependent.
-
-@item @emph{See also}:
-@ref{GOMP_STACKSIZE}
-
-@item @emph{Reference}:
-@uref{http://gcc.gnu.org/ml/gcc-patches/2006-06/msg00493.html,
-GCC Patches Mailinglist},
-@uref{http://gcc.gnu.org/ml/gcc-patches/2006-06/msg00496.html,
-GCC Patches Mailinglist}
-@end table
-
-
-
-@c ---------------------------------------------------------------------
-@c The libgomp ABI
-@c ---------------------------------------------------------------------
-
-@node The libgomp ABI
-@chapter The libgomp ABI
-
-The following sections present notes on the external ABI as
-presented by libgomp. Only maintainers should need them.
-
-@menu
-* Implementing MASTER construct::
-* Implementing CRITICAL construct::
-* Implementing ATOMIC construct::
-* Implementing FLUSH construct::
-* Implementing BARRIER construct::
-* Implementing THREADPRIVATE construct::
-* Implementing PRIVATE clause::
-* Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses::
-* Implementing REDUCTION clause::
-* Implementing PARALLEL construct::
-* Implementing FOR construct::
-* Implementing ORDERED construct::
-* Implementing SECTIONS construct::
-* Implementing SINGLE construct::
-@end menu
-
-
-@node Implementing MASTER construct
-@section Implementing MASTER construct
-
-@smallexample
-if (omp_get_thread_num () == 0)
- block
-@end smallexample
-
-Alternately, we generate two copies of the parallel subfunction
-and only include this in the version run by the master thread.
-Surely that's not worthwhile though...
-
-
-
-@node Implementing CRITICAL construct
-@section Implementing CRITICAL construct
-
-Without a specified name,
-
-@smallexample
- void GOMP_critical_start (void);
- void GOMP_critical_end (void);
-@end smallexample
-
-so that we don't get COPY relocations from libgomp to the main
-application.
-
-With a specified name, use omp_set_lock and omp_unset_lock with
-name being transformed into a variable declared like
-
-@smallexample
- omp_lock_t gomp_critical_user_<name> __attribute__((common))
-@end smallexample
-
-Ideally the ABI would specify that all zero is a valid unlocked
-state, and so we wouldn't actually need to initialize this at
-startup.
-
-
-
-@node Implementing ATOMIC construct
-@section Implementing ATOMIC construct
-
-The target should implement the @code{__sync} builtins.
-
-Failing that we could add
-
-@smallexample
- void GOMP_atomic_enter (void)
- void GOMP_atomic_exit (void)
-@end smallexample
-
-which reuses the regular lock code, but with yet another lock
-object private to the library.
-
-
-
-@node Implementing FLUSH construct
-@section Implementing FLUSH construct
-
-Expands to the @code{__sync_synchronize} builtin.
-
-
-
-@node Implementing BARRIER construct
-@section Implementing BARRIER construct
-
-@smallexample
- void GOMP_barrier (void)
-@end smallexample
-
-
-@node Implementing THREADPRIVATE construct
-@section Implementing THREADPRIVATE construct
-
-In _most_ cases we can map this directly to @code{__thread}. Except
-that OMP allows constructors for C++ objects. We can either
-refuse to support this (how often is it used?) or we can
-implement something akin to .ctors.
-
-Even more ideally, this ctor feature is handled by extensions
-to the main pthreads library. Failing that, we can have a set
-of entry points to register ctor functions to be called.
-
-
-
-@node Implementing PRIVATE clause
-@section Implementing PRIVATE clause
-
-In association with a PARALLEL, or within the lexical extent
-of a PARALLEL block, the variable becomes a local variable in
-the parallel subfunction.
-
-In association with FOR or SECTIONS blocks, create a new
-automatic variable within the current function. This preserves
-the semantic of new variable creation.
-
-
-
-@node Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses
-@section Implementing FIRSTPRIVATE LASTPRIVATE COPYIN and COPYPRIVATE clauses
-
-Seems simple enough for PARALLEL blocks. Create a private
-struct for communicating between parent and subfunction.
-In the parent, copy in values for scalar and "small" structs;
-copy in addresses for others TREE_ADDRESSABLE types. In the
-subfunction, copy the value into the local variable.
-
-Not clear at all what to do with bare FOR or SECTION blocks.
-The only thing I can figure is that we do something like
-
-@smallexample
-#pragma omp for firstprivate(x) lastprivate(y)
-for (int i = 0; i < n; ++i)
- body;
-@end smallexample
-
-which becomes
-
-@smallexample
-@{
- int x = x, y;
-
- // for stuff
-
- if (i == n)
- y = y;
-@}
-@end smallexample
-
-where the "x=x" and "y=y" assignments actually have different
-uids for the two variables, i.e. not something you could write
-directly in C. Presumably this only makes sense if the "outer"
-x and y are global variables.
-
-COPYPRIVATE would work the same way, except the structure
-broadcast would have to happen via SINGLE machinery instead.
-
-
-
-@node Implementing REDUCTION clause
-@section Implementing REDUCTION clause
-
-The private struct mentioned in the previous section should have
-a pointer to an array of the type of the variable, indexed by the
-thread's @var{team_id}. The thread stores its final value into the
-array, and after the barrier the master thread iterates over the
-array to collect the values.
-
-
-@node Implementing PARALLEL construct
-@section Implementing PARALLEL construct
-
-@smallexample
- #pragma omp parallel
- @{
- body;
- @}
-@end smallexample
-
-becomes
-
-@smallexample
- void subfunction (void *data)
- @{
- use data;
- body;
- @}
-
- setup data;
- GOMP_parallel_start (subfunction, &data, num_threads);
- subfunction (&data);
- GOMP_parallel_end ();
-@end smallexample
-
-@smallexample
- void GOMP_parallel_start (void (*fn)(void *), void *data, unsigned num_threads)
-@end smallexample
-
-The @var{FN} argument is the subfunction to be run in parallel.
-
-The @var{DATA} argument is a pointer to a structure used to
-communicate data in and out of the subfunction, as discussed
-above with respect to FIRSTPRIVATE et al.
-
-The @var{NUM_THREADS} argument is 1 if an IF clause is present
-and false, or the value of the NUM_THREADS clause, if
-present, or 0.
-
-The function needs to create the appropriate number of
-threads and/or launch them from the dock. It needs to
-create the team structure and assign team ids.
-
-@smallexample
- void GOMP_parallel_end (void)
-@end smallexample
-
-Tears down the team and returns us to the previous @code{omp_in_parallel()} state.
-
-
-
-@node Implementing FOR construct
-@section Implementing FOR construct
-
-@smallexample
- #pragma omp parallel for
- for (i = lb; i <= ub; i++)
- body;
-@end smallexample
-
-becomes
-
-@smallexample
- void subfunction (void *data)
- @{
- long _s0, _e0;
- while (GOMP_loop_static_next (&_s0, &_e0))
- @{
- long _e1 = _e0, i;
- for (i = _s0; i < _e1; i++)
- body;
- @}
- GOMP_loop_end_nowait ();
- @}
-
- GOMP_parallel_loop_static (subfunction, NULL, 0, lb, ub+1, 1, 0);
- subfunction (NULL);
- GOMP_parallel_end ();
-@end smallexample
-
-@smallexample
- #pragma omp for schedule(runtime)
- for (i = 0; i < n; i++)
- body;
-@end smallexample
-
-becomes
-
-@smallexample
- @{
- long i, _s0, _e0;
- if (GOMP_loop_runtime_start (0, n, 1, &_s0, &_e0))
- do @{
- long _e1 = _e0;
- for (i = _s0, i < _e0; i++)
- body;
- @} while (GOMP_loop_runtime_next (&_s0, _&e0));
- GOMP_loop_end ();
- @}
-@end smallexample
-
-Note that while it looks like there is trickyness to propagating
-a non-constant STEP, there isn't really. We're explicitly allowed
-to evaluate it as many times as we want, and any variables involved
-should automatically be handled as PRIVATE or SHARED like any other
-variables. So the expression should remain evaluable in the
-subfunction. We can also pull it into a local variable if we like,
-but since its supposed to remain unchanged, we can also not if we like.
-
-If we have SCHEDULE(STATIC), and no ORDERED, then we ought to be
-able to get away with no work-sharing context at all, since we can
-simply perform the arithmetic directly in each thread to divide up
-the iterations. Which would mean that we wouldn't need to call any
-of these routines.
-
-There are separate routines for handling loops with an ORDERED
-clause. Bookkeeping for that is non-trivial...
-
-
-
-@node Implementing ORDERED construct
-@section Implementing ORDERED construct
-
-@smallexample
- void GOMP_ordered_start (void)
- void GOMP_ordered_end (void)
-@end smallexample
-
-
-
-@node Implementing SECTIONS construct
-@section Implementing SECTIONS construct
-
-A block as
-
-@smallexample
- #pragma omp sections
- @{
- #pragma omp section
- stmt1;
- #pragma omp section
- stmt2;
- #pragma omp section
- stmt3;
- @}
-@end smallexample
-
-becomes
-
-@smallexample
- for (i = GOMP_sections_start (3); i != 0; i = GOMP_sections_next ())
- switch (i)
- @{
- case 1:
- stmt1;
- break;
- case 2:
- stmt2;
- break;
- case 3:
- stmt3;
- break;
- @}
- GOMP_barrier ();
-@end smallexample
-
-
-@node Implementing SINGLE construct
-@section Implementing SINGLE construct
-
-A block like
-
-@smallexample
- #pragma omp single
- @{
- body;
- @}
-@end smallexample
-
-becomes
-
-@smallexample
- if (GOMP_single_start ())
- body;
- GOMP_barrier ();
-@end smallexample
-
-while
-
-@smallexample
- #pragma omp single copyprivate(x)
- body;
-@end smallexample
-
-becomes
-
-@smallexample
- datap = GOMP_single_copy_start ();
- if (datap == NULL)
- @{
- body;
- data.x = x;
- GOMP_single_copy_end (&data);
- @}
- else
- x = datap->x;
- GOMP_barrier ();
-@end smallexample
-
-
-
-@c ---------------------------------------------------------------------
-@c
-@c ---------------------------------------------------------------------
-
-@node Reporting Bugs
-@chapter Reporting Bugs
-
-Bugs in the GNU OpenMP implementation should be reported via
-@uref{http://gcc.gnu.org/bugzilla/, bugzilla}. In all cases, please add
-"openmp" to the keywords field in the bug report.
-
-
-
-@c ---------------------------------------------------------------------
-@c GNU General Public License
-@c ---------------------------------------------------------------------
-
-@include gpl.texi
-
-
-
-@c ---------------------------------------------------------------------
-@c GNU Free Documentation License
-@c ---------------------------------------------------------------------
-
-@include fdl.texi
-
-
-
-@c ---------------------------------------------------------------------
-@c Funding Free Software
-@c ---------------------------------------------------------------------
-
-@include funding.texi
-
-@c ---------------------------------------------------------------------
-@c Index
-@c ---------------------------------------------------------------------
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@bye
diff --git a/gcc-4.4.3/libgomp/libgomp_f.h.in b/gcc-4.4.3/libgomp/libgomp_f.h.in
deleted file mode 100644
index ccb7e8394..000000000
--- a/gcc-4.4.3/libgomp/libgomp_f.h.in
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Jakub Jelinek <jakub@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains prototypes of functions in the external ABI.
- This file is included by files in the testsuite. */
-
-#ifndef LIBGOMP_F_H
-#define LIBGOMP_F_H 1
-
-#include "libgomp.h"
-
-#if (@OMP_LOCK_SIZE@ == @OMP_LOCK_KIND@) \
- && (@OMP_LOCK_ALIGN@ <= @OMP_LOCK_SIZE@)
-# define OMP_LOCK_DIRECT
-typedef omp_lock_t *omp_lock_arg_t;
-# define omp_lock_arg(arg) (arg)
-#else
-typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t;
-# define omp_lock_arg(arg) ((arg)->lock)
-# endif
-
-#if (@OMP_NEST_LOCK_SIZE@ == @OMP_NEST_LOCK_KIND@) \
- && (@OMP_NEST_LOCK_ALIGN@ <= @OMP_NEST_LOCK_SIZE@)
-# define OMP_NEST_LOCK_DIRECT
-typedef omp_nest_lock_t *omp_nest_lock_arg_t;
-# define omp_nest_lock_arg(arg) (arg)
-#else
-typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t;
-# define omp_nest_lock_arg(arg) ((arg)->lock)
-# endif
-
-#if (@OMP_LOCK_25_SIZE@ == @OMP_LOCK_25_KIND@) \
- && (@OMP_LOCK_25_ALIGN@ <= @OMP_LOCK_25_SIZE@)
-# define OMP_LOCK_25_DIRECT
-typedef omp_lock_25_t *omp_lock_25_arg_t;
-# define omp_lock_25_arg(arg) (arg)
-#else
-typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t;
-# define omp_lock_25_arg(arg) ((arg)->lock)
-# endif
-
-#if (@OMP_NEST_LOCK_25_SIZE@ == @OMP_NEST_LOCK_25_KIND@) \
- && (@OMP_NEST_LOCK_25_ALIGN@ <= @OMP_NEST_LOCK_25_SIZE@)
-# define OMP_NEST_LOCK_25_DIRECT
-typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t;
-# define omp_nest_lock_25_arg(arg) (arg)
-#else
-typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t;
-# define omp_nest_lock_25_arg(arg) ((arg)->lock)
-# endif
-
-static inline void
-omp_check_defines (void)
-{
- char test[(@OMP_LOCK_SIZE@ != sizeof (omp_lock_t)
- || @OMP_LOCK_ALIGN@ != __alignof (omp_lock_t)
- || @OMP_NEST_LOCK_SIZE@ != sizeof (omp_nest_lock_t)
- || @OMP_NEST_LOCK_ALIGN@ != __alignof (omp_nest_lock_t)
- || @OMP_LOCK_KIND@ != sizeof (*(omp_lock_arg_t) 0)
- || @OMP_NEST_LOCK_KIND@ != sizeof (*(omp_nest_lock_arg_t) 0))
- ? -1 : 1] __attribute__ ((__unused__));
- char test2[(@OMP_LOCK_25_SIZE@ != sizeof (omp_lock_25_t)
- || @OMP_LOCK_25_ALIGN@ != __alignof (omp_lock_25_t)
- || @OMP_NEST_LOCK_25_SIZE@ != sizeof (omp_nest_lock_25_t)
- || @OMP_NEST_LOCK_25_ALIGN@ != __alignof (omp_nest_lock_25_t)
- || @OMP_LOCK_25_KIND@ != sizeof (*(omp_lock_25_arg_t) 0)
- || @OMP_NEST_LOCK_25_KIND@
- != sizeof (*(omp_nest_lock_25_arg_t) 0))
- ? -1 : 1] __attribute__ ((__unused__));
-}
-
-#endif /* LIBGOMP_F_H */
diff --git a/gcc-4.4.3/libgomp/libgomp_g.h b/gcc-4.4.3/libgomp/libgomp_g.h
deleted file mode 100644
index 18f69bc1e..000000000
--- a/gcc-4.4.3/libgomp/libgomp_g.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains prototypes of functions in the external ABI.
- This file is included by files in the testsuite. */
-
-#ifndef LIBGOMP_G_H
-#define LIBGOMP_G_H 1
-
-#include <stdbool.h>
-
-/* barrier.c */
-
-extern void GOMP_barrier (void);
-
-/* critical.c */
-
-extern void GOMP_critical_start (void);
-extern void GOMP_critical_end (void);
-extern void GOMP_critical_name_start (void **);
-extern void GOMP_critical_name_end (void **);
-extern void GOMP_atomic_start (void);
-extern void GOMP_atomic_end (void);
-
-/* loop.c */
-
-extern bool GOMP_loop_static_start (long, long, long, long, long *, long *);
-extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *);
-extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *);
-extern bool GOMP_loop_runtime_start (long, long, long, long *, long *);
-
-extern bool GOMP_loop_ordered_static_start (long, long, long, long,
- long *, long *);
-extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long,
- long *, long *);
-extern bool GOMP_loop_ordered_guided_start (long, long, long, long,
- long *, long *);
-extern bool GOMP_loop_ordered_runtime_start (long, long, long, long *, long *);
-
-extern bool GOMP_loop_static_next (long *, long *);
-extern bool GOMP_loop_dynamic_next (long *, long *);
-extern bool GOMP_loop_guided_next (long *, long *);
-extern bool GOMP_loop_runtime_next (long *, long *);
-
-extern bool GOMP_loop_ordered_static_next (long *, long *);
-extern bool GOMP_loop_ordered_dynamic_next (long *, long *);
-extern bool GOMP_loop_ordered_guided_next (long *, long *);
-extern bool GOMP_loop_ordered_runtime_next (long *, long *);
-
-extern void GOMP_parallel_loop_static_start (void (*)(void *), void *,
- unsigned, long, long, long, long);
-extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *,
- unsigned, long, long, long, long);
-extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *,
- unsigned, long, long, long, long);
-extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *,
- unsigned, long, long, long);
-
-extern void GOMP_loop_end (void);
-extern void GOMP_loop_end_nowait (void);
-
-/* loop_ull.c */
-
-extern bool GOMP_loop_ull_static_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_dynamic_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_guided_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-
-extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_ordered_dynamic_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_ordered_guided_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_ordered_runtime_start (bool, unsigned long long,
- unsigned long long,
- unsigned long long,
- unsigned long long *,
- unsigned long long *);
-
-extern bool GOMP_loop_ull_static_next (unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_dynamic_next (unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_guided_next (unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_runtime_next (unsigned long long *,
- unsigned long long *);
-
-extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_ordered_guided_next (unsigned long long *,
- unsigned long long *);
-extern bool GOMP_loop_ull_ordered_runtime_next (unsigned long long *,
- unsigned long long *);
-
-/* ordered.c */
-
-extern void GOMP_ordered_start (void);
-extern void GOMP_ordered_end (void);
-
-/* parallel.c */
-
-extern void GOMP_parallel_start (void (*) (void *), void *, unsigned);
-extern void GOMP_parallel_end (void);
-
-/* team.c */
-
-extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *),
- long, long, bool, unsigned);
-extern void GOMP_taskwait (void);
-
-/* sections.c */
-
-extern unsigned GOMP_sections_start (unsigned);
-extern unsigned GOMP_sections_next (void);
-extern void GOMP_parallel_sections_start (void (*) (void *), void *,
- unsigned, unsigned);
-extern void GOMP_sections_end (void);
-extern void GOMP_sections_end_nowait (void);
-
-/* single.c */
-
-extern bool GOMP_single_start (void);
-extern void *GOMP_single_copy_start (void);
-extern void GOMP_single_copy_end (void *);
-
-#endif /* LIBGOMP_G_H */
diff --git a/gcc-4.4.3/libgomp/loop.c b/gcc-4.4.3/libgomp/loop.c
deleted file mode 100644
index ca389214c..000000000
--- a/gcc-4.4.3/libgomp/loop.c
+++ /dev/null
@@ -1,620 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the LOOP (FOR/DO) construct. */
-
-#include <limits.h>
-#include <stdlib.h>
-#include "libgomp.h"
-
-
-/* Initialize the given work share construct from the given arguments. */
-
-static inline void
-gomp_loop_init (struct gomp_work_share *ws, long start, long end, long incr,
- enum gomp_schedule_type sched, long chunk_size)
-{
- ws->sched = sched;
- ws->chunk_size = chunk_size;
- /* Canonicalize loops that have zero iterations to ->next == ->end. */
- ws->end = ((incr > 0 && start > end) || (incr < 0 && start < end))
- ? start : end;
- ws->incr = incr;
- ws->next = start;
- if (sched == GFS_DYNAMIC)
- {
- ws->chunk_size *= incr;
-
-#ifdef HAVE_SYNC_BUILTINS
- {
- /* For dynamic scheduling prepare things to make each iteration
- faster. */
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- long nthreads = team ? team->nthreads : 1;
-
- if (__builtin_expect (incr > 0, 1))
- {
- /* Cheap overflow protection. */
- if (__builtin_expect ((nthreads | ws->chunk_size)
- >= 1UL << (sizeof (long)
- * __CHAR_BIT__ / 2 - 1), 0))
- ws->mode = 0;
- else
- ws->mode = ws->end < (LONG_MAX
- - (nthreads + 1) * ws->chunk_size);
- }
- /* Cheap overflow protection. */
- else if (__builtin_expect ((nthreads | -ws->chunk_size)
- >= 1UL << (sizeof (long)
- * __CHAR_BIT__ / 2 - 1), 0))
- ws->mode = 0;
- else
- ws->mode = ws->end > (nthreads + 1) * -ws->chunk_size - LONG_MAX;
- }
-#endif
- }
-}
-
-/* The *_start routines are called when first encountering a loop construct
- that is not bound directly to a parallel construct. The first thread
- that arrives will create the work-share construct; subsequent threads
- will see the construct exists and allocate work from it.
-
- START, END, INCR are the bounds of the loop; due to the restrictions of
- OpenMP, these values must be the same in every thread. This is not
- verified (nor is it entirely verifiable, since START is not necessarily
- retained intact in the work-share data structure). CHUNK_SIZE is the
- scheduling parameter; again this must be identical in all threads.
-
- Returns true if there's any work for this thread to perform. If so,
- *ISTART and *IEND are filled with the bounds of the iteration block
- allocated to this thread. Returns false if all work was assigned to
- other threads prior to this thread's arrival. */
-
-static bool
-gomp_loop_static_start (long start, long end, long incr, long chunk_size,
- long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- thr->ts.static_trip = 0;
- if (gomp_work_share_start (false))
- {
- gomp_loop_init (thr->ts.work_share, start, end, incr,
- GFS_STATIC, chunk_size);
- gomp_work_share_init_done ();
- }
-
- return !gomp_iter_static_next (istart, iend);
-}
-
-static bool
-gomp_loop_dynamic_start (long start, long end, long incr, long chunk_size,
- long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (false))
- {
- gomp_loop_init (thr->ts.work_share, start, end, incr,
- GFS_DYNAMIC, chunk_size);
- gomp_work_share_init_done ();
- }
-
-#ifdef HAVE_SYNC_BUILTINS
- ret = gomp_iter_dynamic_next (istart, iend);
-#else
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_dynamic_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-static bool
-gomp_loop_guided_start (long start, long end, long incr, long chunk_size,
- long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (false))
- {
- gomp_loop_init (thr->ts.work_share, start, end, incr,
- GFS_GUIDED, chunk_size);
- gomp_work_share_init_done ();
- }
-
-#ifdef HAVE_SYNC_BUILTINS
- ret = gomp_iter_guided_next (istart, iend);
-#else
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_guided_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-bool
-GOMP_loop_runtime_start (long start, long end, long incr,
- long *istart, long *iend)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- switch (icv->run_sched_var)
- {
- case GFS_STATIC:
- return gomp_loop_static_start (start, end, incr, icv->run_sched_modifier,
- istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_dynamic_start (start, end, incr, icv->run_sched_modifier,
- istart, iend);
- case GFS_GUIDED:
- return gomp_loop_guided_start (start, end, incr, icv->run_sched_modifier,
- istart, iend);
- case GFS_AUTO:
- /* For now map to schedule(static), later on we could play with feedback
- driven choice. */
- return gomp_loop_static_start (start, end, incr, 0, istart, iend);
- default:
- abort ();
- }
-}
-
-/* The *_ordered_*_start routines are similar. The only difference is that
- this work-share construct is initialized to expect an ORDERED section. */
-
-static bool
-gomp_loop_ordered_static_start (long start, long end, long incr,
- long chunk_size, long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- thr->ts.static_trip = 0;
- if (gomp_work_share_start (true))
- {
- gomp_loop_init (thr->ts.work_share, start, end, incr,
- GFS_STATIC, chunk_size);
- gomp_ordered_static_init ();
- gomp_work_share_init_done ();
- }
-
- return !gomp_iter_static_next (istart, iend);
-}
-
-static bool
-gomp_loop_ordered_dynamic_start (long start, long end, long incr,
- long chunk_size, long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (true))
- {
- gomp_loop_init (thr->ts.work_share, start, end, incr,
- GFS_DYNAMIC, chunk_size);
- gomp_mutex_lock (&thr->ts.work_share->lock);
- gomp_work_share_init_done ();
- }
- else
- gomp_mutex_lock (&thr->ts.work_share->lock);
-
- ret = gomp_iter_dynamic_next_locked (istart, iend);
- if (ret)
- gomp_ordered_first ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-static bool
-gomp_loop_ordered_guided_start (long start, long end, long incr,
- long chunk_size, long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (true))
- {
- gomp_loop_init (thr->ts.work_share, start, end, incr,
- GFS_GUIDED, chunk_size);
- gomp_mutex_lock (&thr->ts.work_share->lock);
- gomp_work_share_init_done ();
- }
- else
- gomp_mutex_lock (&thr->ts.work_share->lock);
-
- ret = gomp_iter_guided_next_locked (istart, iend);
- if (ret)
- gomp_ordered_first ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-bool
-GOMP_loop_ordered_runtime_start (long start, long end, long incr,
- long *istart, long *iend)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- switch (icv->run_sched_var)
- {
- case GFS_STATIC:
- return gomp_loop_ordered_static_start (start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_ordered_dynamic_start (start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_GUIDED:
- return gomp_loop_ordered_guided_start (start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_AUTO:
- /* For now map to schedule(static), later on we could play with feedback
- driven choice. */
- return gomp_loop_ordered_static_start (start, end, incr,
- 0, istart, iend);
- default:
- abort ();
- }
-}
-
-/* The *_next routines are called when the thread completes processing of
- the iteration block currently assigned to it. If the work-share
- construct is bound directly to a parallel construct, then the iteration
- bounds may have been set up before the parallel. In which case, this
- may be the first iteration for the thread.
-
- Returns true if there is work remaining to be performed; *ISTART and
- *IEND are filled with a new iteration block. Returns false if all work
- has been assigned. */
-
-static bool
-gomp_loop_static_next (long *istart, long *iend)
-{
- return !gomp_iter_static_next (istart, iend);
-}
-
-static bool
-gomp_loop_dynamic_next (long *istart, long *iend)
-{
- bool ret;
-
-#ifdef HAVE_SYNC_BUILTINS
- ret = gomp_iter_dynamic_next (istart, iend);
-#else
- struct gomp_thread *thr = gomp_thread ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_dynamic_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-static bool
-gomp_loop_guided_next (long *istart, long *iend)
-{
- bool ret;
-
-#ifdef HAVE_SYNC_BUILTINS
- ret = gomp_iter_guided_next (istart, iend);
-#else
- struct gomp_thread *thr = gomp_thread ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_guided_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-bool
-GOMP_loop_runtime_next (long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- switch (thr->ts.work_share->sched)
- {
- case GFS_STATIC:
- case GFS_AUTO:
- return gomp_loop_static_next (istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_dynamic_next (istart, iend);
- case GFS_GUIDED:
- return gomp_loop_guided_next (istart, iend);
- default:
- abort ();
- }
-}
-
-/* The *_ordered_*_next routines are called when the thread completes
- processing of the iteration block currently assigned to it.
-
- Returns true if there is work remaining to be performed; *ISTART and
- *IEND are filled with a new iteration block. Returns false if all work
- has been assigned. */
-
-static bool
-gomp_loop_ordered_static_next (long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- int test;
-
- gomp_ordered_sync ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- test = gomp_iter_static_next (istart, iend);
- if (test >= 0)
- gomp_ordered_static_next ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return test == 0;
-}
-
-static bool
-gomp_loop_ordered_dynamic_next (long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- gomp_ordered_sync ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_dynamic_next_locked (istart, iend);
- if (ret)
- gomp_ordered_next ();
- else
- gomp_ordered_last ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-static bool
-gomp_loop_ordered_guided_next (long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- gomp_ordered_sync ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_guided_next_locked (istart, iend);
- if (ret)
- gomp_ordered_next ();
- else
- gomp_ordered_last ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-bool
-GOMP_loop_ordered_runtime_next (long *istart, long *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- switch (thr->ts.work_share->sched)
- {
- case GFS_STATIC:
- case GFS_AUTO:
- return gomp_loop_ordered_static_next (istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_ordered_dynamic_next (istart, iend);
- case GFS_GUIDED:
- return gomp_loop_ordered_guided_next (istart, iend);
- default:
- abort ();
- }
-}
-
-/* The GOMP_parallel_loop_* routines pre-initialize a work-share construct
- to avoid one synchronization once we get into the loop. */
-
-static void
-gomp_parallel_loop_start (void (*fn) (void *), void *data,
- unsigned num_threads, long start, long end,
- long incr, enum gomp_schedule_type sched,
- long chunk_size)
-{
- struct gomp_team *team;
-
- num_threads = gomp_resolve_num_threads (num_threads, 0);
- team = gomp_new_team (num_threads);
- gomp_loop_init (&team->work_shares[0], start, end, incr, sched, chunk_size);
- gomp_team_start (fn, data, num_threads, team);
-}
-
-void
-GOMP_parallel_loop_static_start (void (*fn) (void *), void *data,
- unsigned num_threads, long start, long end,
- long incr, long chunk_size)
-{
- gomp_parallel_loop_start (fn, data, num_threads, start, end, incr,
- GFS_STATIC, chunk_size);
-}
-
-void
-GOMP_parallel_loop_dynamic_start (void (*fn) (void *), void *data,
- unsigned num_threads, long start, long end,
- long incr, long chunk_size)
-{
- gomp_parallel_loop_start (fn, data, num_threads, start, end, incr,
- GFS_DYNAMIC, chunk_size);
-}
-
-void
-GOMP_parallel_loop_guided_start (void (*fn) (void *), void *data,
- unsigned num_threads, long start, long end,
- long incr, long chunk_size)
-{
- gomp_parallel_loop_start (fn, data, num_threads, start, end, incr,
- GFS_GUIDED, chunk_size);
-}
-
-void
-GOMP_parallel_loop_runtime_start (void (*fn) (void *), void *data,
- unsigned num_threads, long start, long end,
- long incr)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- gomp_parallel_loop_start (fn, data, num_threads, start, end, incr,
- icv->run_sched_var, icv->run_sched_modifier);
-}
-
-/* The GOMP_loop_end* routines are called after the thread is told that
- all loop iterations are complete. This first version synchronizes
- all threads; the nowait version does not. */
-
-void
-GOMP_loop_end (void)
-{
- gomp_work_share_end ();
-}
-
-void
-GOMP_loop_end_nowait (void)
-{
- gomp_work_share_end_nowait ();
-}
-
-
-/* We use static functions above so that we're sure that the "runtime"
- function can defer to the proper routine without interposition. We
- export the static function with a strong alias when possible, or with
- a wrapper function otherwise. */
-
-#ifdef HAVE_ATTRIBUTE_ALIAS
-extern __typeof(gomp_loop_static_start) GOMP_loop_static_start
- __attribute__((alias ("gomp_loop_static_start")));
-extern __typeof(gomp_loop_dynamic_start) GOMP_loop_dynamic_start
- __attribute__((alias ("gomp_loop_dynamic_start")));
-extern __typeof(gomp_loop_guided_start) GOMP_loop_guided_start
- __attribute__((alias ("gomp_loop_guided_start")));
-
-extern __typeof(gomp_loop_ordered_static_start) GOMP_loop_ordered_static_start
- __attribute__((alias ("gomp_loop_ordered_static_start")));
-extern __typeof(gomp_loop_ordered_dynamic_start) GOMP_loop_ordered_dynamic_start
- __attribute__((alias ("gomp_loop_ordered_dynamic_start")));
-extern __typeof(gomp_loop_ordered_guided_start) GOMP_loop_ordered_guided_start
- __attribute__((alias ("gomp_loop_ordered_guided_start")));
-
-extern __typeof(gomp_loop_static_next) GOMP_loop_static_next
- __attribute__((alias ("gomp_loop_static_next")));
-extern __typeof(gomp_loop_dynamic_next) GOMP_loop_dynamic_next
- __attribute__((alias ("gomp_loop_dynamic_next")));
-extern __typeof(gomp_loop_guided_next) GOMP_loop_guided_next
- __attribute__((alias ("gomp_loop_guided_next")));
-
-extern __typeof(gomp_loop_ordered_static_next) GOMP_loop_ordered_static_next
- __attribute__((alias ("gomp_loop_ordered_static_next")));
-extern __typeof(gomp_loop_ordered_dynamic_next) GOMP_loop_ordered_dynamic_next
- __attribute__((alias ("gomp_loop_ordered_dynamic_next")));
-extern __typeof(gomp_loop_ordered_guided_next) GOMP_loop_ordered_guided_next
- __attribute__((alias ("gomp_loop_ordered_guided_next")));
-#else
-bool
-GOMP_loop_static_start (long start, long end, long incr, long chunk_size,
- long *istart, long *iend)
-{
- return gomp_loop_static_start (start, end, incr, chunk_size, istart, iend);
-}
-
-bool
-GOMP_loop_dynamic_start (long start, long end, long incr, long chunk_size,
- long *istart, long *iend)
-{
- return gomp_loop_dynamic_start (start, end, incr, chunk_size, istart, iend);
-}
-
-bool
-GOMP_loop_guided_start (long start, long end, long incr, long chunk_size,
- long *istart, long *iend)
-{
- return gomp_loop_guided_start (start, end, incr, chunk_size, istart, iend);
-}
-
-bool
-GOMP_loop_ordered_static_start (long start, long end, long incr,
- long chunk_size, long *istart, long *iend)
-{
- return gomp_loop_ordered_static_start (start, end, incr, chunk_size,
- istart, iend);
-}
-
-bool
-GOMP_loop_ordered_dynamic_start (long start, long end, long incr,
- long chunk_size, long *istart, long *iend)
-{
- return gomp_loop_ordered_dynamic_start (start, end, incr, chunk_size,
- istart, iend);
-}
-
-bool
-GOMP_loop_ordered_guided_start (long start, long end, long incr,
- long chunk_size, long *istart, long *iend)
-{
- return gomp_loop_ordered_guided_start (start, end, incr, chunk_size,
- istart, iend);
-}
-
-bool
-GOMP_loop_static_next (long *istart, long *iend)
-{
- return gomp_loop_static_next (istart, iend);
-}
-
-bool
-GOMP_loop_dynamic_next (long *istart, long *iend)
-{
- return gomp_loop_dynamic_next (istart, iend);
-}
-
-bool
-GOMP_loop_guided_next (long *istart, long *iend)
-{
- return gomp_loop_guided_next (istart, iend);
-}
-
-bool
-GOMP_loop_ordered_static_next (long *istart, long *iend)
-{
- return gomp_loop_ordered_static_next (istart, iend);
-}
-
-bool
-GOMP_loop_ordered_dynamic_next (long *istart, long *iend)
-{
- return gomp_loop_ordered_dynamic_next (istart, iend);
-}
-
-bool
-GOMP_loop_ordered_guided_next (long *istart, long *iend)
-{
- return gomp_loop_ordered_guided_next (istart, iend);
-}
-#endif
diff --git a/gcc-4.4.3/libgomp/loop_ull.c b/gcc-4.4.3/libgomp/loop_ull.c
deleted file mode 100644
index 82da2d56e..000000000
--- a/gcc-4.4.3/libgomp/loop_ull.c
+++ /dev/null
@@ -1,571 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the LOOP (FOR/DO) construct. */
-
-#include <limits.h>
-#include <stdlib.h>
-#include "libgomp.h"
-
-typedef unsigned long long gomp_ull;
-
-/* Initialize the given work share construct from the given arguments. */
-
-static inline void
-gomp_loop_ull_init (struct gomp_work_share *ws, bool up, gomp_ull start,
- gomp_ull end, gomp_ull incr, enum gomp_schedule_type sched,
- gomp_ull chunk_size)
-{
- ws->sched = sched;
- ws->chunk_size_ull = chunk_size;
- /* Canonicalize loops that have zero iterations to ->next == ->end. */
- ws->end_ull = ((up && start > end) || (!up && start < end))
- ? start : end;
- ws->incr_ull = incr;
- ws->next_ull = start;
- ws->mode = 0;
- if (sched == GFS_DYNAMIC)
- {
- ws->chunk_size_ull *= incr;
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
- {
- /* For dynamic scheduling prepare things to make each iteration
- faster. */
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- long nthreads = team ? team->nthreads : 1;
-
- if (__builtin_expect (up, 1))
- {
- /* Cheap overflow protection. */
- if (__builtin_expect ((nthreads | ws->chunk_size_ull)
- < 1ULL << (sizeof (gomp_ull)
- * __CHAR_BIT__ / 2 - 1), 1))
- ws->mode = ws->end_ull < (__LONG_LONG_MAX__ * 2ULL + 1
- - (nthreads + 1) * ws->chunk_size_ull);
- }
- /* Cheap overflow protection. */
- else if (__builtin_expect ((nthreads | -ws->chunk_size_ull)
- < 1ULL << (sizeof (gomp_ull)
- * __CHAR_BIT__ / 2 - 1), 1))
- ws->mode = ws->end_ull > ((nthreads + 1) * -ws->chunk_size_ull
- - (__LONG_LONG_MAX__ * 2ULL + 1));
- }
-#endif
- }
- if (!up)
- ws->mode |= 2;
-}
-
-/* The *_start routines are called when first encountering a loop construct
- that is not bound directly to a parallel construct. The first thread
- that arrives will create the work-share construct; subsequent threads
- will see the construct exists and allocate work from it.
-
- START, END, INCR are the bounds of the loop; due to the restrictions of
- OpenMP, these values must be the same in every thread. This is not
- verified (nor is it entirely verifiable, since START is not necessarily
- retained intact in the work-share data structure). CHUNK_SIZE is the
- scheduling parameter; again this must be identical in all threads.
-
- Returns true if there's any work for this thread to perform. If so,
- *ISTART and *IEND are filled with the bounds of the iteration block
- allocated to this thread. Returns false if all work was assigned to
- other threads prior to this thread's arrival. */
-
-static bool
-gomp_loop_ull_static_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- thr->ts.static_trip = 0;
- if (gomp_work_share_start (false))
- {
- gomp_loop_ull_init (thr->ts.work_share, up, start, end, incr,
- GFS_STATIC, chunk_size);
- gomp_work_share_init_done ();
- }
-
- return !gomp_iter_ull_static_next (istart, iend);
-}
-
-static bool
-gomp_loop_ull_dynamic_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (false))
- {
- gomp_loop_ull_init (thr->ts.work_share, up, start, end, incr,
- GFS_DYNAMIC, chunk_size);
- gomp_work_share_init_done ();
- }
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
- ret = gomp_iter_ull_dynamic_next (istart, iend);
-#else
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_ull_dynamic_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-static bool
-gomp_loop_ull_guided_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (false))
- {
- gomp_loop_ull_init (thr->ts.work_share, up, start, end, incr,
- GFS_GUIDED, chunk_size);
- gomp_work_share_init_done ();
- }
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
- ret = gomp_iter_ull_guided_next (istart, iend);
-#else
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_ull_guided_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-bool
-GOMP_loop_ull_runtime_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- switch (icv->run_sched_var)
- {
- case GFS_STATIC:
- return gomp_loop_ull_static_start (up, start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_ull_dynamic_start (up, start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_GUIDED:
- return gomp_loop_ull_guided_start (up, start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_AUTO:
- /* For now map to schedule(static), later on we could play with feedback
- driven choice. */
- return gomp_loop_ull_static_start (up, start, end, incr,
- 0, istart, iend);
- default:
- abort ();
- }
-}
-
-/* The *_ordered_*_start routines are similar. The only difference is that
- this work-share construct is initialized to expect an ORDERED section. */
-
-static bool
-gomp_loop_ull_ordered_static_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- thr->ts.static_trip = 0;
- if (gomp_work_share_start (true))
- {
- gomp_loop_ull_init (thr->ts.work_share, up, start, end, incr,
- GFS_STATIC, chunk_size);
- gomp_ordered_static_init ();
- gomp_work_share_init_done ();
- }
-
- return !gomp_iter_ull_static_next (istart, iend);
-}
-
-static bool
-gomp_loop_ull_ordered_dynamic_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (true))
- {
- gomp_loop_ull_init (thr->ts.work_share, up, start, end, incr,
- GFS_DYNAMIC, chunk_size);
- gomp_mutex_lock (&thr->ts.work_share->lock);
- gomp_work_share_init_done ();
- }
- else
- gomp_mutex_lock (&thr->ts.work_share->lock);
-
- ret = gomp_iter_ull_dynamic_next_locked (istart, iend);
- if (ret)
- gomp_ordered_first ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-static bool
-gomp_loop_ull_ordered_guided_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- if (gomp_work_share_start (true))
- {
- gomp_loop_ull_init (thr->ts.work_share, up, start, end, incr,
- GFS_GUIDED, chunk_size);
- gomp_mutex_lock (&thr->ts.work_share->lock);
- gomp_work_share_init_done ();
- }
- else
- gomp_mutex_lock (&thr->ts.work_share->lock);
-
- ret = gomp_iter_ull_guided_next_locked (istart, iend);
- if (ret)
- gomp_ordered_first ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-bool
-GOMP_loop_ull_ordered_runtime_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull *istart,
- gomp_ull *iend)
-{
- struct gomp_task_icv *icv = gomp_icv (false);
- switch (icv->run_sched_var)
- {
- case GFS_STATIC:
- return gomp_loop_ull_ordered_static_start (up, start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_ull_ordered_dynamic_start (up, start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_GUIDED:
- return gomp_loop_ull_ordered_guided_start (up, start, end, incr,
- icv->run_sched_modifier,
- istart, iend);
- case GFS_AUTO:
- /* For now map to schedule(static), later on we could play with feedback
- driven choice. */
- return gomp_loop_ull_ordered_static_start (up, start, end, incr,
- 0, istart, iend);
- default:
- abort ();
- }
-}
-
-/* The *_next routines are called when the thread completes processing of
- the iteration block currently assigned to it. If the work-share
- construct is bound directly to a parallel construct, then the iteration
- bounds may have been set up before the parallel. In which case, this
- may be the first iteration for the thread.
-
- Returns true if there is work remaining to be performed; *ISTART and
- *IEND are filled with a new iteration block. Returns false if all work
- has been assigned. */
-
-static bool
-gomp_loop_ull_static_next (gomp_ull *istart, gomp_ull *iend)
-{
- return !gomp_iter_ull_static_next (istart, iend);
-}
-
-static bool
-gomp_loop_ull_dynamic_next (gomp_ull *istart, gomp_ull *iend)
-{
- bool ret;
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
- ret = gomp_iter_ull_dynamic_next (istart, iend);
-#else
- struct gomp_thread *thr = gomp_thread ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_ull_dynamic_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-static bool
-gomp_loop_ull_guided_next (gomp_ull *istart, gomp_ull *iend)
-{
- bool ret;
-
-#if defined HAVE_SYNC_BUILTINS && defined __LP64__
- ret = gomp_iter_ull_guided_next (istart, iend);
-#else
- struct gomp_thread *thr = gomp_thread ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_ull_guided_next_locked (istart, iend);
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-bool
-GOMP_loop_ull_runtime_next (gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- switch (thr->ts.work_share->sched)
- {
- case GFS_STATIC:
- case GFS_AUTO:
- return gomp_loop_ull_static_next (istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_ull_dynamic_next (istart, iend);
- case GFS_GUIDED:
- return gomp_loop_ull_guided_next (istart, iend);
- default:
- abort ();
- }
-}
-
-/* The *_ordered_*_next routines are called when the thread completes
- processing of the iteration block currently assigned to it.
-
- Returns true if there is work remaining to be performed; *ISTART and
- *IEND are filled with a new iteration block. Returns false if all work
- has been assigned. */
-
-static bool
-gomp_loop_ull_ordered_static_next (gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- int test;
-
- gomp_ordered_sync ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- test = gomp_iter_ull_static_next (istart, iend);
- if (test >= 0)
- gomp_ordered_static_next ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return test == 0;
-}
-
-static bool
-gomp_loop_ull_ordered_dynamic_next (gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- gomp_ordered_sync ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_ull_dynamic_next_locked (istart, iend);
- if (ret)
- gomp_ordered_next ();
- else
- gomp_ordered_last ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-static bool
-gomp_loop_ull_ordered_guided_next (gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
- bool ret;
-
- gomp_ordered_sync ();
- gomp_mutex_lock (&thr->ts.work_share->lock);
- ret = gomp_iter_ull_guided_next_locked (istart, iend);
- if (ret)
- gomp_ordered_next ();
- else
- gomp_ordered_last ();
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-
- return ret;
-}
-
-bool
-GOMP_loop_ull_ordered_runtime_next (gomp_ull *istart, gomp_ull *iend)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- switch (thr->ts.work_share->sched)
- {
- case GFS_STATIC:
- case GFS_AUTO:
- return gomp_loop_ull_ordered_static_next (istart, iend);
- case GFS_DYNAMIC:
- return gomp_loop_ull_ordered_dynamic_next (istart, iend);
- case GFS_GUIDED:
- return gomp_loop_ull_ordered_guided_next (istart, iend);
- default:
- abort ();
- }
-}
-
-/* We use static functions above so that we're sure that the "runtime"
- function can defer to the proper routine without interposition. We
- export the static function with a strong alias when possible, or with
- a wrapper function otherwise. */
-
-#ifdef HAVE_ATTRIBUTE_ALIAS
-extern __typeof(gomp_loop_ull_static_start) GOMP_loop_ull_static_start
- __attribute__((alias ("gomp_loop_ull_static_start")));
-extern __typeof(gomp_loop_ull_dynamic_start) GOMP_loop_ull_dynamic_start
- __attribute__((alias ("gomp_loop_ull_dynamic_start")));
-extern __typeof(gomp_loop_ull_guided_start) GOMP_loop_ull_guided_start
- __attribute__((alias ("gomp_loop_ull_guided_start")));
-
-extern __typeof(gomp_loop_ull_ordered_static_start) GOMP_loop_ull_ordered_static_start
- __attribute__((alias ("gomp_loop_ull_ordered_static_start")));
-extern __typeof(gomp_loop_ull_ordered_dynamic_start) GOMP_loop_ull_ordered_dynamic_start
- __attribute__((alias ("gomp_loop_ull_ordered_dynamic_start")));
-extern __typeof(gomp_loop_ull_ordered_guided_start) GOMP_loop_ull_ordered_guided_start
- __attribute__((alias ("gomp_loop_ull_ordered_guided_start")));
-
-extern __typeof(gomp_loop_ull_static_next) GOMP_loop_ull_static_next
- __attribute__((alias ("gomp_loop_ull_static_next")));
-extern __typeof(gomp_loop_ull_dynamic_next) GOMP_loop_ull_dynamic_next
- __attribute__((alias ("gomp_loop_ull_dynamic_next")));
-extern __typeof(gomp_loop_ull_guided_next) GOMP_loop_ull_guided_next
- __attribute__((alias ("gomp_loop_ull_guided_next")));
-
-extern __typeof(gomp_loop_ull_ordered_static_next) GOMP_loop_ull_ordered_static_next
- __attribute__((alias ("gomp_loop_ull_ordered_static_next")));
-extern __typeof(gomp_loop_ull_ordered_dynamic_next) GOMP_loop_ull_ordered_dynamic_next
- __attribute__((alias ("gomp_loop_ull_ordered_dynamic_next")));
-extern __typeof(gomp_loop_ull_ordered_guided_next) GOMP_loop_ull_ordered_guided_next
- __attribute__((alias ("gomp_loop_ull_ordered_guided_next")));
-#else
-bool
-GOMP_loop_ull_static_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_static_start (up, start, end, incr, chunk_size, istart,
- iend);
-}
-
-bool
-GOMP_loop_ull_dynamic_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_dynamic_start (up, start, end, incr, chunk_size, istart,
- iend);
-}
-
-bool
-GOMP_loop_ull_guided_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_guided_start (up, start, end, incr, chunk_size, istart,
- iend);
-}
-
-bool
-GOMP_loop_ull_ordered_static_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_ordered_static_start (up, start, end, incr, chunk_size,
- istart, iend);
-}
-
-bool
-GOMP_loop_ull_ordered_dynamic_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_ordered_dynamic_start (up, start, end, incr, chunk_size,
- istart, iend);
-}
-
-bool
-GOMP_loop_ull_ordered_guided_start (bool up, gomp_ull start, gomp_ull end,
- gomp_ull incr, gomp_ull chunk_size,
- gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_ordered_guided_start (up, start, end, incr, chunk_size,
- istart, iend);
-}
-
-bool
-GOMP_loop_ull_static_next (gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_static_next (istart, iend);
-}
-
-bool
-GOMP_loop_ull_dynamic_next (gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_dynamic_next (istart, iend);
-}
-
-bool
-GOMP_loop_ull_guided_next (gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_guided_next (istart, iend);
-}
-
-bool
-GOMP_loop_ull_ordered_static_next (gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_ordered_static_next (istart, iend);
-}
-
-bool
-GOMP_loop_ull_ordered_dynamic_next (gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_ordered_dynamic_next (istart, iend);
-}
-
-bool
-GOMP_loop_ull_ordered_guided_next (gomp_ull *istart, gomp_ull *iend)
-{
- return gomp_loop_ull_ordered_guided_next (istart, iend);
-}
-#endif
diff --git a/gcc-4.4.3/libgomp/omp.h.in b/gcc-4.4.3/libgomp/omp.h.in
deleted file mode 100644
index 0198b8fd7..000000000
--- a/gcc-4.4.3/libgomp/omp.h.in
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef OMP_H
-#define OMP_H 1
-
-#ifndef _LIBGOMP_OMP_LOCK_DEFINED
-#define _LIBGOMP_OMP_LOCK_DEFINED 1
-/* These two structures get edited by the libgomp build process to
- reflect the shape of the two types. Their internals are private
- to the library. */
-
-typedef struct
-{
- unsigned char _x[@OMP_LOCK_SIZE@]
- __attribute__((__aligned__(@OMP_LOCK_ALIGN@)));
-} omp_lock_t;
-
-typedef struct
-{
- unsigned char _x[@OMP_NEST_LOCK_SIZE@]
- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
-} omp_nest_lock_t;
-#endif
-
-typedef enum omp_sched_t
-{
- omp_sched_static = 1,
- omp_sched_dynamic = 2,
- omp_sched_guided = 3,
- omp_sched_auto = 4
-} omp_sched_t;
-
-#ifdef __cplusplus
-extern "C" {
-# define __GOMP_NOTHROW throw ()
-#else
-# define __GOMP_NOTHROW __attribute__((__nothrow__))
-#endif
-
-extern void omp_set_num_threads (int) __GOMP_NOTHROW;
-extern int omp_get_num_threads (void) __GOMP_NOTHROW;
-extern int omp_get_max_threads (void) __GOMP_NOTHROW;
-extern int omp_get_thread_num (void) __GOMP_NOTHROW;
-extern int omp_get_num_procs (void) __GOMP_NOTHROW;
-
-extern int omp_in_parallel (void) __GOMP_NOTHROW;
-
-extern void omp_set_dynamic (int) __GOMP_NOTHROW;
-extern int omp_get_dynamic (void) __GOMP_NOTHROW;
-
-extern void omp_set_nested (int) __GOMP_NOTHROW;
-extern int omp_get_nested (void) __GOMP_NOTHROW;
-
-extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
-extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
-
-extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
-
-extern double omp_get_wtime (void) __GOMP_NOTHROW;
-extern double omp_get_wtick (void) __GOMP_NOTHROW;
-
-void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
-void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
-int omp_get_thread_limit (void) __GOMP_NOTHROW;
-void omp_set_max_active_levels (int) __GOMP_NOTHROW;
-int omp_get_max_active_levels (void) __GOMP_NOTHROW;
-int omp_get_level (void) __GOMP_NOTHROW;
-int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
-int omp_get_team_size (int) __GOMP_NOTHROW;
-int omp_get_active_level (void) __GOMP_NOTHROW;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* OMP_H */
diff --git a/gcc-4.4.3/libgomp/omp_lib.f90.in b/gcc-4.4.3/libgomp/omp_lib.f90.in
deleted file mode 100644
index 6b0b7aa26..000000000
--- a/gcc-4.4.3/libgomp/omp_lib.f90.in
+++ /dev/null
@@ -1,294 +0,0 @@
-! Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
-! Contributed by Jakub Jelinek <jakub@redhat.com>.
-
-! This file is part of the GNU OpenMP Library (libgomp).
-
-! Libgomp is free software; you can redistribute it and/or modify it
-! under the terms of the GNU General Public License as published by
-! the Free Software Foundation; either version 3, or (at your option)
-! any later version.
-
-! Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
-! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-! FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-! more details.
-
-! Under Section 7 of GPL version 3, you are granted additional
-! permissions described in the GCC Runtime Library Exception, version
-! 3.1, as published by the Free Software Foundation.
-
-! You should have received a copy of the GNU General Public License and
-! a copy of the GCC Runtime Library Exception along with this program;
-! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-! <http://www.gnu.org/licenses/>.
-
- module omp_lib_kinds
- implicit none
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_lock_kind = @OMP_LOCK_KIND@
- integer, parameter :: omp_nest_lock_kind = @OMP_NEST_LOCK_KIND@
- integer, parameter :: omp_sched_kind = 4
- end module
-
- module omp_lib
- use omp_lib_kinds
- implicit none
- integer, parameter :: openmp_version = 200805
- integer (omp_sched_kind), parameter :: omp_sched_static = 1
- integer (omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer (omp_sched_kind), parameter :: omp_sched_guided = 3
- integer (omp_sched_kind), parameter :: omp_sched_auto = 4
-
- interface
- subroutine omp_init_lock (lock)
- use omp_lib_kinds
- integer (omp_lock_kind), intent (out) :: lock
- end subroutine omp_init_lock
- end interface
-
- interface
- subroutine omp_init_nest_lock (lock)
- use omp_lib_kinds
- integer (omp_nest_lock_kind), intent (out) :: lock
- end subroutine omp_init_nest_lock
- end interface
-
- interface
- subroutine omp_destroy_lock (lock)
- use omp_lib_kinds
- integer (omp_lock_kind), intent (inout) :: lock
- end subroutine omp_destroy_lock
- end interface
-
- interface
- subroutine omp_destroy_nest_lock (lock)
- use omp_lib_kinds
- integer (omp_nest_lock_kind), intent (inout) :: lock
- end subroutine omp_destroy_nest_lock
- end interface
-
- interface
- subroutine omp_set_lock (lock)
- use omp_lib_kinds
- integer (omp_lock_kind), intent (inout) :: lock
- end subroutine omp_set_lock
- end interface
-
- interface
- subroutine omp_set_nest_lock (lock)
- use omp_lib_kinds
- integer (omp_nest_lock_kind), intent (inout) :: lock
- end subroutine omp_set_nest_lock
- end interface
-
- interface
- subroutine omp_unset_lock (lock)
- use omp_lib_kinds
- integer (omp_lock_kind), intent (inout) :: lock
- end subroutine omp_unset_lock
- end interface
-
- interface
- subroutine omp_unset_nest_lock (lock)
- use omp_lib_kinds
- integer (omp_nest_lock_kind), intent (inout) :: lock
- end subroutine omp_unset_nest_lock
- end interface
-
- interface omp_set_dynamic
- subroutine omp_set_dynamic (set)
- logical (4), intent (in) :: set
- end subroutine omp_set_dynamic
- subroutine omp_set_dynamic_8 (set)
- logical (8), intent (in) :: set
- end subroutine omp_set_dynamic_8
- end interface
-
- interface omp_set_nested
- subroutine omp_set_nested (set)
- logical (4), intent (in) :: set
- end subroutine omp_set_nested
- subroutine omp_set_nested_8 (set)
- logical (8), intent (in) :: set
- end subroutine omp_set_nested_8
- end interface
-
- interface omp_set_num_threads
- subroutine omp_set_num_threads (set)
- integer (4), intent (in) :: set
- end subroutine omp_set_num_threads
- subroutine omp_set_num_threads_8 (set)
- integer (8), intent (in) :: set
- end subroutine omp_set_num_threads_8
- end interface
-
- interface
- function omp_get_dynamic ()
- use omp_lib_kinds
- logical (omp_logical_kind) :: omp_get_dynamic
- end function omp_get_dynamic
- end interface
-
- interface
- function omp_get_nested ()
- use omp_lib_kinds
- logical (omp_logical_kind) :: omp_get_nested
- end function omp_get_nested
- end interface
-
- interface
- function omp_in_parallel ()
- use omp_lib_kinds
- logical (omp_logical_kind) :: omp_in_parallel
- end function omp_in_parallel
- end interface
-
- interface
- function omp_test_lock (lock)
- use omp_lib_kinds
- logical (omp_logical_kind) :: omp_test_lock
- integer (omp_lock_kind), intent (inout) :: lock
- end function omp_test_lock
- end interface
-
- interface
- function omp_get_max_threads ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_max_threads
- end function omp_get_max_threads
- end interface
-
- interface
- function omp_get_num_procs ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_num_procs
- end function omp_get_num_procs
- end interface
-
- interface
- function omp_get_num_threads ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_num_threads
- end function omp_get_num_threads
- end interface
-
- interface
- function omp_get_thread_num ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_thread_num
- end function omp_get_thread_num
- end interface
-
- interface
- function omp_test_nest_lock (lock)
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_test_nest_lock
- integer (omp_nest_lock_kind), intent (inout) :: lock
- end function omp_test_nest_lock
- end interface
-
- interface
- function omp_get_wtick ()
- double precision :: omp_get_wtick
- end function omp_get_wtick
- end interface
-
- interface
- function omp_get_wtime ()
- double precision :: omp_get_wtime
- end function omp_get_wtime
- end interface
-
- interface omp_set_schedule
- subroutine omp_set_schedule (kind, modifier)
- use omp_lib_kinds
- integer (omp_sched_kind), intent (in) :: kind
- integer (4), intent (in) :: modifier
- end subroutine omp_set_schedule
- subroutine omp_set_schedule_8 (kind, modifier)
- use omp_lib_kinds
- integer (omp_sched_kind), intent (in) :: kind
- integer (8), intent (in) :: modifier
- end subroutine omp_set_schedule_8
- end interface
-
- interface omp_get_schedule
- subroutine omp_get_schedule (kind, modifier)
- use omp_lib_kinds
- integer (omp_sched_kind), intent (out) :: kind
- integer (4), intent (out) :: modifier
- end subroutine omp_get_schedule
- subroutine omp_get_schedule_8 (kind, modifier)
- use omp_lib_kinds
- integer (omp_sched_kind), intent (out) :: kind
- integer (8), intent (out) :: modifier
- end subroutine omp_get_schedule_8
- end interface
-
- interface
- function omp_get_thread_limit ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_thread_limit
- end function omp_get_thread_limit
- end interface
-
- interface omp_set_max_active_levels
- subroutine omp_set_max_active_levels (max_levels)
- use omp_lib_kinds
- integer (4), intent (in) :: max_levels
- end subroutine omp_set_max_active_levels
- subroutine omp_set_max_active_levels_8 (max_levels)
- use omp_lib_kinds
- integer (8), intent (in) :: max_levels
- end subroutine omp_set_max_active_levels_8
- end interface
-
- interface
- function omp_get_max_active_levels ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_max_active_levels
- end function omp_get_max_active_levels
- end interface
-
- interface
- function omp_get_level ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_level
- end function omp_get_level
- end interface
-
- interface omp_get_ancestor_thread_num
- function omp_get_ancestor_thread_num (level)
- use omp_lib_kinds
- integer (4), intent (in) :: level
- integer (omp_integer_kind) :: omp_get_ancestor_thread_num
- end function omp_get_ancestor_thread_num
- function omp_get_ancestor_thread_num_8 (level)
- use omp_lib_kinds
- integer (8), intent (in) :: level
- integer (omp_integer_kind) :: omp_get_ancestor_thread_num_8
- end function omp_get_ancestor_thread_num_8
- end interface
-
- interface omp_get_team_size
- function omp_get_team_size (level)
- use omp_lib_kinds
- integer (4), intent (in) :: level
- integer (omp_integer_kind) :: omp_get_team_size
- end function omp_get_team_size
- function omp_get_team_size_8 (level)
- use omp_lib_kinds
- integer (8), intent (in) :: level
- integer (omp_integer_kind) :: omp_get_team_size_8
- end function omp_get_team_size_8
- end interface
-
- interface
- function omp_get_active_level ()
- use omp_lib_kinds
- integer (omp_integer_kind) :: omp_get_active_level
- end function omp_get_active_level
- end interface
-
- end module omp_lib
diff --git a/gcc-4.4.3/libgomp/omp_lib.h.in b/gcc-4.4.3/libgomp/omp_lib.h.in
deleted file mode 100644
index 2ff7a42fa..000000000
--- a/gcc-4.4.3/libgomp/omp_lib.h.in
+++ /dev/null
@@ -1,66 +0,0 @@
-! Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
-! Contributed by Jakub Jelinek <jakub@redhat.com>.
-
-! This file is part of the GNU OpenMP Library (libgomp).
-
-! Libgomp is free software; you can redistribute it and/or modify it
-! under the terms of the GNU General Public License as published by
-! the Free Software Foundation; either version 3, or (at your option)
-! any later version.
-
-! Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
-! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-! FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-! more details.
-
-! Under Section 7 of GPL version 3, you are granted additional
-! permissions described in the GCC Runtime Library Exception, version
-! 3.1, as published by the Free Software Foundation.
-
-! You should have received a copy of the GNU General Public License and
-! a copy of the GCC Runtime Library Exception along with this program;
-! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-! <http://www.gnu.org/licenses/>.
-
- integer omp_lock_kind, omp_nest_lock_kind, openmp_version
- integer omp_sched_kind, omp_sched_static, omp_sched_dynamic
- integer omp_sched_guided, omp_sched_auto
- parameter (omp_lock_kind = @OMP_LOCK_KIND@)
- parameter (omp_nest_lock_kind = @OMP_NEST_LOCK_KIND@)
- parameter (omp_sched_kind = 4)
- parameter (omp_sched_static = 1)
- parameter (omp_sched_dynamic = 2)
- parameter (omp_sched_guided = 3)
- parameter (omp_sched_auto = 4)
- parameter (openmp_version = 200805)
-
- external omp_init_lock, omp_init_nest_lock
- external omp_destroy_lock, omp_destroy_nest_lock
- external omp_set_lock, omp_set_nest_lock
- external omp_unset_lock, omp_unset_nest_lock
- external omp_set_dynamic, omp_set_nested
- external omp_set_num_threads
-
- external omp_get_dynamic, omp_get_nested
- logical(4) omp_get_dynamic, omp_get_nested
- external omp_test_lock, omp_in_parallel
- logical(4) omp_test_lock, omp_in_parallel
-
- external omp_get_max_threads, omp_get_num_procs
- integer(4) omp_get_max_threads, omp_get_num_procs
- external omp_get_num_threads, omp_get_thread_num
- integer(4) omp_get_num_threads, omp_get_thread_num
- external omp_test_nest_lock
- integer(4) omp_test_nest_lock
-
- external omp_get_wtick, omp_get_wtime
- double precision omp_get_wtick, omp_get_wtime
-
- external omp_set_schedule, omp_get_schedule
- external omp_get_thread_limit, omp_set_max_active_levels
- external omp_get_max_active_levels, omp_get_level
- external omp_get_ancestor_thread_num, omp_get_team_size
- external omp_get_active_level
- integer(4) omp_get_thread_limit, omp_get_max_active_levels
- integer(4) omp_get_level, omp_get_ancestor_thread_num
- integer(4) omp_get_team_size, omp_get_active_level
diff --git a/gcc-4.4.3/libgomp/ordered.c b/gcc-4.4.3/libgomp/ordered.c
deleted file mode 100644
index e5673fe1c..000000000
--- a/gcc-4.4.3/libgomp/ordered.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* Copyright (C) 2005, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the ORDERED construct. */
-
-#include "libgomp.h"
-
-
-/* This function is called when first allocating an iteration block. That
- is, the thread is not currently on the queue. The work-share lock must
- be held on entry. */
-
-void
-gomp_ordered_first (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned index;
-
- /* Work share constructs can be orphaned. */
- if (team == NULL || team->nthreads == 1)
- return;
-
- index = ws->ordered_cur + ws->ordered_num_used;
- if (index >= team->nthreads)
- index -= team->nthreads;
- ws->ordered_team_ids[index] = thr->ts.team_id;
-
- /* If this is the first and only thread in the queue, then there is
- no one to release us when we get to our ordered section. Post to
- our own release queue now so that we won't block later. */
- if (ws->ordered_num_used++ == 0)
- gomp_sem_post (team->ordered_release[thr->ts.team_id]);
-}
-
-/* This function is called when completing the last iteration block. That
- is, there are no more iterations to perform and so the thread should be
- removed from the queue entirely. Because of the way ORDERED blocks are
- managed, it follows that we currently own access to the ORDERED block,
- and should now pass it on to the next thread. The work-share lock must
- be held on entry. */
-
-void
-gomp_ordered_last (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned next_id;
-
- /* Work share constructs can be orphaned. */
- if (team == NULL || team->nthreads == 1)
- return;
-
- /* We're no longer the owner. */
- ws->ordered_owner = -1;
-
- /* If we're not the last thread in the queue, then wake the next. */
- if (--ws->ordered_num_used > 0)
- {
- unsigned next = ws->ordered_cur + 1;
- if (next == team->nthreads)
- next = 0;
- ws->ordered_cur = next;
-
- next_id = ws->ordered_team_ids[next];
- gomp_sem_post (team->ordered_release[next_id]);
- }
-}
-
-
-/* This function is called when allocating a subsequent allocation block.
- That is, we're done with the current iteration block and we're allocating
- another. This is the logical combination of a call to gomp_ordered_last
- followed by a call to gomp_ordered_first. The work-share lock must be
- held on entry. */
-
-void
-gomp_ordered_next (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned index, next_id;
-
- /* Work share constructs can be orphaned. */
- if (team == NULL || team->nthreads == 1)
- return;
-
- /* We're no longer the owner. */
- ws->ordered_owner = -1;
-
- /* If there's only one thread in the queue, that must be us. */
- if (ws->ordered_num_used == 1)
- {
- /* We have a similar situation as in gomp_ordered_first
- where we need to post to our own release semaphore. */
- gomp_sem_post (team->ordered_release[thr->ts.team_id]);
- return;
- }
-
- /* If the queue is entirely full, then we move ourself to the end of
- the queue merely by incrementing ordered_cur. Only if it's not
- full do we have to write our id. */
- if (ws->ordered_num_used < team->nthreads)
- {
- index = ws->ordered_cur + ws->ordered_num_used;
- if (index >= team->nthreads)
- index -= team->nthreads;
- ws->ordered_team_ids[index] = thr->ts.team_id;
- }
-
- index = ws->ordered_cur + 1;
- if (index == team->nthreads)
- index = 0;
- ws->ordered_cur = index;
-
- next_id = ws->ordered_team_ids[index];
- gomp_sem_post (team->ordered_release[next_id]);
-}
-
-
-/* This function is called when a statically scheduled loop is first
- being created. */
-
-void
-gomp_ordered_static_init (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
-
- if (team == NULL || team->nthreads == 1)
- return;
-
- gomp_sem_post (team->ordered_release[0]);
-}
-
-/* This function is called when a statically scheduled loop is moving to
- the next allocation block. Static schedules are not first come first
- served like the others, so we're to move to the numerically next thread,
- not the next thread on a list. The work-share lock should *not* be held
- on entry. */
-
-void
-gomp_ordered_static_next (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned id = thr->ts.team_id;
-
- if (team == NULL || team->nthreads == 1)
- return;
-
- ws->ordered_owner = -1;
-
- /* This thread currently owns the lock. Increment the owner. */
- if (++id == team->nthreads)
- id = 0;
- ws->ordered_team_ids[0] = id;
- gomp_sem_post (team->ordered_release[id]);
-}
-
-/* This function is called when we need to assert that the thread owns the
- ordered section. Due to the problem of posted-but-not-waited semaphores,
- this needs to happen before completing a loop iteration. */
-
-void
-gomp_ordered_sync (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
-
- /* Work share constructs can be orphaned. But this clearly means that
- we are the only thread, and so we automatically own the section. */
- if (team == NULL || team->nthreads == 1)
- return;
-
- /* ??? I believe it to be safe to access this data without taking the
- ws->lock. The only presumed race condition is with the previous
- thread on the queue incrementing ordered_cur such that it points
- to us, concurrently with our check below. But our team_id is
- already present in the queue, and the other thread will always
- post to our release semaphore. So the two cases are that we will
- either win the race an momentarily block on the semaphore, or lose
- the race and find the semaphore already unlocked and so not block.
- Either way we get correct results. */
-
- if (ws->ordered_owner != thr->ts.team_id)
- {
- gomp_sem_wait (team->ordered_release[thr->ts.team_id]);
- ws->ordered_owner = thr->ts.team_id;
- }
-}
-
-/* This function is called by user code when encountering the start of an
- ORDERED block. We must check to see if the current thread is at the
- head of the queue, and if not, block. */
-
-#ifdef HAVE_ATTRIBUTE_ALIAS
-extern void GOMP_ordered_start (void)
- __attribute__((alias ("gomp_ordered_sync")));
-#else
-void
-GOMP_ordered_start (void)
-{
- gomp_ordered_sync ();
-}
-#endif
-
-/* This function is called by user code when encountering the end of an
- ORDERED block. With the current ORDERED implementation there's nothing
- for us to do.
-
- However, the current implementation has a flaw in that it does not allow
- the next thread into the ORDERED section immediately after the current
- thread exits the ORDERED section in its last iteration. The existance
- of this function allows the implementation to change. */
-
-void
-GOMP_ordered_end (void)
-{
-}
diff --git a/gcc-4.4.3/libgomp/parallel.c b/gcc-4.4.3/libgomp/parallel.c
deleted file mode 100644
index d83d1698f..000000000
--- a/gcc-4.4.3/libgomp/parallel.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the (bare) PARALLEL construct. */
-
-#include "libgomp.h"
-#include <limits.h>
-
-
-/* Determine the number of threads to be launched for a PARALLEL construct.
- This algorithm is explicitly described in OpenMP 3.0 section 2.4.1.
- SPECIFIED is a combination of the NUM_THREADS clause and the IF clause.
- If the IF clause is false, SPECIFIED is forced to 1. When NUM_THREADS
- is not present, SPECIFIED is 0. */
-
-unsigned
-gomp_resolve_num_threads (unsigned specified, unsigned count)
-{
- struct gomp_thread *thread = gomp_thread();
- struct gomp_task_icv *icv;
- unsigned threads_requested, max_num_threads, num_threads;
- unsigned long remaining;
-
- icv = gomp_icv (false);
-
- if (specified == 1)
- return 1;
- else if (thread->ts.active_level >= 1 && !icv->nest_var)
- return 1;
- else if (thread->ts.active_level >= gomp_max_active_levels_var)
- return 1;
-
- /* If NUM_THREADS not specified, use nthreads_var. */
- if (specified == 0)
- threads_requested = icv->nthreads_var;
- else
- threads_requested = specified;
-
- max_num_threads = threads_requested;
-
- /* If dynamic threads are enabled, bound the number of threads
- that we launch. */
- if (icv->dyn_var)
- {
- unsigned dyn = gomp_dynamic_max_threads ();
- if (dyn < max_num_threads)
- max_num_threads = dyn;
-
- /* Optimization for parallel sections. */
- if (count && count < max_num_threads)
- max_num_threads = count;
- }
-
- /* ULONG_MAX stands for infinity. */
- if (__builtin_expect (gomp_thread_limit_var == ULONG_MAX, 1)
- || max_num_threads == 1)
- return max_num_threads;
-
-#ifdef HAVE_SYNC_BUILTINS
- do
- {
- remaining = gomp_remaining_threads_count;
- num_threads = max_num_threads;
- if (num_threads > remaining)
- num_threads = remaining + 1;
- }
- while (__sync_val_compare_and_swap (&gomp_remaining_threads_count,
- remaining, remaining - num_threads + 1)
- != remaining);
-#else
- gomp_mutex_lock (&gomp_remaining_threads_lock);
- num_threads = max_num_threads;
- remaining = gomp_remaining_threads_count;
- if (num_threads > remaining)
- num_threads = remaining + 1;
- gomp_remaining_threads_count -= num_threads - 1;
- gomp_mutex_unlock (&gomp_remaining_threads_lock);
-#endif
-
- return num_threads;
-}
-
-void
-GOMP_parallel_start (void (*fn) (void *), void *data, unsigned num_threads)
-{
- num_threads = gomp_resolve_num_threads (num_threads, 0);
- gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads));
-}
-
-void
-GOMP_parallel_end (void)
-{
- if (__builtin_expect (gomp_thread_limit_var != ULONG_MAX, 0))
- {
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- if (team && team->nthreads > 1)
- {
-#ifdef HAVE_SYNC_BUILTINS
- __sync_fetch_and_add (&gomp_remaining_threads_count,
- 1UL - team->nthreads);
-#else
- gomp_mutex_lock (&gomp_remaining_threads_lock);
- gomp_remaining_threads_count -= team->nthreads - 1;
-#endif
- }
- }
- gomp_team_end ();
-}
-
-
-/* The public OpenMP API for thread and team related inquiries. */
-
-int
-omp_get_num_threads (void)
-{
- struct gomp_team *team = gomp_thread ()->ts.team;
- return team ? team->nthreads : 1;
-}
-
-int
-omp_get_thread_num (void)
-{
- return gomp_thread ()->ts.team_id;
-}
-
-/* This wasn't right for OpenMP 2.5. Active region used to be non-zero
- when the IF clause doesn't evaluate to false, starting with OpenMP 3.0
- it is non-zero with more than one thread in the team. */
-
-int
-omp_in_parallel (void)
-{
- return gomp_thread ()->ts.active_level > 0;
-}
-
-int
-omp_get_level (void)
-{
- return gomp_thread ()->ts.level;
-}
-
-int
-omp_get_ancestor_thread_num (int level)
-{
- struct gomp_team_state *ts = &gomp_thread ()->ts;
- if (level < 0 || level > ts->level)
- return -1;
- for (level = ts->level - level; level > 0; --level)
- ts = &ts->team->prev_ts;
- return ts->team_id;
-}
-
-int
-omp_get_team_size (int level)
-{
- struct gomp_team_state *ts = &gomp_thread ()->ts;
- if (level < 0 || level > ts->level)
- return -1;
- for (level = ts->level - level; level > 0; --level)
- ts = &ts->team->prev_ts;
- if (ts->team == NULL)
- return 1;
- else
- return ts->team->nthreads;
-}
-
-int
-omp_get_active_level (void)
-{
- return gomp_thread ()->ts.active_level;
-}
-
-ialias (omp_get_num_threads)
-ialias (omp_get_thread_num)
-ialias (omp_in_parallel)
-ialias (omp_get_level)
-ialias (omp_get_ancestor_thread_num)
-ialias (omp_get_team_size)
-ialias (omp_get_active_level)
diff --git a/gcc-4.4.3/libgomp/sections.c b/gcc-4.4.3/libgomp/sections.c
deleted file mode 100644
index 7acd441de..000000000
--- a/gcc-4.4.3/libgomp/sections.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the SECTIONS construct. */
-
-#include "libgomp.h"
-
-
-/* Initialize the given work share construct from the given arguments. */
-
-static inline void
-gomp_sections_init (struct gomp_work_share *ws, unsigned count)
-{
- ws->sched = GFS_DYNAMIC;
- ws->chunk_size = 1;
- ws->end = count + 1;
- ws->incr = 1;
- ws->next = 1;
-}
-
-/* This routine is called when first encountering a sections construct
- that is not bound directly to a parallel construct. The first thread
- that arrives will create the work-share construct; subsequent threads
- will see the construct exists and allocate work from it.
-
- COUNT is the number of sections in this construct.
-
- Returns the 1-based section number for this thread to perform, or 0 if
- all work was assigned to other threads prior to this thread's arrival. */
-
-unsigned
-GOMP_sections_start (unsigned count)
-{
- struct gomp_thread *thr = gomp_thread ();
- long s, e, ret;
-
- if (gomp_work_share_start (false))
- {
- gomp_sections_init (thr->ts.work_share, count);
- gomp_work_share_init_done ();
- }
-
-#ifdef HAVE_SYNC_BUILTINS
- if (gomp_iter_dynamic_next (&s, &e))
- ret = s;
- else
- ret = 0;
-#else
- gomp_mutex_lock (&thr->ts.work_share->lock);
- if (gomp_iter_dynamic_next_locked (&s, &e))
- ret = s;
- else
- ret = 0;
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-/* This routine is called when the thread completes processing of the
- section currently assigned to it. If the work-share construct is
- bound directly to a parallel construct, then the construct may have
- been set up before the parallel. In which case, this may be the
- first iteration for the thread.
-
- Returns the 1-based section number for this thread to perform, or 0 if
- all work was assigned to other threads prior to this thread's arrival. */
-
-unsigned
-GOMP_sections_next (void)
-{
- long s, e, ret;
-
-#ifdef HAVE_SYNC_BUILTINS
- if (gomp_iter_dynamic_next (&s, &e))
- ret = s;
- else
- ret = 0;
-#else
- struct gomp_thread *thr = gomp_thread ();
-
- gomp_mutex_lock (&thr->ts.work_share->lock);
- if (gomp_iter_dynamic_next_locked (&s, &e))
- ret = s;
- else
- ret = 0;
- gomp_mutex_unlock (&thr->ts.work_share->lock);
-#endif
-
- return ret;
-}
-
-/* This routine pre-initializes a work-share construct to avoid one
- synchronization once we get into the loop. */
-
-void
-GOMP_parallel_sections_start (void (*fn) (void *), void *data,
- unsigned num_threads, unsigned count)
-{
- struct gomp_team *team;
-
- num_threads = gomp_resolve_num_threads (num_threads, count);
- team = gomp_new_team (num_threads);
- gomp_sections_init (&team->work_shares[0], count);
- gomp_team_start (fn, data, num_threads, team);
-}
-
-/* The GOMP_section_end* routines are called after the thread is told
- that all sections are complete. This first version synchronizes
- all threads; the nowait version does not. */
-
-void
-GOMP_sections_end (void)
-{
- gomp_work_share_end ();
-}
-
-void
-GOMP_sections_end_nowait (void)
-{
- gomp_work_share_end_nowait ();
-}
diff --git a/gcc-4.4.3/libgomp/single.c b/gcc-4.4.3/libgomp/single.c
deleted file mode 100644
index 8c5ade11f..000000000
--- a/gcc-4.4.3/libgomp/single.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the SINGLE construct. */
-
-#include "libgomp.h"
-
-
-/* This routine is called when first encountering a SINGLE construct that
- doesn't have a COPYPRIVATE clause. Returns true if this is the thread
- that should execute the clause. */
-
-bool
-GOMP_single_start (void)
-{
-#ifdef HAVE_SYNC_BUILTINS
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- unsigned long single_count;
-
- if (__builtin_expect (team == NULL, 0))
- return true;
-
- single_count = thr->ts.single_count++;
- return __sync_bool_compare_and_swap (&team->single_count, single_count,
- single_count + 1L);
-#else
- bool ret = gomp_work_share_start (false);
- if (ret)
- gomp_work_share_init_done ();
- gomp_work_share_end_nowait ();
- return ret;
-#endif
-}
-
-/* This routine is called when first encountering a SINGLE construct that
- does have a COPYPRIVATE clause. Returns NULL if this is the thread
- that should execute the clause; otherwise the return value is pointer
- given to GOMP_single_copy_end by the thread that did execute the clause. */
-
-void *
-GOMP_single_copy_start (void)
-{
- struct gomp_thread *thr = gomp_thread ();
-
- bool first;
- void *ret;
-
- first = gomp_work_share_start (false);
-
- if (first)
- {
- gomp_work_share_init_done ();
- ret = NULL;
- }
- else
- {
- gomp_team_barrier_wait (&thr->ts.team->barrier);
-
- ret = thr->ts.work_share->copyprivate;
- gomp_work_share_end_nowait ();
- }
-
- return ret;
-}
-
-/* This routine is called when the thread that entered a SINGLE construct
- with a COPYPRIVATE clause gets to the end of the construct. */
-
-void
-GOMP_single_copy_end (void *data)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
-
- if (team != NULL)
- {
- thr->ts.work_share->copyprivate = data;
- gomp_team_barrier_wait (&team->barrier);
- }
-
- gomp_work_share_end_nowait ();
-}
diff --git a/gcc-4.4.3/libgomp/task.c b/gcc-4.4.3/libgomp/task.c
deleted file mode 100644
index 95f163d53..000000000
--- a/gcc-4.4.3/libgomp/task.c
+++ /dev/null
@@ -1,364 +0,0 @@
-/* Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the maintainence of tasks in response to task
- creation and termination. */
-
-#include "libgomp.h"
-#include <stdlib.h>
-#include <string.h>
-
-
-/* Create a new task data structure. */
-
-void
-gomp_init_task (struct gomp_task *task, struct gomp_task *parent_task,
- struct gomp_task_icv *prev_icv)
-{
- task->parent = parent_task;
- task->icv = *prev_icv;
- task->kind = GOMP_TASK_IMPLICIT;
- task->in_taskwait = false;
- task->in_tied_task = false;
- task->children = NULL;
- gomp_sem_init (&task->taskwait_sem, 0);
-}
-
-/* Clean up a task, after completing it. */
-
-void
-gomp_end_task (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_task *task = thr->task;
-
- gomp_finish_task (task);
- thr->task = task->parent;
-}
-
-static inline void
-gomp_clear_parent (struct gomp_task *children)
-{
- struct gomp_task *task = children;
-
- if (task)
- do
- {
- task->parent = NULL;
- task = task->next_child;
- }
- while (task != children);
-}
-
-/* Called when encountering an explicit task directive. If IF_CLAUSE is
- false, then we must not delay in executing the task. If UNTIED is true,
- then the task may be executed by any member of the team. */
-
-void
-GOMP_task (void (*fn) (void *), void *data, void (*cpyfn) (void *, void *),
- long arg_size, long arg_align, bool if_clause,
- unsigned flags __attribute__((unused)))
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
-
-#ifdef HAVE_BROKEN_POSIX_SEMAPHORES
- /* If pthread_mutex_* is used for omp_*lock*, then each task must be
- tied to one thread all the time. This means UNTIED tasks must be
- tied and if CPYFN is non-NULL IF(0) must be forced, as CPYFN
- might be running on different thread than FN. */
- if (cpyfn)
- if_clause = false;
- if (flags & 1)
- flags &= ~1;
-#endif
-
- if (!if_clause || team == NULL
- || team->task_count > 64 * team->nthreads)
- {
- struct gomp_task task;
-
- gomp_init_task (&task, thr->task, gomp_icv (false));
- task.kind = GOMP_TASK_IFFALSE;
- if (thr->task)
- task.in_tied_task = thr->task->in_tied_task;
- thr->task = &task;
- if (__builtin_expect (cpyfn != NULL, 0))
- {
- char buf[arg_size + arg_align - 1];
- char *arg = (char *) (((uintptr_t) buf + arg_align - 1)
- & ~(uintptr_t) (arg_align - 1));
- cpyfn (arg, data);
- fn (arg);
- }
- else
- fn (data);
- if (task.children)
- {
- gomp_mutex_lock (&team->task_lock);
- gomp_clear_parent (task.children);
- gomp_mutex_unlock (&team->task_lock);
- }
- gomp_end_task ();
- }
- else
- {
- struct gomp_task *task;
- struct gomp_task *parent = thr->task;
- char *arg;
- bool do_wake;
-
- task = gomp_malloc (sizeof (*task) + arg_size + arg_align - 1);
- arg = (char *) (((uintptr_t) (task + 1) + arg_align - 1)
- & ~(uintptr_t) (arg_align - 1));
- gomp_init_task (task, parent, gomp_icv (false));
- task->kind = GOMP_TASK_IFFALSE;
- task->in_tied_task = parent->in_tied_task;
- thr->task = task;
- if (cpyfn)
- cpyfn (arg, data);
- else
- memcpy (arg, data, arg_size);
- thr->task = parent;
- task->kind = GOMP_TASK_WAITING;
- task->fn = fn;
- task->fn_data = arg;
- task->in_tied_task = true;
- gomp_mutex_lock (&team->task_lock);
- if (parent->children)
- {
- task->next_child = parent->children;
- task->prev_child = parent->children->prev_child;
- task->next_child->prev_child = task;
- task->prev_child->next_child = task;
- }
- else
- {
- task->next_child = task;
- task->prev_child = task;
- }
- parent->children = task;
- if (team->task_queue)
- {
- task->next_queue = team->task_queue;
- task->prev_queue = team->task_queue->prev_queue;
- task->next_queue->prev_queue = task;
- task->prev_queue->next_queue = task;
- }
- else
- {
- task->next_queue = task;
- task->prev_queue = task;
- team->task_queue = task;
- }
- ++team->task_count;
- gomp_team_barrier_set_task_pending (&team->barrier);
- do_wake = team->task_running_count + !parent->in_tied_task
- < team->nthreads;
- gomp_mutex_unlock (&team->task_lock);
- if (do_wake)
- gomp_team_barrier_wake (&team->barrier, 1);
- }
-}
-
-void
-gomp_barrier_handle_tasks (gomp_barrier_state_t state)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_task *task = thr->task;
- struct gomp_task *child_task = NULL;
- struct gomp_task *to_free = NULL;
-
- gomp_mutex_lock (&team->task_lock);
- if (gomp_barrier_last_thread (state))
- {
- if (team->task_count == 0)
- {
- gomp_team_barrier_done (&team->barrier, state);
- gomp_mutex_unlock (&team->task_lock);
- gomp_team_barrier_wake (&team->barrier, 0);
- return;
- }
- gomp_team_barrier_set_waiting_for_tasks (&team->barrier);
- }
-
- while (1)
- {
- if (team->task_queue != NULL)
- {
- struct gomp_task *parent;
-
- child_task = team->task_queue;
- parent = child_task->parent;
- if (parent && parent->children == child_task)
- parent->children = child_task->next_child;
- child_task->prev_queue->next_queue = child_task->next_queue;
- child_task->next_queue->prev_queue = child_task->prev_queue;
- if (child_task->next_queue != child_task)
- team->task_queue = child_task->next_queue;
- else
- team->task_queue = NULL;
- child_task->kind = GOMP_TASK_TIED;
- team->task_running_count++;
- if (team->task_count == team->task_running_count)
- gomp_team_barrier_clear_task_pending (&team->barrier);
- }
- gomp_mutex_unlock (&team->task_lock);
- if (to_free)
- {
- gomp_finish_task (to_free);
- free (to_free);
- to_free = NULL;
- }
- if (child_task)
- {
- thr->task = child_task;
- child_task->fn (child_task->fn_data);
- thr->task = task;
- }
- else
- return;
- gomp_mutex_lock (&team->task_lock);
- if (child_task)
- {
- struct gomp_task *parent = child_task->parent;
- if (parent)
- {
- child_task->prev_child->next_child = child_task->next_child;
- child_task->next_child->prev_child = child_task->prev_child;
- if (parent->children == child_task)
- {
- if (child_task->next_child != child_task)
- parent->children = child_task->next_child;
- else
- {
- parent->children = NULL;
- if (parent->in_taskwait)
- gomp_sem_post (&parent->taskwait_sem);
- }
- }
- }
- gomp_clear_parent (child_task->children);
- to_free = child_task;
- child_task = NULL;
- team->task_running_count--;
- if (--team->task_count == 0
- && gomp_team_barrier_waiting_for_tasks (&team->barrier))
- {
- gomp_team_barrier_done (&team->barrier, state);
- gomp_mutex_unlock (&team->task_lock);
- gomp_team_barrier_wake (&team->barrier, 0);
- }
- }
- }
-}
-
-/* Called when encountering a taskwait directive. */
-
-void
-GOMP_taskwait (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_task *task = thr->task;
- struct gomp_task *child_task = NULL;
- struct gomp_task *to_free = NULL;
-
- if (task == NULL || task->children == NULL)
- return;
- gomp_mutex_lock (&team->task_lock);
- while (1)
- {
- if (task->children == NULL)
- {
- gomp_mutex_unlock (&team->task_lock);
- if (to_free)
- {
- gomp_finish_task (to_free);
- free (to_free);
- }
- return;
- }
- if (task->children->kind == GOMP_TASK_WAITING)
- {
- child_task = task->children;
- task->children = child_task->next_child;
- child_task->prev_queue->next_queue = child_task->next_queue;
- child_task->next_queue->prev_queue = child_task->prev_queue;
- if (team->task_queue == child_task)
- {
- if (child_task->next_queue != child_task)
- team->task_queue = child_task->next_queue;
- else
- team->task_queue = NULL;
- }
- child_task->kind = GOMP_TASK_TIED;
- team->task_running_count++;
- if (team->task_count == team->task_running_count)
- gomp_team_barrier_clear_task_pending (&team->barrier);
- }
- else
- /* All tasks we are waiting for are already running
- in other threads. Wait for them. */
- task->in_taskwait = true;
- gomp_mutex_unlock (&team->task_lock);
- if (to_free)
- {
- gomp_finish_task (to_free);
- free (to_free);
- to_free = NULL;
- }
- if (child_task)
- {
- thr->task = child_task;
- child_task->fn (child_task->fn_data);
- thr->task = task;
- }
- else
- {
- gomp_sem_wait (&task->taskwait_sem);
- task->in_taskwait = false;
- return;
- }
- gomp_mutex_lock (&team->task_lock);
- if (child_task)
- {
- child_task->prev_child->next_child = child_task->next_child;
- child_task->next_child->prev_child = child_task->prev_child;
- if (task->children == child_task)
- {
- if (child_task->next_child != child_task)
- task->children = child_task->next_child;
- else
- task->children = NULL;
- }
- gomp_clear_parent (child_task->children);
- to_free = child_task;
- child_task = NULL;
- team->task_count--;
- team->task_running_count--;
- }
- }
-}
diff --git a/gcc-4.4.3/libgomp/team.c b/gcc-4.4.3/libgomp/team.c
deleted file mode 100644
index 44ffd5609..000000000
--- a/gcc-4.4.3/libgomp/team.c
+++ /dev/null
@@ -1,555 +0,0 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file handles the maintainence of threads in response to team
- creation and termination. */
-
-#include "libgomp.h"
-#include <stdlib.h>
-#include <string.h>
-
-/* This attribute contains PTHREAD_CREATE_DETACHED. */
-pthread_attr_t gomp_thread_attr;
-
-/* This key is for the thread destructor. */
-pthread_key_t gomp_thread_destructor;
-
-
-/* This is the libgomp per-thread data structure. */
-#ifdef HAVE_TLS
-__thread struct gomp_thread gomp_tls_data;
-#else
-pthread_key_t gomp_tls_key;
-#endif
-
-
-/* This structure is used to communicate across pthread_create. */
-
-struct gomp_thread_start_data
-{
- void (*fn) (void *);
- void *fn_data;
- struct gomp_team_state ts;
- struct gomp_task *task;
- struct gomp_thread_pool *thread_pool;
- bool nested;
-};
-
-
-/* This function is a pthread_create entry point. This contains the idle
- loop in which a thread waits to be called up to become part of a team. */
-
-static void *
-gomp_thread_start (void *xdata)
-{
- struct gomp_thread_start_data *data = xdata;
- struct gomp_thread *thr;
- struct gomp_thread_pool *pool;
- void (*local_fn) (void *);
- void *local_data;
-
-#ifdef HAVE_TLS
- thr = &gomp_tls_data;
-#else
- struct gomp_thread local_thr;
- thr = &local_thr;
- pthread_setspecific (gomp_tls_key, thr);
-#endif
- gomp_sem_init (&thr->release, 0);
-
- /* Extract what we need from data. */
- local_fn = data->fn;
- local_data = data->fn_data;
- thr->thread_pool = data->thread_pool;
- thr->ts = data->ts;
- thr->task = data->task;
-
- thr->ts.team->ordered_release[thr->ts.team_id] = &thr->release;
-
- /* Make thread pool local. */
- pool = thr->thread_pool;
-
- if (data->nested)
- {
- struct gomp_team *team = thr->ts.team;
- struct gomp_task *task = thr->task;
-
- gomp_barrier_wait (&team->barrier);
-
- local_fn (local_data);
- gomp_team_barrier_wait (&team->barrier);
- gomp_finish_task (task);
- gomp_barrier_wait_last (&team->barrier);
- }
- else
- {
- pool->threads[thr->ts.team_id] = thr;
-
- gomp_barrier_wait (&pool->threads_dock);
- do
- {
- struct gomp_team *team = thr->ts.team;
- struct gomp_task *task = thr->task;
-
- local_fn (local_data);
- gomp_team_barrier_wait (&team->barrier);
- gomp_finish_task (task);
-
- gomp_barrier_wait (&pool->threads_dock);
-
- local_fn = thr->fn;
- local_data = thr->data;
- thr->fn = NULL;
- }
- while (local_fn);
- }
-
- gomp_sem_destroy (&thr->release);
- return NULL;
-}
-
-
-/* Create a new team data structure. */
-
-struct gomp_team *
-gomp_new_team (unsigned nthreads)
-{
- struct gomp_team *team;
- size_t size;
- int i;
-
- size = sizeof (*team) + nthreads * (sizeof (team->ordered_release[0])
- + sizeof (team->implicit_task[0]));
- team = gomp_malloc (size);
-
- team->work_share_chunk = 8;
-#ifdef HAVE_SYNC_BUILTINS
- team->single_count = 0;
-#else
- gomp_mutex_init (&team->work_share_list_free_lock);
-#endif
- gomp_init_work_share (&team->work_shares[0], false, nthreads);
- team->work_shares[0].next_alloc = NULL;
- team->work_share_list_free = NULL;
- team->work_share_list_alloc = &team->work_shares[1];
- for (i = 1; i < 7; i++)
- team->work_shares[i].next_free = &team->work_shares[i + 1];
- team->work_shares[i].next_free = NULL;
-
- team->nthreads = nthreads;
- gomp_barrier_init (&team->barrier, nthreads);
-
- gomp_sem_init (&team->master_release, 0);
- team->ordered_release = (void *) &team->implicit_task[nthreads];
- team->ordered_release[0] = &team->master_release;
-
- gomp_mutex_init (&team->task_lock);
- team->task_queue = NULL;
- team->task_count = 0;
- team->task_running_count = 0;
-
- return team;
-}
-
-
-/* Free a team data structure. */
-
-static void
-free_team (struct gomp_team *team)
-{
- gomp_barrier_destroy (&team->barrier);
- gomp_mutex_destroy (&team->task_lock);
- free (team);
-}
-
-/* Allocate and initialize a thread pool. */
-
-static struct gomp_thread_pool *gomp_new_thread_pool (void)
-{
- struct gomp_thread_pool *pool
- = gomp_malloc (sizeof(struct gomp_thread_pool));
- pool->threads = NULL;
- pool->threads_size = 0;
- pool->threads_used = 0;
- pool->last_team = NULL;
- return pool;
-}
-
-static void
-gomp_free_pool_helper (void *thread_pool)
-{
- struct gomp_thread_pool *pool
- = (struct gomp_thread_pool *) thread_pool;
- gomp_barrier_wait_last (&pool->threads_dock);
- gomp_sem_destroy (&gomp_thread ()->release);
- pthread_exit (NULL);
-}
-
-/* Free a thread pool and release its threads. */
-
-static void
-gomp_free_thread (void *arg __attribute__((unused)))
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_thread_pool *pool = thr->thread_pool;
- if (pool)
- {
- if (pool->threads_used > 0)
- {
- int i;
- for (i = 1; i < pool->threads_used; i++)
- {
- struct gomp_thread *nthr = pool->threads[i];
- nthr->fn = gomp_free_pool_helper;
- nthr->data = pool;
- }
- /* This barrier undocks threads docked on pool->threads_dock. */
- gomp_barrier_wait (&pool->threads_dock);
- /* And this waits till all threads have called gomp_barrier_wait_last
- in gomp_free_pool_helper. */
- gomp_barrier_wait (&pool->threads_dock);
- /* Now it is safe to destroy the barrier and free the pool. */
- gomp_barrier_destroy (&pool->threads_dock);
- }
- free (pool->threads);
- if (pool->last_team)
- free_team (pool->last_team);
- free (pool);
- thr->thread_pool = NULL;
- }
- if (thr->task != NULL)
- {
- struct gomp_task *task = thr->task;
- gomp_end_task ();
- free (task);
- }
-}
-
-/* Launch a team. */
-
-void
-gomp_team_start (void (*fn) (void *), void *data, unsigned nthreads,
- struct gomp_team *team)
-{
- struct gomp_thread_start_data *start_data;
- struct gomp_thread *thr, *nthr;
- struct gomp_task *task;
- struct gomp_task_icv *icv;
- bool nested;
- struct gomp_thread_pool *pool;
- unsigned i, n, old_threads_used = 0;
- pthread_attr_t thread_attr, *attr;
-
- thr = gomp_thread ();
- nested = thr->ts.team != NULL;
- if (__builtin_expect (thr->thread_pool == NULL, 0))
- {
- thr->thread_pool = gomp_new_thread_pool ();
- pthread_setspecific (gomp_thread_destructor, thr);
- }
- pool = thr->thread_pool;
- task = thr->task;
- icv = task ? &task->icv : &gomp_global_icv;
-
- /* Always save the previous state, even if this isn't a nested team.
- In particular, we should save any work share state from an outer
- orphaned work share construct. */
- team->prev_ts = thr->ts;
-
- thr->ts.team = team;
- thr->ts.team_id = 0;
- ++thr->ts.level;
- if (nthreads > 1)
- ++thr->ts.active_level;
- thr->ts.work_share = &team->work_shares[0];
- thr->ts.last_work_share = NULL;
-#ifdef HAVE_SYNC_BUILTINS
- thr->ts.single_count = 0;
-#endif
- thr->ts.static_trip = 0;
- thr->task = &team->implicit_task[0];
- gomp_init_task (thr->task, task, icv);
-
- if (nthreads == 1)
- return;
-
- i = 1;
-
- /* We only allow the reuse of idle threads for non-nested PARALLEL
- regions. This appears to be implied by the semantics of
- threadprivate variables, but perhaps that's reading too much into
- things. Certainly it does prevent any locking problems, since
- only the initial program thread will modify gomp_threads. */
- if (!nested)
- {
- old_threads_used = pool->threads_used;
-
- if (nthreads <= old_threads_used)
- n = nthreads;
- else if (old_threads_used == 0)
- {
- n = 0;
- gomp_barrier_init (&pool->threads_dock, nthreads);
- }
- else
- {
- n = old_threads_used;
-
- /* Increase the barrier threshold to make sure all new
- threads arrive before the team is released. */
- gomp_barrier_reinit (&pool->threads_dock, nthreads);
- }
-
- /* Not true yet, but soon will be. We're going to release all
- threads from the dock, and those that aren't part of the
- team will exit. */
- pool->threads_used = nthreads;
-
- /* Release existing idle threads. */
- for (; i < n; ++i)
- {
- nthr = pool->threads[i];
- nthr->ts.team = team;
- nthr->ts.work_share = &team->work_shares[0];
- nthr->ts.last_work_share = NULL;
- nthr->ts.team_id = i;
- nthr->ts.level = team->prev_ts.level + 1;
- nthr->ts.active_level = thr->ts.active_level;
-#ifdef HAVE_SYNC_BUILTINS
- nthr->ts.single_count = 0;
-#endif
- nthr->ts.static_trip = 0;
- nthr->task = &team->implicit_task[i];
- gomp_init_task (nthr->task, task, icv);
- nthr->fn = fn;
- nthr->data = data;
- team->ordered_release[i] = &nthr->release;
- }
-
- if (i == nthreads)
- goto do_release;
-
- /* If necessary, expand the size of the gomp_threads array. It is
- expected that changes in the number of threads are rare, thus we
- make no effort to expand gomp_threads_size geometrically. */
- if (nthreads >= pool->threads_size)
- {
- pool->threads_size = nthreads + 1;
- pool->threads
- = gomp_realloc (pool->threads,
- pool->threads_size
- * sizeof (struct gomp_thread_data *));
- }
- }
-
- if (__builtin_expect (nthreads > old_threads_used, 0))
- {
- long diff = (long) nthreads - (long) old_threads_used;
-
- if (old_threads_used == 0)
- --diff;
-
-#ifdef HAVE_SYNC_BUILTINS
- __sync_fetch_and_add (&gomp_managed_threads, diff);
-#else
- gomp_mutex_lock (&gomp_remaining_threads_lock);
- gomp_managed_threads += diff;
- gomp_mutex_unlock (&gomp_remaining_threads_lock);
-#endif
- }
-
- attr = &gomp_thread_attr;
- if (__builtin_expect (gomp_cpu_affinity != NULL, 0))
- {
- size_t stacksize;
- pthread_attr_init (&thread_attr);
- pthread_attr_setdetachstate (&thread_attr, PTHREAD_CREATE_DETACHED);
- if (! pthread_attr_getstacksize (&gomp_thread_attr, &stacksize))
- pthread_attr_setstacksize (&thread_attr, stacksize);
- attr = &thread_attr;
- }
-
- start_data = gomp_alloca (sizeof (struct gomp_thread_start_data)
- * (nthreads-i));
-
- /* Launch new threads. */
- for (; i < nthreads; ++i, ++start_data)
- {
- pthread_t pt;
- int err;
-
- start_data->fn = fn;
- start_data->fn_data = data;
- start_data->ts.team = team;
- start_data->ts.work_share = &team->work_shares[0];
- start_data->ts.last_work_share = NULL;
- start_data->ts.team_id = i;
- start_data->ts.level = team->prev_ts.level + 1;
- start_data->ts.active_level = thr->ts.active_level;
-#ifdef HAVE_SYNC_BUILTINS
- start_data->ts.single_count = 0;
-#endif
- start_data->ts.static_trip = 0;
- start_data->task = &team->implicit_task[i];
- gomp_init_task (start_data->task, task, icv);
- start_data->thread_pool = pool;
- start_data->nested = nested;
-
- if (gomp_cpu_affinity != NULL)
- gomp_init_thread_affinity (attr);
-
- err = pthread_create (&pt, attr, gomp_thread_start, start_data);
- if (err != 0)
- gomp_fatal ("Thread creation failed: %s", strerror (err));
- }
-
- if (__builtin_expect (gomp_cpu_affinity != NULL, 0))
- pthread_attr_destroy (&thread_attr);
-
- do_release:
- gomp_barrier_wait (nested ? &team->barrier : &pool->threads_dock);
-
- /* Decrease the barrier threshold to match the number of threads
- that should arrive back at the end of this team. The extra
- threads should be exiting. Note that we arrange for this test
- to never be true for nested teams. */
- if (__builtin_expect (nthreads < old_threads_used, 0))
- {
- long diff = (long) nthreads - (long) old_threads_used;
-
- gomp_barrier_reinit (&pool->threads_dock, nthreads);
-
-#ifdef HAVE_SYNC_BUILTINS
- __sync_fetch_and_add (&gomp_managed_threads, diff);
-#else
- gomp_mutex_lock (&gomp_remaining_threads_lock);
- gomp_managed_threads += diff;
- gomp_mutex_unlock (&gomp_remaining_threads_lock);
-#endif
- }
-}
-
-
-/* Terminate the current team. This is only to be called by the master
- thread. We assume that we must wait for the other threads. */
-
-void
-gomp_team_end (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
-
- /* This barrier handles all pending explicit threads. */
- gomp_team_barrier_wait (&team->barrier);
- gomp_fini_work_share (thr->ts.work_share);
-
- gomp_end_task ();
- thr->ts = team->prev_ts;
-
- if (__builtin_expect (thr->ts.team != NULL, 0))
- {
-#ifdef HAVE_SYNC_BUILTINS
- __sync_fetch_and_add (&gomp_managed_threads, 1L - team->nthreads);
-#else
- gomp_mutex_lock (&gomp_remaining_threads_lock);
- gomp_managed_threads -= team->nthreads - 1L;
- gomp_mutex_unlock (&gomp_remaining_threads_lock);
-#endif
- /* This barrier has gomp_barrier_wait_last counterparts
- and ensures the team can be safely destroyed. */
- gomp_barrier_wait (&team->barrier);
- }
-
- if (__builtin_expect (team->work_shares[0].next_alloc != NULL, 0))
- {
- struct gomp_work_share *ws = team->work_shares[0].next_alloc;
- do
- {
- struct gomp_work_share *next_ws = ws->next_alloc;
- free (ws);
- ws = next_ws;
- }
- while (ws != NULL);
- }
- gomp_sem_destroy (&team->master_release);
-#ifndef HAVE_SYNC_BUILTINS
- gomp_mutex_destroy (&team->work_share_list_free_lock);
-#endif
-
- if (__builtin_expect (thr->ts.team != NULL, 0)
- || __builtin_expect (team->nthreads == 1, 0))
- free_team (team);
- else
- {
- struct gomp_thread_pool *pool = thr->thread_pool;
- if (pool->last_team)
- free_team (pool->last_team);
- pool->last_team = team;
- }
-}
-
-
-/* Constructors for this file. */
-
-static void __attribute__((constructor))
-initialize_team (void)
-{
- struct gomp_thread *thr;
-
-#ifndef HAVE_TLS
- static struct gomp_thread initial_thread_tls_data;
-
- pthread_key_create (&gomp_tls_key, NULL);
- pthread_setspecific (gomp_tls_key, &initial_thread_tls_data);
-#endif
-
- if (pthread_key_create (&gomp_thread_destructor, gomp_free_thread) != 0)
- gomp_fatal ("could not create thread pool destructor.");
-
-#ifdef HAVE_TLS
- thr = &gomp_tls_data;
-#else
- thr = &initial_thread_tls_data;
-#endif
- gomp_sem_init (&thr->release, 0);
-}
-
-static void __attribute__((destructor))
-team_destructor (void)
-{
- /* Without this dlclose on libgomp could lead to subsequent
- crashes. */
- pthread_key_delete (gomp_thread_destructor);
-}
-
-struct gomp_task_icv *
-gomp_new_icv (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_task *task = gomp_malloc (sizeof (struct gomp_task));
- gomp_init_task (task, NULL, &gomp_global_icv);
- thr->task = task;
- pthread_setspecific (gomp_thread_destructor, thr);
- return &task->icv;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/Makefile.am b/gcc-4.4.3/libgomp/testsuite/Makefile.am
deleted file mode 100644
index 561b7e254..000000000
--- a/gcc-4.4.3/libgomp/testsuite/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-## Process this file with automake to produce Makefile.in.
-
-AUTOMAKE_OPTIONS = foreign dejagnu
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-
-EXPECT = $(shell if test -f $(top_builddir)/../expect/expect; then \
- echo $(top_builddir)/../expect/expect; else echo expect; fi)
-
-_RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
- echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
-RUNTEST = "$(_RUNTEST) $(AM_RUNTESTFLAGS)"
diff --git a/gcc-4.4.3/libgomp/testsuite/Makefile.in b/gcc-4.4.3/libgomp/testsuite/Makefile.in
deleted file mode 100644
index 284fa75cd..000000000
--- a/gcc-4.4.3/libgomp/testsuite/Makefile.in
+++ /dev/null
@@ -1,424 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = testsuite
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
- $(top_srcdir)/../config/depstand.m4 \
- $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/futex.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/override.m4 \
- $(top_srcdir)/../config/proginstall.m4 \
- $(top_srcdir)/../config/stdint.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../ltoptions.m4 \
- $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
- $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DEJATOOL = $(PACKAGE)
-RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BUILD_INFO_FALSE = @BUILD_INFO_FALSE@
-BUILD_INFO_TRUE = @BUILD_INFO_TRUE@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FC = @FC@
-FCFLAGS = @FCFLAGS@
-FGREP = @FGREP@
-GENINSRC_FALSE = @GENINSRC_FALSE@
-GENINSRC_TRUE = @GENINSRC_TRUE@
-GREP = @GREP@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE = @LIBGOMP_BUILD_VERSIONED_SHLIB_FALSE@
-LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE = @LIBGOMP_BUILD_VERSIONED_SHLIB_TRUE@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OMP_LOCK_25_ALIGN = @OMP_LOCK_25_ALIGN@
-OMP_LOCK_25_KIND = @OMP_LOCK_25_KIND@
-OMP_LOCK_25_SIZE = @OMP_LOCK_25_SIZE@
-OMP_LOCK_ALIGN = @OMP_LOCK_ALIGN@
-OMP_LOCK_KIND = @OMP_LOCK_KIND@
-OMP_LOCK_SIZE = @OMP_LOCK_SIZE@
-OMP_NEST_LOCK_25_ALIGN = @OMP_NEST_LOCK_25_ALIGN@
-OMP_NEST_LOCK_25_KIND = @OMP_NEST_LOCK_25_KIND@
-OMP_NEST_LOCK_25_SIZE = @OMP_NEST_LOCK_25_SIZE@
-OMP_NEST_LOCK_ALIGN = @OMP_NEST_LOCK_ALIGN@
-OMP_NEST_LOCK_KIND = @OMP_NEST_LOCK_KIND@
-OMP_NEST_LOCK_SIZE = @OMP_NEST_LOCK_SIZE@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_FORTRAN_FALSE = @USE_FORTRAN_FALSE@
-USE_FORTRAN_TRUE = @USE_FORTRAN_TRUE@
-VERSION = @VERSION@
-XCFLAGS = @XCFLAGS@
-XLDFLAGS = @XLDFLAGS@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DSYMUTIL = @ac_ct_DSYMUTIL@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_FC = @ac_ct_FC@
-ac_ct_LIPO = @ac_ct_LIPO@
-ac_ct_NMEDIT = @ac_ct_NMEDIT@
-ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
-ac_ct_OTOOL = @ac_ct_OTOOL@
-ac_ct_OTOOL64 = @ac_ct_OTOOL64@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-config_path = @config_path@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-link_gomp = @link_gomp@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toolexecdir = @toolexecdir@
-toolexeclibdir = @toolexeclibdir@
-AUTOMAKE_OPTIONS = foreign dejagnu
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-EXPECT = $(shell if test -f $(top_builddir)/../expect/expect; then \
- echo $(top_builddir)/../expect/expect; else echo expect; fi)
-
-_RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
- echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
-
-RUNTEST = "$(_RUNTEST) $(AM_RUNTESTFLAGS)"
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign testsuite/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-check-DEJAGNU: site.exp
- srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
- EXPECT=$(EXPECT); export EXPECT; \
- runtest=$(RUNTEST); \
- if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
- l='$(DEJATOOL)'; for tool in $$l; do \
- $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
- done; \
- else echo "WARNING: could not find \`runtest'" 1>&2; :;\
- fi
-site.exp: Makefile
- @echo 'Making a new site.exp file...'
- @echo '## these variables are automatically generated by make ##' >site.tmp
- @echo '# Do not edit here. If you wish to override these values' >>site.tmp
- @echo '# edit the last section' >>site.tmp
- @echo 'set srcdir $(srcdir)' >>site.tmp
- @echo "set objdir `pwd`" >>site.tmp
- @echo 'set build_alias "$(build_alias)"' >>site.tmp
- @echo 'set build_triplet $(build_triplet)' >>site.tmp
- @echo 'set host_alias "$(host_alias)"' >>site.tmp
- @echo 'set host_triplet $(host_triplet)' >>site.tmp
- @echo 'set target_alias "$(target_alias)"' >>site.tmp
- @echo 'set target_triplet $(target_triplet)' >>site.tmp
- @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
- @test ! -f site.exp || \
- sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
- @-rm -f site.bak
- @test ! -f site.exp || mv site.exp site.bak
- @mv site.tmp site.exp
-
-distclean-DEJAGNU:
- -rm -f site.exp site.bak
- -l='$(DEJATOOL)'; for tool in $$l; do \
- rm -f $$tool.sum $$tool.log; \
- done
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-DEJAGNU distclean-generic \
- distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
- clean-libtool distclean distclean-DEJAGNU distclean-generic \
- distclean-libtool distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/gcc-4.4.3/libgomp/testsuite/config/default.exp b/gcc-4.4.3/libgomp/testsuite/config/default.exp
deleted file mode 100644
index 62faf7d99..000000000
--- a/gcc-4.4.3/libgomp/testsuite/config/default.exp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 1997, 2009 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-load_lib "standard.exp"
-load_lib "gompconfig.exp"
diff --git a/gcc-4.4.3/libgomp/testsuite/gompconfig.exp.in b/gcc-4.4.3/libgomp/testsuite/gompconfig.exp.in
deleted file mode 100644
index 5a5b7ccf6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/gompconfig.exp.in
+++ /dev/null
@@ -1,2 +0,0 @@
-global GCC_UNDER_TEST
-set GCC_UNDER_TEST "@CC@"
diff --git a/gcc-4.4.3/libgomp/testsuite/lib/libgomp-dg.exp b/gcc-4.4.3/libgomp/testsuite/lib/libgomp-dg.exp
deleted file mode 100644
index ebf78e17e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/lib/libgomp-dg.exp
+++ /dev/null
@@ -1,7 +0,0 @@
-proc libgomp-dg-test { prog do_what extra_tool_flags } {
- return [gcc-dg-test-1 libgomp_target_compile $prog $do_what $extra_tool_flags]
-}
-
-proc libgomp-dg-prune { system text } {
- return [gcc-dg-prune $system $text]
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/lib/libgomp.exp b/gcc-4.4.3/libgomp/testsuite/lib/libgomp.exp
deleted file mode 100644
index b6b88e8e8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/lib/libgomp.exp
+++ /dev/null
@@ -1,218 +0,0 @@
-# Damn dejagnu for not having proper library search paths for load_lib.
-# We have to explicitly load everything that gcc-dg.exp wants to load.
-
-proc load_gcc_lib { filename } {
- global srcdir loaded_libs
-
- load_file $srcdir/../../gcc/testsuite/lib/$filename
- set loaded_libs($filename) ""
-}
-
-load_lib dg.exp
-load_gcc_lib file-format.exp
-load_gcc_lib target-supports.exp
-load_gcc_lib target-supports-dg.exp
-load_gcc_lib scanasm.exp
-load_gcc_lib scandump.exp
-load_gcc_lib scanrtl.exp
-load_gcc_lib scantree.exp
-load_gcc_lib scanipa.exp
-load_gcc_lib prune.exp
-load_gcc_lib target-libpath.exp
-load_gcc_lib wrapper.exp
-load_gcc_lib gcc-defs.exp
-load_gcc_lib torture-options.exp
-load_gcc_lib timeout.exp
-load_gcc_lib timeout-dg.exp
-load_gcc_lib gcc-dg.exp
-load_gcc_lib gfortran-dg.exp
-
-set dg-do-what-default run
-
-#
-# GCC_UNDER_TEST is the compiler under test.
-#
-
-set libgomp_compile_options ""
-
-#
-# libgomp_init
-#
-
-if [info exists TOOL_OPTIONS] {
- set multilibs [get_multilibs $TOOL_OPTIONS]
-} else {
- set multilibs [get_multilibs]
-}
-
-proc libgomp_init { args } {
- global srcdir blddir objdir tool_root_dir
- global libgomp_initialized
- global tmpdir
- global blddir
- global gluefile wrap_flags
- global ALWAYS_CFLAGS
- global CFLAGS
- global TOOL_EXECUTABLE TOOL_OPTIONS
- global GCC_UNDER_TEST
- global TESTING_IN_BUILD_TREE
- global target_triplet
- global always_ld_library_path
-
- set blddir [lookfor_file [get_multilibs] libgomp]
-
- # We set LC_ALL and LANG to C so that we get the same error
- # messages as expected.
- setenv LC_ALL C
- setenv LANG C
-
- if ![info exists GCC_UNDER_TEST] then {
- if [info exists TOOL_EXECUTABLE] {
- set GCC_UNDER_TEST $TOOL_EXECUTABLE
- } else {
- set GCC_UNDER_TEST "[find_gcc]"
- }
- }
-
- if ![info exists tmpdir] {
- set tmpdir "/tmp"
- }
-
- if [info exists gluefile] {
- unset gluefile
- }
-
- if {![info exists CFLAGS]} {
- set CFLAGS ""
- }
-
- # Locate libgcc.a so we don't need to account for different values of
- # SHLIB_EXT on different platforms
- set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
- if {$gccdir != ""} {
- set gccdir [file dirname $gccdir]
- }
-
- # Compute what needs to be put into LD_LIBRARY_PATH
- set always_ld_library_path ".:${blddir}/.libs"
-
- # Compute what needs to be added to the existing LD_LIBRARY_PATH.
- if {$gccdir != ""} {
- # Add AIX pthread directory first.
- if { [llength [glob -nocomplain ${gccdir}/pthread/libgcc_s*.a]] >= 1 } {
- append always_ld_library_path ":${gccdir}/pthread"
- }
- append always_ld_library_path ":${gccdir}"
-
- if { [is_remote host] == 0 } {
- foreach i "[eval "exec $GCC_UNDER_TEST --print-multi-lib"]" {
- set mldir ""
- regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir
- set mldir [string trimright $mldir "\;@"]
- if { "$mldir" == "." } {
- continue
- }
- if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append always_ld_library_path ":${gccdir}/${mldir}"
- }
- }
- }
- }
-
- set ALWAYS_CFLAGS ""
- if { $blddir != "" } {
- lappend ALWAYS_CFLAGS "additional_flags=-B${blddir}/"
- lappend ALWAYS_CFLAGS "additional_flags=-I${blddir}"
- lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/.libs"
- }
- lappend ALWAYS_CFLAGS "additional_flags=-I${srcdir}/.."
- lappend ALWAYS_CFLAGS "ldflags=-lgomp"
-
- # We use atomic operations in the testcases to validate results.
- if { ([istarget i?86-*-*] || [istarget x86_64-*-*])
- && [check_effective_target_ilp32] } {
- lappend ALWAYS_CFLAGS "additional_flags=-march=i486"
- }
-
- if [istarget *-*-darwin*] {
- lappend ALWAYS_CFLAGS "additional_flags=-shared-libgcc"
- }
-
- if [istarget sparc*-*-*] {
- lappend ALWAYS_CFLAGS "additional_flags=-mcpu=v9"
- }
-
- if [info exists TOOL_OPTIONS] {
- lappend ALWAYS_CFLAGS "additional_flags=$TOOL_OPTIONS"
- }
-
- # Make sure that lines are not wrapped. That can confuse the
- # error-message parsing machinery.
- lappend ALWAYS_CFLAGS "additional_flags=-fmessage-length=0"
-
- # And, gee, turn on OpenMP.
- lappend ALWAYS_CFLAGS "additional_flags=-fopenmp"
-}
-
-#
-# libgomp_target_compile -- compile a source file
-#
-
-proc libgomp_target_compile { source dest type options } {
- global blddir
- global libgomp_compile_options
- global gluefile wrap_flags
- global ALWAYS_CFLAGS
- global GCC_UNDER_TEST
- global lang_test_file
- global lang_library_path
- global lang_link_flags
-
- if { [info exists lang_test_file] } {
- if { $blddir != "" } {
- # Some targets use libgfortran.a%s in their specs, so they need
- # a -B option for uninstalled testing.
- lappend options "additional_flags=-B${blddir}/${lang_library_path}"
- lappend options "ldflags=-L${blddir}/${lang_library_path}"
- }
- lappend options "ldflags=${lang_link_flags}"
- }
-
- if { [target_info needs_status_wrapper] != "" && [info exists gluefile] } {
- lappend options "libs=${gluefile}"
- lappend options "ldflags=${wrap_flags}"
- }
-
- lappend options "additional_flags=[libio_include_flags]"
- lappend options "timeout=[timeout_value]"
- lappend options "compiler=$GCC_UNDER_TEST"
-
- set options [concat $libgomp_compile_options $options]
-
- if [info exists ALWAYS_CFLAGS] {
- set options [concat "$ALWAYS_CFLAGS" $options]
- }
-
- set options [dg-additional-files-options $options $source]
-
- set result [target_compile $source $dest $type $options]
-
- return $result
-}
-
-proc libgomp_option_help { } {
- send_user " --additional_options,OPTIONS\t\tUse OPTIONS to compile the testcase files. OPTIONS should be comma-separated.\n"
-}
-
-proc libgomp_option_proc { option } {
- if [regexp "^--additional_options," $option] {
- global libgomp_compile_options
- regsub "--additional_options," $option "" option
- foreach x [split $option ","] {
- lappend libgomp_compile_options "additional_flags=$x"
- }
- return 1
- } else {
- return 0
- }
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/atomic-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/atomic-1.C
deleted file mode 100644
index 73f6e7c40..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/atomic-1.C
+++ /dev/null
@@ -1,53 +0,0 @@
-// PR c++/33894
-// { dg-do run }
-// { dg-options "-O2" }
-
-extern "C" void abort ();
-
-int check;
-
-template<typename T> void
-foo ()
-{
- #pragma omp atomic
- check |= sizeof (T);
-}
-
-template<typename T> void
-bar (T *x, T y)
-{
- #pragma omp atomic
- *x += y;
-}
-
-template<typename T> void
-baz ()
-{
- #pragma omp atomic
- check++;
-}
-
-int
-main ()
-{
- int i = 0;
- long l = 0;
-
- check = 0;
- foo<char> ();
- if (check != sizeof (char))
- abort ();
- foo<short> ();
- if (check != (sizeof (char) | sizeof (short)))
- abort ();
- bar(&i, 4);
- bar(&l, 8L);
- if (i != 4 || l != 8L)
- abort ();
- baz<char> ();
- if (check != (sizeof (char) | sizeof (short)) + 1)
- abort ();
- baz<long double> ();
- if (check != (sizeof (char) | sizeof (short)) + 2)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/c++.exp b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/c++.exp
deleted file mode 100644
index decda3d1a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/c++.exp
+++ /dev/null
@@ -1,60 +0,0 @@
-load_lib libgomp-dg.exp
-
-global shlib_ext
-
-set shlib_ext [get_shlib_extension]
-set lang_link_flags "-lstdc++"
-set lang_test_file_found 0
-set lang_library_path "../libstdc++-v3/src/.libs"
-
-# Initialize dg.
-dg-init
-
-set blddir [lookfor_file [get_multilibs] libgomp]
-
-
-if { $blddir != "" } {
- # Look for a static libstdc++ first.
- if [file exists "${blddir}/${lang_library_path}/libstdc++.a"] {
- set lang_test_file "${lang_library_path}/libstdc++.a"
- set lang_test_file_found 1
- # We may have a shared only build, so look for a shared libstdc++.
- } elseif [file exists "${blddir}/${lang_library_path}/libstdc++.${shlib_ext}"] {
- set lang_test_file "${lang_library_path}/libstdc++.${shlib_ext}"
- set lang_test_file_found 1
- } else {
- puts "No libstdc++ library found, will not execute c++ tests"
- }
-} elseif { [info exists GXX_UNDER_TEST] } {
- set lang_test_file_found 1
- # Needs to exist for libgomp.exp.
- set lang_test_file ""
-} else {
- puts "GXX_UNDER_TEST not defined, will not execute c++ tests"
-}
-
-if { $lang_test_file_found } {
- # Gather a list of all tests.
- set tests [lsort [glob -nocomplain $srcdir/$subdir/*.C]]
-
- if { $blddir != "" } {
- set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}"
- } else {
- set ld_library_path "$always_ld_library_path"
- }
- append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
- set_ld_library_path_env_vars
-
- set flags_file "${blddir}/../libstdc++-v3/scripts/testsuite_flags"
- if { [file exists $flags_file] } {
- set libstdcxx_includes [exec sh $flags_file --build-includes]
- } else {
- set libstdcxx_includes ""
- }
-
- # Main loop.
- gfortran-dg-runtest $tests $libstdcxx_includes
-}
-
-# All done.
-dg-finish
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-1.C
deleted file mode 100644
index 132d35cf4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-1.C
+++ /dev/null
@@ -1,29 +0,0 @@
-// { dg-do run }
-
-#include <string.h>
-#include <stdlib.h>
-
-int
-main ()
-{
- int i, j, k, l = 0;
- int a[3][3][3];
-
- memset (a, '\0', sizeof (a));
- #pragma omp parallel for collapse(4 - 1) schedule(static, 4)
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- for (k = 0; k < 2; k++)
- a[i][j][k] = i + j * 4 + k * 16;
- #pragma omp parallel
- {
- #pragma omp for collapse(2) reduction(|:l) private (k)
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- for (k = 0; k < 2; k++)
- if (a[i][j][k] != i + j * 4 + k * 16)
- l = 1;
- }
- if (l)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-2.C
deleted file mode 100644
index a42a1f07f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/collapse-2.C
+++ /dev/null
@@ -1,371 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-extern "C" void abort ();
-
-template <typename T>
-class I
-{
-public:
- typedef ptrdiff_t difference_type;
- I ();
- ~I ();
- I (T *);
- I (const I &);
- T &operator * ();
- T *operator -> ();
- T &operator [] (const difference_type &) const;
- I &operator = (const I &);
- I &operator ++ ();
- I operator ++ (int);
- I &operator -- ();
- I operator -- (int);
- I &operator += (const difference_type &);
- I &operator -= (const difference_type &);
- I operator + (const difference_type &) const;
- I operator - (const difference_type &) const;
- template <typename S> friend bool operator == (I<S> &, I<S> &);
- template <typename S> friend bool operator == (const I<S> &, const I<S> &);
- template <typename S> friend bool operator < (I<S> &, I<S> &);
- template <typename S> friend bool operator < (const I<S> &, const I<S> &);
- template <typename S> friend bool operator <= (I<S> &, I<S> &);
- template <typename S> friend bool operator <= (const I<S> &, const I<S> &);
- template <typename S> friend bool operator > (I<S> &, I<S> &);
- template <typename S> friend bool operator > (const I<S> &, const I<S> &);
- template <typename S> friend bool operator >= (I<S> &, I<S> &);
- template <typename S> friend bool operator >= (const I<S> &, const I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (I<S> &, I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (const I<S> &, const I<S> &);
- template <typename S> friend I<S> operator + (typename I<S>::difference_type , const I<S> &);
-private:
- T *p;
-};
-template <typename T> I<T>::I () : p (0) {}
-template <typename T> I<T>::~I () { p = (T *) 0; }
-template <typename T> I<T>::I (T *x) : p (x) {}
-template <typename T> I<T>::I (const I &x) : p (x.p) {}
-template <typename T> T &I<T>::operator * () { return *p; }
-template <typename T> T *I<T>::operator -> () { return p; }
-template <typename T> T &I<T>::operator [] (const difference_type &x) const { return p[x]; }
-template <typename T> I<T> &I<T>::operator = (const I &x) { p = x.p; return *this; }
-template <typename T> I<T> &I<T>::operator ++ () { ++p; return *this; }
-template <typename T> I<T> I<T>::operator ++ (int) { return I (p++); }
-template <typename T> I<T> &I<T>::operator -- () { --p; return *this; }
-template <typename T> I<T> I<T>::operator -- (int) { return I (p--); }
-template <typename T> I<T> &I<T>::operator += (const difference_type &x) { p += x; return *this; }
-template <typename T> I<T> &I<T>::operator -= (const difference_type &x) { p -= x; return *this; }
-template <typename T> I<T> I<T>::operator + (const difference_type &x) const { return I (p + x); }
-template <typename T> I<T> I<T>::operator - (const difference_type &x) const { return I (p - x); }
-template <typename T> bool operator == (I<T> &x, I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator == (const I<T> &x, const I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator != (I<T> &x, I<T> &y) { return !(x == y); }
-template <typename T> bool operator != (const I<T> &x, const I<T> &y) { return !(x == y); }
-template <typename T> bool operator < (I<T> &x, I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator < (const I<T> &x, const I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator <= (I<T> &x, I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator <= (const I<T> &x, const I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator > (I<T> &x, I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator > (const I<T> &x, const I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator >= (I<T> &x, I<T> &y) { return x.p >= y.p; }
-template <typename T> bool operator >= (const I<T> &x, const I<T> &y) { return x.p >= y.p; }
-template <typename T> typename I<T>::difference_type operator - (I<T> &x, I<T> &y) { return x.p - y.p; }
-template <typename T> typename I<T>::difference_type operator - (const I<T> &x, const I<T> &y) { return x.p - y.p; }
-template <typename T> I<T> operator + (typename I<T>::difference_type x, const I<T> &y) { return I<T> (x + y.p); }
-
-template <typename T>
-class J
-{
-public:
- J(const I<T> &x, const I<T> &y) : b (x), e (y) {}
- const I<T> &begin ();
- const I<T> &end ();
-private:
- I<T> b, e;
-};
-
-template <typename T> const I<T> &J<T>::begin () { return b; }
-template <typename T> const I<T> &J<T>::end () { return e; }
-
-int results[2000];
-
-void
-f1 (J<int> x, J<int> y, J<int> z)
-{
- I<int> i, j, k;
- int l, f = 0, n = 0, m = 0;
-#pragma omp parallel shared (i, j, k, l) firstprivate (f) \
- reduction (+:n, m) num_threads (8)
- {
- #pragma omp for lastprivate (i, j, k, l) schedule (static, 9) \
- collapse (4)
- for (i = x.begin (); i < x.end (); ++i)
- for (j = y.begin (); j <= y.end (); j += 1)
- for (l = 0; l < 1; l++)
- for (k = z.begin () + 3; k < z.end () - 3; k++)
- if (omp_get_num_threads () == 8
- && ((*i + 2) * 12 + (*j + 5) * 4 + (*k - 13)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || i != x.end () || j != y.end () + 1 || k != z.end () - 3
- || m != 72 || l != 1)
- abort ();
-}
-
-void
-f2 (J<int> x, J<int> y, J<int> z)
-{
- int f = 0, n = 0, m = 0;
-#pragma omp parallel for firstprivate (f) reduction (+:n, m) \
- num_threads (8) schedule (static, 9) \
- collapse (6 - 2)
- for (I<int> i = x.end () - 1; i >= x.begin (); --i)
- for (int l = -131; l >= -131; l--)
- for (I<int> j = y.end (); j > y.begin () - 1; j -= 1)
- {
- for (I<int> k = z.end () - 4; k >= z.begin () + 3; k--)
- if (omp_get_num_threads () == 8
- && ((3 - *i) * 12 + (-3 - *j) * 4 + (16 - *k)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || m != 72)
- abort ();
-}
-
-template <typename T>
-void
-f3 (J<int> x, J<int> y, J<int> z)
-{
- I<int> i, j, k;
- int l, f = 0, n = 0, m = 0;
-#pragma omp parallel shared (i, j, k, l) firstprivate (f) \
- reduction (+:n, m) num_threads (8)
- {
- #pragma omp for lastprivate (i, j, k, l) schedule (static, 9) \
- collapse (4)
- for (i = x.begin (); i < x.end (); ++i)
- for (j = y.begin (); j <= y.end (); j += 1)
- for (k = z.begin () + 3; k < z.end () - 3; k++)
- for (l = 7; l <= 7; l++)
- if (omp_get_num_threads () == 8
- && ((*i + 2) * 12 + (*j + 5) * 4 + (*k - 13)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || i != x.end () || j != y.end () + 1 || k != z.end () - 3
- || m != 72 || l != 8)
- abort ();
-}
-
-template <typename T>
-void
-f4 (J<int> x, J<int> y, J<int> z)
-{
- int f = 0, n = 0, m = 0;
-#pragma omp parallel for firstprivate (f) reduction (+:n, m) \
- num_threads (8) schedule (static, 9) \
- collapse (5 - 2)
- for (I<int> i = x.end () - 1; i >= x.begin (); --i)
- {
- for (I<int> j = y.end (); j > y.begin () - 1; j -= 1)
- {
- for (I<int> k = z.end () - 4; k >= z.begin () + 3; k--)
- if (omp_get_num_threads () == 8
- && ((3 - *i) * 12 + (-3 - *j) * 4 + (16 - *k)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- }
- if (n || m != 72)
- abort ();
-}
-
-template <typename T>
-void
-f5 (J<int> x, J<int> y, J<int> z)
-{
- I<int> i, j, k;
- int f = 0, n = 0, m = 0;
-#pragma omp parallel shared (i, j, k) firstprivate (f) \
- reduction (+:n, m) num_threads (8)
- {
- #pragma omp for lastprivate (i, j, k) schedule (static, 9) \
- collapse (3)
- for (i = x.begin (); i < x.end (); ++i)
- for (j = y.begin (); j <= y.end (); j += (T) 1)
- {
- for (k = z.begin () + 3; k < z.end () - 3; k++)
- if (omp_get_num_threads () == 8
- && ((*i + 2) * 12 + (*j + 5) * 4 + (*k - 13)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- }
- if (n || i != x.end () || j != y.end () + 1 || k != z.end () - 3
- || m != 72)
- abort ();
-}
-
-template <typename T>
-void
-f6 (J<int> x, J<int> y, J<int> z)
-{
- int f = 0, n = 0, m = 0;
-#pragma omp parallel for firstprivate (f) reduction (+:n, m) \
- num_threads (8) schedule (static, 9) \
- collapse (5 - 2)
- for (I<int> i = x.end () - 1; i >= x.begin (); --i)
- {
- for (I<int> j = y.end (); j > y.begin () - 1; j -= 1)
- {
- for (I<int> k = z.end () - 4; k >= z.begin () + (T) 3; k--)
- if (omp_get_num_threads () == 8
- && ((3 - *i) * 12 + (-3 - *j) * 4 + (16 - *k)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- }
- if (n || m != 72)
- abort ();
-}
-
-template <typename T>
-void
-f7 (J<T> x, J<T> y, J<T> z)
-{
- I<T> i, j, k, o = y.begin ();
- T l, f = 0, n = 0, m = 0;
-#pragma omp parallel shared (i, j, k, l) firstprivate (f) \
- reduction (+:n, m) num_threads (8)
- {
- #pragma omp for lastprivate (i, j, k, l) schedule (static, 9) \
- collapse (4)
- for (i = x.begin (); i < x.end (); ++i)
- for (j = y.begin (); j <= y.end (); j += 1)
- for (l = *o; l <= *o; l = 1 + l)
- for (k = z.begin () + 3; k < z.end () - 3; k++)
- if (omp_get_num_threads () == 8
- && ((*i + 2) * 12 + (*j + 5) * 4 + (*k - 13)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || i != x.end () || j != y.end () + 1 || k != z.end () - 3
- || m != 72 || l != *o + 1)
- abort ();
-}
-
-template <typename T>
-void
-f8 (J<T> x, J<T> y, J<T> z)
-{
- T f = 0, n = 0, m = 0;
-#pragma omp parallel for firstprivate (f) reduction (+:n, m) \
- num_threads (8) schedule (static, 9) \
- collapse (6 - 2)
- for (I<T> i = x.end () - 1; i >= x.begin (); --i)
- for (T l = 0; l < 1; l++)
- for (I<T> j = y.end (); j > y.begin () - 1; j -= 1)
- {
- for (I<T> k = z.end () - 4; k >= z.begin () + 3; k--)
- if (omp_get_num_threads () == 8
- && ((3 - *i) * 12 + (-3 - *j) * 4 + (16 - *k)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || m != 72)
- abort ();
-}
-
-template <typename S, typename T>
-void
-f9 (J<T> x, J<T> y, J<T> z)
-{
- S i, j, k, o = y.begin ();
- T l, f = 0, n = 0, m = 0;
-#pragma omp parallel shared (i, j, k, l) firstprivate (f) \
- reduction (+:n, m) num_threads (8)
- {
- #pragma omp for lastprivate (i, j, k, l) schedule (static, 9) \
- collapse (4)
- for (i = x.begin (); i < x.end (); ++i)
- for (j = y.begin (); j <= y.end (); j += 1)
- for (l = *o; l <= *o; l = 1 + l)
- for (k = z.begin () + 3; k < z.end () - 3; k++)
- if (omp_get_num_threads () == 8
- && ((*i + 2) * 12 + (*j + 5) * 4 + (*k - 13)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || i != x.end () || j != y.end () + 1 || k != z.end () - 3
- || m != 72 || l != *o + 1)
- abort ();
-}
-
-template <typename S, typename T>
-void
-f10 (J<T> x, J<T> y, J<T> z)
-{
- T f = 0, n = 0, m = 0;
-#pragma omp parallel for firstprivate (f) reduction (+:n, m) \
- num_threads (8) schedule (static, 9) \
- collapse (6 - 2)
- for (S i = x.end () - 1; i >= x.begin (); --i)
- for (T l = 0; l < 1; l++)
- for (S j = y.end (); j > y.begin () - 1; j -= 1)
- {
- for (S k = z.end () - 4; k >= z.begin () + 3; k--)
- if (omp_get_num_threads () == 8
- && ((3 - *i) * 12 + (-3 - *j) * 4 + (16 - *k)
- != (omp_get_thread_num () * 9 + f++)))
- n++;
- else
- m++;
- }
- if (n || m != 72)
- abort ();
-}
-
-int
-main ()
-{
- int a[2000];
- long b[2000];
- for (int i = 0; i < 2000; i++)
- {
- a[i] = i - 1000;
- b[i] = i - 1000;
- }
- J<int> x (&a[998], &a[1004]);
- J<int> y (&a[995], &a[997]);
- J<int> z (&a[1010], &a[1020]);
- f1 (x, y, z);
- f2 (x, y, z);
- f3 <int> (x, y, z);
- f4 <int> (x, y, z);
- f5 <int> (x, y, z);
- f6 <int> (x, y, z);
- f7 <int> (x, y, z);
- f8 <int> (x, y, z);
- f9 <I<int>, int> (x, y, z);
- f10 <I<int>, int> (x, y, z);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-1.C
deleted file mode 100644
index bc12be2d2..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-1.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-
-extern "C" void abort (void);
-
-int thr = 32;
-#pragma omp threadprivate (thr)
-
-int
-main (void)
-{
- int l = 0;
-
- omp_set_dynamic (0);
- omp_set_num_threads (6);
-
-#pragma omp parallel copyin (thr) reduction (||:l)
- {
- l = thr != 32;
- thr = omp_get_thread_num () + 11;
- }
-
- if (l || thr != 11)
- abort ();
-
-#pragma omp parallel reduction (||:l)
- l = thr != omp_get_thread_num () + 11;
-
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-2.C
deleted file mode 100644
index 024f59980..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/copyin-2.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-
-extern "C" void abort (void);
-
-struct S { int t; char buf[64]; } thr = { 32, "" };
-#pragma omp threadprivate (thr)
-
-int
-main (void)
-{
- int l = 0;
-
- omp_set_dynamic (0);
- omp_set_num_threads (6);
-
-#pragma omp parallel copyin (thr) reduction (||:l)
- {
- l = thr.t != 32;
- thr.t = omp_get_thread_num () + 11;
- }
-
- if (l || thr.t != 11)
- abort ();
-
-#pragma omp parallel reduction (||:l)
- l = thr.t != omp_get_thread_num () + 11;
-
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-1.C
deleted file mode 100644
index 2ad3b3a6e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-1.C
+++ /dev/null
@@ -1,65 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-struct B
-{
- static int icount;
- static int dcount;
- static int xcount;
-
- B();
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
-};
-
-int B::icount;
-int B::dcount;
-int B::xcount;
-
-B::B()
-{
- #pragma omp atomic
- icount++;
-}
-
-B::~B()
-{
- #pragma omp atomic
- dcount++;
-}
-
-void B::doit()
-{
- #pragma omp atomic
- xcount++;
-}
-
-static int nthreads;
-
-void foo()
-{
- B b;
- #pragma omp parallel private(b)
- {
- #pragma omp master
- nthreads = omp_get_num_threads ();
- b.doit();
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::xcount == nthreads);
- assert (B::icount == nthreads+1);
- assert (B::dcount == nthreads+1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-10.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-10.C
deleted file mode 100644
index f46e45ec4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-10.C
+++ /dev/null
@@ -1,78 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-#include <assert.h>
-
-#define N 10
-#define THR 4
-
-struct B
-{
- B();
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
- static B *base;
- static B *threadbase;
-#pragma omp threadprivate(threadbase)
-};
-
-B *B::base;
-B *B::threadbase;
-static unsigned cmask[THR];
-static unsigned dmask[THR];
-
-B::B()
-{
- assert (base == 0);
-}
-
-B::B(const B &b)
-{
- unsigned index = &b - base;
- assert (index < N);
- cmask[omp_get_thread_num()] |= 1u << index;
-}
-
-B::~B()
-{
- if (threadbase)
- {
- unsigned index = this - threadbase;
- assert (index < N);
- dmask[omp_get_thread_num()] |= 1u << index;
- }
-}
-
-void foo()
-{
- B b[N];
-
- B::base = b;
-
- #pragma omp parallel firstprivate(b)
- {
- assert (omp_get_num_threads () == THR);
- B::threadbase = b;
- }
-
- B::threadbase = 0;
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (THR);
- foo();
-
- for (int i = 0; i < THR; ++i)
- {
- unsigned xmask = (1u << N) - 1;
- assert (cmask[i] == xmask);
- assert (dmask[i] == xmask);
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-11.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-11.C
deleted file mode 100644
index 8f501e8c8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-11.C
+++ /dev/null
@@ -1,100 +0,0 @@
-// PR c++/36308
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-#define N 10
-
-struct B
-{
- static int icount;
- static int ccount;
- static int dcount;
- static int xcount;
-
- B ();
- B (const B &);
- virtual ~B ();
- B& operator= (const B &);
- void doit ();
- static void clear () { icount = ccount = dcount = xcount = 0; }
-};
-
-int B::icount;
-int B::ccount;
-int B::dcount;
-int B::xcount;
-
-B::B ()
-{
- #pragma omp atomic
- icount++;
-}
-
-B::B (const B &)
-{
- #pragma omp atomic
- ccount++;
-}
-
-B::~B ()
-{
- #pragma omp atomic
- dcount++;
-}
-
-void
-B::doit ()
-{
- #pragma omp atomic
- xcount++;
-}
-
-static int nthreads;
-
-void
-test1 ()
-{
- B b[N];
- #pragma omp parallel private (b)
- {
- #pragma omp master
- nthreads = omp_get_num_threads ();
- b[0].doit ();
- }
-}
-
-void
-test2 ()
-{
- B b;
- #pragma omp parallel firstprivate (b)
- {
- #pragma omp single
- nthreads = omp_get_num_threads ();
- b.doit ();
- }
-}
-
-int
-main ()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
-
- B::clear ();
- test1 ();
- assert (B::xcount == nthreads);
- assert (B::ccount == 0);
- assert (B::icount == (nthreads + 1) * N);
- assert (B::dcount == (nthreads + 1) * N);
-
- B::clear ();
- test2 ();
- assert (B::xcount == nthreads);
- assert (B::ccount == nthreads);
- assert (B::icount == 1);
- assert (B::dcount == nthreads + 1);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-12.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-12.C
deleted file mode 100644
index 8bd53de3f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-12.C
+++ /dev/null
@@ -1,65 +0,0 @@
-// PR c++/36308
-// { dg-do run }
-
-extern "C" void abort ();
-
-static int n;
-
-struct A
-{
- A ()
- {
- l = 0;
- #pragma omp atomic
- ctors++;
- }
- A (const A &x)
- {
- l = x.l;
- #pragma omp atomic
- copyctors++;
- }
- virtual A& operator= (const A &x)
- {
- l = x.l;
- #pragma omp atomic
- assignops++;
- return *this;
- }
- virtual ~A ()
- {
- #pragma omp atomic
- dtors++;
- }
- int l;
- static int ctors, dtors, copyctors, assignops;
-};
-
-int A::ctors;
-int A::dtors;
-int A::copyctors;
-int A::assignops;
-
-int
-main ()
-{
- A a;
-#pragma omp parallel private (a)
- {
- a.l = 6;
- #pragma omp single copyprivate (a)
- {
- a.l = 3;
- }
- if (a.l != 3)
- abort ();
- #pragma omp atomic
- n++;
- }
- if (A::ctors != n + 1
- || A::copyctors != 0
- || A::dtors != n
- || A::assignops != n - 1)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-2.C
deleted file mode 100644
index 6611c592f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-2.C
+++ /dev/null
@@ -1,76 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-struct B
-{
- static int ccount;
- static int dcount;
- static int xcount;
- static B *expected;
-
- B();
- B(int);
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
-};
-
-int B::ccount;
-int B::dcount;
-int B::xcount;
-B * B::expected;
-
-B::B(int)
-{
- expected = this;
-}
-
-B::B(const B &b)
-{
- #pragma omp atomic
- ccount++;
- assert (&b == expected);
-}
-
-B::~B()
-{
- #pragma omp atomic
- dcount++;
-}
-
-void B::doit()
-{
- #pragma omp atomic
- xcount++;
- assert (this != expected);
-}
-
-static int nthreads;
-
-void foo()
-{
- B b(0);
-
- #pragma omp parallel firstprivate(b)
- {
- #pragma omp master
- nthreads = omp_get_num_threads ();
- b.doit();
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::xcount == nthreads);
- assert (B::ccount == nthreads);
- assert (B::dcount == nthreads+1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-3.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-3.C
deleted file mode 100644
index e65e4ea52..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-3.C
+++ /dev/null
@@ -1,89 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-struct B
-{
- static int icount;
- static int dcount;
- static int ccount;
- static B *e_inner;
- static B *e_outer;
-
- B();
- B(int);
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
-};
-
-int B::icount;
-int B::dcount;
-int B::ccount;
-B * B::e_inner;
-B * B::e_outer;
-
-B::B()
-{
- #pragma omp atomic
- icount++;
-}
-
-B::B(int)
-{
- e_outer = this;
-}
-
-B::~B()
-{
- #pragma omp atomic
- dcount++;
-}
-
-B& B::operator= (const B &b)
-{
- assert (&b == e_inner);
- assert (this == e_outer);
- #pragma omp atomic
- ccount++;
- return *this;
-}
-
-void B::doit()
-{
- #pragma omp critical
- {
- assert (e_inner == 0);
- e_inner = this;
- }
-}
-
-static int nthreads;
-
-void foo()
-{
- B b(0);
-
- #pragma omp parallel sections lastprivate(b)
- {
- #pragma omp section
- nthreads = omp_get_num_threads ();
- #pragma omp section
- b.doit ();
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::ccount == 1);
- assert (B::icount == nthreads);
- assert (B::dcount == nthreads+1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-4.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-4.C
deleted file mode 100644
index e4f8f82db..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-4.C
+++ /dev/null
@@ -1,90 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-struct B
-{
- static int ccount;
- static int dcount;
- static int ecount;
- static B *e_inner;
- static B *e_outer;
-
- B();
- B(int);
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
-};
-
-int B::ccount;
-int B::dcount;
-int B::ecount;
-B * B::e_inner;
-B * B::e_outer;
-
-B::B(int)
-{
- e_outer = this;
-}
-
-B::B(const B &b)
-{
- assert (&b == e_outer);
- #pragma omp atomic
- ccount++;
-}
-
-B::~B()
-{
- #pragma omp atomic
- dcount++;
-}
-
-B& B::operator= (const B &b)
-{
- assert (&b == e_inner);
- assert (this == e_outer);
- #pragma omp atomic
- ecount++;
- return *this;
-}
-
-void B::doit()
-{
- #pragma omp critical
- {
- assert (e_inner == 0);
- e_inner = this;
- }
-}
-
-static int nthreads;
-
-void foo()
-{
- B b(0);
-
- #pragma omp parallel sections firstprivate(b) lastprivate(b)
- {
- #pragma omp section
- nthreads = omp_get_num_threads ();
- #pragma omp section
- b.doit ();
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::ecount == 1);
- assert (B::ccount == nthreads);
- assert (B::dcount == nthreads+1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C
deleted file mode 100644
index d99a1d462..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-#include <assert.h>
-
-struct B
-{
- static int count;
- static B *expected;
-
- B& operator=(const B &);
-};
-
-int B::count;
-B * B::expected;
-
-static B thr;
-#pragma omp threadprivate(thr)
-
-B& B::operator= (const B &b)
-{
- assert (&b == expected);
- assert (this != expected);
- #pragma omp atomic
- count++;
- return *this;
-}
-
-static int nthreads;
-
-void foo()
-{
- B::expected = &thr;
-
- #pragma omp parallel copyin(thr)
- {
- #pragma omp master
- nthreads = omp_get_num_threads ();
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::count == nthreads-1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-6.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-6.C
deleted file mode 100644
index eab74e089..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-6.C
+++ /dev/null
@@ -1,50 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-struct B
-{
- static int count;
- static B *expected;
-
- B& operator=(const B &);
-};
-
-int B::count;
-B * B::expected;
-
-B& B::operator= (const B &b)
-{
- assert (&b == expected);
- assert (this != expected);
- #pragma omp atomic
- count++;
- return *this;
-}
-
-static int nthreads;
-
-void foo()
-{
- #pragma omp parallel
- {
- B b;
- #pragma omp single copyprivate(b)
- {
- nthreads = omp_get_num_threads ();
- B::expected = &b;
- }
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::count == nthreads-1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-7.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-7.C
deleted file mode 100644
index 3d669a707..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-7.C
+++ /dev/null
@@ -1,67 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-#include <assert.h>
-
-#define N 10
-
-struct B
-{
- static int icount;
- static int dcount;
- static int xcount;
-
- B();
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
-};
-
-int B::icount;
-int B::dcount;
-int B::xcount;
-
-B::B()
-{
- #pragma omp atomic
- icount++;
-}
-
-B::~B()
-{
- #pragma omp atomic
- dcount++;
-}
-
-void B::doit()
-{
- #pragma omp atomic
- xcount++;
-}
-
-static int nthreads;
-
-void foo()
-{
- B b[N];
- #pragma omp parallel private(b)
- {
- #pragma omp master
- nthreads = omp_get_num_threads ();
- b[0].doit();
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (4);
- foo();
-
- assert (B::xcount == nthreads);
- assert (B::icount == (nthreads+1)*N);
- assert (B::dcount == (nthreads+1)*N);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-8.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-8.C
deleted file mode 100644
index 5c0d81b73..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-8.C
+++ /dev/null
@@ -1,77 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-#include <assert.h>
-
-#define N 10
-#define THR 4
-
-struct B
-{
- B();
- B(const B &);
- ~B();
- B& operator=(const B &);
- void doit();
-};
-
-static B *base;
-static B *threadbase;
-static unsigned cmask[THR];
-static unsigned dmask[THR];
-
-#pragma omp threadprivate(threadbase)
-
-B::B()
-{
- assert (base == 0);
-}
-
-B::B(const B &b)
-{
- unsigned index = &b - base;
- assert (index < N);
- cmask[omp_get_thread_num()] |= 1u << index;
-}
-
-B::~B()
-{
- if (threadbase)
- {
- unsigned index = this - threadbase;
- assert (index < N);
- dmask[omp_get_thread_num()] |= 1u << index;
- }
-}
-
-void foo()
-{
- B b[N];
-
- base = b;
-
- #pragma omp parallel firstprivate(b)
- {
- assert (omp_get_num_threads () == THR);
- threadbase = b;
- }
-
- threadbase = 0;
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (THR);
- foo();
-
- for (int i = 0; i < THR; ++i)
- {
- unsigned xmask = (1u << N) - 1;
- assert (cmask[i] == xmask);
- assert (dmask[i] == xmask);
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C
deleted file mode 100644
index 215a901f8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-#include <assert.h>
-
-#define N 10
-#define THR 4
-
-struct B
-{
- B& operator=(const B &);
-};
-
-static B *base;
-static B *threadbase;
-static int singlethread;
-#pragma omp threadprivate(threadbase)
-
-static unsigned cmask[THR];
-
-B& B::operator= (const B &b)
-{
- unsigned sindex = &b - base;
- unsigned tindex = this - threadbase;
- assert(sindex < N);
- assert(sindex == tindex);
- cmask[omp_get_thread_num ()] |= 1u << tindex;
- return *this;
-}
-
-void foo()
-{
- #pragma omp parallel
- {
- B b[N];
- threadbase = b;
- #pragma omp single copyprivate(b)
- {
- assert(omp_get_num_threads () == THR);
- singlethread = omp_get_thread_num ();
- base = b;
- }
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (THR);
- foo();
-
- for (int i = 0; i < THR; ++i)
- if (i == singlethread)
- assert(cmask[singlethread] == 0);
- else
- assert(cmask[i] == (1u << N) - 1);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-1.C
deleted file mode 100644
index 1c713464e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-1.C
+++ /dev/null
@@ -1,291 +0,0 @@
-// { dg-do run }
-
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-extern "C" void abort ();
-
-template <typename T>
-class I
-{
-public:
- typedef ptrdiff_t difference_type;
- I ();
- ~I ();
- I (T *);
- I (const I &);
- T &operator * ();
- T *operator -> ();
- T &operator [] (const difference_type &) const;
- I &operator = (const I &);
- I &operator ++ ();
- I operator ++ (int);
- I &operator -- ();
- I operator -- (int);
- I &operator += (const difference_type &);
- I &operator -= (const difference_type &);
- I operator + (const difference_type &) const;
- I operator - (const difference_type &) const;
- template <typename S> friend bool operator == (I<S> &, I<S> &);
- template <typename S> friend bool operator == (const I<S> &, const I<S> &);
- template <typename S> friend bool operator < (I<S> &, I<S> &);
- template <typename S> friend bool operator < (const I<S> &, const I<S> &);
- template <typename S> friend bool operator <= (I<S> &, I<S> &);
- template <typename S> friend bool operator <= (const I<S> &, const I<S> &);
- template <typename S> friend bool operator > (I<S> &, I<S> &);
- template <typename S> friend bool operator > (const I<S> &, const I<S> &);
- template <typename S> friend bool operator >= (I<S> &, I<S> &);
- template <typename S> friend bool operator >= (const I<S> &, const I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (I<S> &, I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (const I<S> &, const I<S> &);
- template <typename S> friend I<S> operator + (typename I<S>::difference_type , const I<S> &);
-private:
- T *p;
-};
-template <typename T> I<T>::I () : p (0) {}
-template <typename T> I<T>::~I () {}
-template <typename T> I<T>::I (T *x) : p (x) {}
-template <typename T> I<T>::I (const I &x) : p (x.p) {}
-template <typename T> T &I<T>::operator * () { return *p; }
-template <typename T> T *I<T>::operator -> () { return p; }
-template <typename T> T &I<T>::operator [] (const difference_type &x) const { return p[x]; }
-template <typename T> I<T> &I<T>::operator = (const I &x) { p = x.p; return *this; }
-template <typename T> I<T> &I<T>::operator ++ () { ++p; return *this; }
-template <typename T> I<T> I<T>::operator ++ (int) { return I (p++); }
-template <typename T> I<T> &I<T>::operator -- () { --p; return *this; }
-template <typename T> I<T> I<T>::operator -- (int) { return I (p--); }
-template <typename T> I<T> &I<T>::operator += (const difference_type &x) { p += x; return *this; }
-template <typename T> I<T> &I<T>::operator -= (const difference_type &x) { p -= x; return *this; }
-template <typename T> I<T> I<T>::operator + (const difference_type &x) const { return I (p + x); }
-template <typename T> I<T> I<T>::operator - (const difference_type &x) const { return I (p - x); }
-template <typename T> bool operator == (I<T> &x, I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator == (const I<T> &x, const I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator != (I<T> &x, I<T> &y) { return !(x == y); }
-template <typename T> bool operator != (const I<T> &x, const I<T> &y) { return !(x == y); }
-template <typename T> bool operator < (I<T> &x, I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator < (const I<T> &x, const I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator <= (I<T> &x, I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator <= (const I<T> &x, const I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator > (I<T> &x, I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator > (const I<T> &x, const I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator >= (I<T> &x, I<T> &y) { return x.p >= y.p; }
-template <typename T> bool operator >= (const I<T> &x, const I<T> &y) { return x.p >= y.p; }
-template <typename T> typename I<T>::difference_type operator - (I<T> &x, I<T> &y) { return x.p - y.p; }
-template <typename T> typename I<T>::difference_type operator - (const I<T> &x, const I<T> &y) { return x.p - y.p; }
-template <typename T> I<T> operator + (typename I<T>::difference_type x, const I<T> &y) { return I<T> (x + y.p); }
-
-template <typename T>
-class J
-{
-public:
- J(const I<T> &x, const I<T> &y) : b (x), e (y) {}
- const I<T> &begin ();
- const I<T> &end ();
-private:
- I<T> b, e;
-};
-
-template <typename T> const I<T> &J<T>::begin () { return b; }
-template <typename T> const I<T> &J<T>::end () { return e; }
-
-int results[2000];
-
-template <typename T>
-void
-baz (I<T> &i)
-{
- if (*i < 0 || *i >= 2000)
- abort ();
- results[*i]++;
-}
-
-void
-f1 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x; i <= y; i += 6)
- baz (i);
-}
-
-void
-f2 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for private(i)
- for (i = x; i < y - 1; i = 1 - 6 + 7 + i)
- baz (i);
-}
-
-template <typename T>
-void
-f3 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x; i <= y; i = i + 9 - 8)
- baz (i);
-}
-
-template <typename T>
-void
-f4 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for lastprivate(i)
- for (i = x + 2000 - 64; i > y + 10; --i)
- baz (i);
-}
-
-void
-f5 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x + 2000 - 64; i > y + 10; i -= 10)
- baz (i);
-}
-
-template <int N>
-void
-f6 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x + 2000 - 64; i > y + 10; i = i - 12 + 2)
- {
- I<int> j = i + N;
- baz (j);
- }
-}
-
-template <int N>
-void
-f7 (I<int> i, const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (i = x - 10; i <= y + 10; i += N)
- baz (i);
-}
-
-template <int N>
-void
-f8 (J<int> j)
-{
- I<int> i;
-#pragma omp parallel for
- for (i = j.begin (); i <= j.end () + N; i += 2)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f9 (const I<T> &x, const I<T> &y)
-{
-#pragma omp parallel for
- for (I<T> i = x; i <= y; i = i + N)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f10 (const I<T> &x, const I<T> &y)
-{
- I<T> i;
-#pragma omp parallel for
- for (i = x; i > y; i = i + N)
- baz (i);
-}
-
-template <typename T>
-void
-f11 (const T &x, const T &y)
-{
-#pragma omp parallel
- {
-#pragma omp for nowait
- for (T i = x; i <= y; i += 3)
- baz (i);
-#pragma omp single
- {
- T j = y + 3;
- baz (j);
- }
- }
-}
-
-template <typename T>
-void
-f12 (const T &x, const T &y)
-{
- T i;
-#pragma omp parallel for
- for (i = x; i > y; --i)
- baz (i);
-}
-
-template <int N>
-struct K
-{
- template <typename T>
- static void
- f13 (const T &x, const T &y)
- {
-#pragma omp parallel for
- for (T i = x; i <= y + N; i += N)
- baz (i);
- }
-};
-
-#define check(expr) \
- for (int i = 0; i < 2000; i++) \
- if (expr) \
- { \
- if (results[i] != 1) \
- abort (); \
- results[i] = 0; \
- } \
- else if (results[i]) \
- abort ()
-
-int
-main ()
-{
- int a[2000];
- long b[2000];
- for (int i = 0; i < 2000; i++)
- {
- a[i] = i;
- b[i] = i;
- }
- f1 (&a[10], &a[1990]);
- check (i >= 10 && i <= 1990 && (i - 10) % 6 == 0);
- f2 (&a[0], &a[1999]);
- check (i < 1998 && (i & 1) == 0);
- f3<char> (&a[20], &a[1837]);
- check (i >= 20 && i <= 1837);
- f4<int> (&a[0], &a[30]);
- check (i > 40 && i <= 2000 - 64);
- f5 (&a[0], &a[100]);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f6<-10> (&a[10], &a[110]);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f7<6> (I<int> (), &a[12], &a[1800]);
- check (i >= 2 && i <= 1808 && (i - 2) % 6 == 0);
- f8<121> (J<int> (&a[14], &a[1803]));
- check (i >= 14 && i <= 1924 && (i & 1) == 0);
- f9<int, 7> (&a[33], &a[1967]);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<int, -7> (&a[1939], &a[17]);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<I<int> > (&a[16], &a[1981]);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<I<int> > (&a[1761], &a[37]);
- check (i > 37 && i <= 1761);
- K<5>::f13<I<int> > (&a[1], &a[1935]);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
- f9<long, 7> (&b[33], &b[1967]);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<long, -7> (&b[1939], &b[17]);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<I<long> > (&b[16], &b[1981]);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<I<long> > (&b[1761], &b[37]);
- check (i > 37 && i <= 1761);
- K<5>::f13<I<long> > (&b[1], &b[1935]);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-2.C
deleted file mode 100644
index 98ffa1ae6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-2.C
+++ /dev/null
@@ -1,182 +0,0 @@
-// { dg-do run }
-
-extern "C" void abort ();
-
-template <typename T>
-class J
-{
-public:
- J(T x, T y) : b (x), e (y) {}
- T begin ();
- T end ();
-private:
- T b, e;
-};
-
-template <typename T> T J<T>::begin () { return b; }
-template <typename T> T J<T>::end () { return e; }
-
-int results[2000];
-
-void
-baz (int i)
-{
- if (i < 0 || i >= 2000)
- abort ();
- results[i]++;
-}
-
-void
-f1 (int x, int y)
-{
-#pragma omp parallel for
- for (int i = x; i <= y; i += 6)
- baz (i);
-}
-
-void
-f2 (int x, int y)
-{
- int i;
-#pragma omp parallel for private(i)
- for (i = x; i < y - 1; i = 1 - 6 + 7 + i)
- baz (i);
-}
-
-template <typename T>
-void
-f3 (int x, int y)
-{
-#pragma omp parallel for
- for (int i = x; i <= y; i = i + 9 - 8)
- baz (i);
-}
-
-template <typename T>
-void
-f4 (int x, int y)
-{
- int i;
-#pragma omp parallel for lastprivate(i)
- for (i = x + 2000 - 64; i > y + 10; --i)
- baz (i);
-}
-
-void
-f5 (int x, int y)
-{
-#pragma omp parallel for
- for (int i = x + 2000 - 64; i > y + 10L; i -= 10L)
- baz (i);
-}
-
-template <int N>
-void
-f6 (int x, int y)
-{
-#pragma omp parallel for
- for (int i = x + 2000 - 64; i > y + 10L; i = i - 12 + 2L)
- baz (i + N);
-}
-
-template <long N>
-void
-f7 (int i, int x, int y)
-{
-#pragma omp parallel for
- for (i = x - 10; i <= y + 10; i += N)
- baz (i);
-}
-
-template <long N>
-void
-f8 (J<int> j)
-{
- int i;
-#pragma omp parallel for
- for (i = j.begin (); i <= j.end () + N; i += 2)
- baz (i);
-}
-
-template <typename T, long N>
-void
-f9 (T x, T y)
-{
-#pragma omp parallel for
- for (T i = x; i <= y; i = i + N)
- baz (i);
-}
-
-template <typename T, long N>
-void
-f10 (T x, T y)
-{
- T i;
-#pragma omp parallel for
- for (i = x; i > y; i = i + N)
- baz (i);
-}
-
-template <typename T>
-void
-f11 (T x, long y)
-{
-#pragma omp parallel
- {
-#pragma omp for nowait
- for (T i = x; i <= y; i += 3L)
- baz (i);
-#pragma omp single
- baz (y + 3);
- }
-}
-
-template <typename T>
-void
-f12 (T x, T y)
-{
- T i;
-#pragma omp parallel for
- for (i = x; i > y; --i)
- baz (i);
-}
-
-#define check(expr) \
- for (int i = 0; i < 2000; i++) \
- if (expr) \
- { \
- if (results[i] != 1) \
- abort (); \
- results[i] = 0; \
- } \
- else if (results[i]) \
- abort ()
-
-int
-main ()
-{
- f1 (10, 1990);
- check (i >= 10 && i <= 1990 && (i - 10) % 6 == 0);
- f2 (0, 1999);
- check (i < 1998 && (i & 1) == 0);
- f3<char> (20, 1837);
- check (i >= 20 && i <= 1837);
- f4<int> (0, 30);
- check (i > 40 && i <= 2000 - 64);
- f5 (0, 100);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f6<-10> (10, 110);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f7<6> (0, 12, 1800);
- check (i >= 2 && i <= 1808 && (i - 2) % 6 == 0);
- f8<121> (J<int> (14, 1803));
- check (i >= 14 && i <= 1924 && (i & 1) == 0);
- f9<int, 7> (33, 1967);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<int, -7> (1939, 17);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<int> (16, 1981);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<int> (1761, 37);
- check (i > 37 && i <= 1761);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-3.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-3.C
deleted file mode 100644
index 235f83875..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-3.C
+++ /dev/null
@@ -1,239 +0,0 @@
-// { dg-do run }
-
-#include <vector>
-#include <cstdlib>
-
-template <typename T>
-class J
-{
-public:
- typedef typename std::vector<T>::const_iterator const_iterator;
- J(const const_iterator &x, const const_iterator &y) : b (x), e (y) {}
- const const_iterator &begin ();
- const const_iterator &end ();
-private:
- const_iterator b, e;
-};
-
-template <typename T>
-const typename std::vector<T>::const_iterator &J<T>::begin () { return b; }
-template <typename T>
-const typename std::vector<T>::const_iterator &J<T>::end () { return e; }
-
-int results[2000];
-
-template <typename T>
-void
-baz (T &i)
-{
- if (*i < 0 || *i >= 2000)
- std::abort ();
- results[*i]++;
-}
-
-void
-f1 (const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
-#pragma omp parallel for
- for (std::vector<int>::const_iterator i = x; i <= y; i += 6)
- baz (i);
-}
-
-void
-f2 (const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
- std::vector<int>::const_iterator i;
-#pragma omp parallel for private(i)
- for (i = x; i < y - 1; i = 1 - 6 + 7 + i)
- baz (i);
-}
-
-template <typename T>
-void
-f3 (const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
-#pragma omp parallel for schedule (dynamic, 6)
- for (std::vector<int>::const_iterator i = x; i <= y; i = i + 9 - 8)
- baz (i);
-}
-
-template <typename T>
-void
-f4 (const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
- std::vector<int>::const_iterator i;
-#pragma omp parallel for lastprivate(i)
- for (i = x + 2000 - 64; i > y + 10; --i)
- baz (i);
-}
-
-void
-f5 (const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
-#pragma omp parallel for schedule (static, 10)
- for (std::vector<int>::const_iterator i = x + 2000 - 64; i > y + 10; i -= 10)
- baz (i);
-}
-
-template <int N>
-void
-f6 (const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
-#pragma omp parallel for schedule (runtime)
- for (std::vector<int>::const_iterator i = x + 2000 - 64;
- i > y + 10; i = i - 12 + 2)
- {
- std::vector<int>::const_iterator j = i + N;
- baz (j);
- }
-}
-
-template <int N>
-void
-f7 (std::vector<int>::const_iterator i,
- const std::vector<int>::const_iterator &x,
- const std::vector<int>::const_iterator &y)
-{
-#pragma omp parallel for schedule (dynamic, 6)
- for (i = x - 10; i <= y + 10; i += N)
- baz (i);
-}
-
-template <int N>
-void
-f8 (J<int> j)
-{
- std::vector<int>::const_iterator i;
-#pragma omp parallel for schedule (dynamic, 40)
- for (i = j.begin (); i <= j.end () + N; i += 2)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f9 (const typename std::vector<T>::const_iterator &x,
- const typename std::vector<T>::const_iterator &y)
-{
-#pragma omp parallel for schedule (static, 25)
- for (typename std::vector<T>::const_iterator i = x; i <= y; i = i + N)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f10 (const typename std::vector<T>::const_iterator &x,
- const typename std::vector<T>::const_iterator &y)
-{
- typename std::vector<T>::const_iterator i;
-#pragma omp parallel for
- for (i = x; i > y; i = i + N)
- baz (i);
-}
-
-template <typename T>
-void
-f11 (const T &x, const T &y)
-{
-#pragma omp parallel
- {
-#pragma omp for nowait schedule (static, 2)
- for (T i = x; i <= y; i += 3)
- baz (i);
-#pragma omp single
- {
- T j = y + 3;
- baz (j);
- }
- }
-}
-
-template <typename T>
-void
-f12 (const T &x, const T &y)
-{
- T i;
-#pragma omp parallel for schedule (dynamic, 130)
- for (i = x; i > y; --i)
- baz (i);
-}
-
-template <int N>
-struct K
-{
- template <typename T>
- static void
- f13 (const T &x, const T &y)
- {
-#pragma omp parallel for schedule (runtime)
- for (T i = x; i <= y + N; i += N)
- baz (i);
- }
-};
-
-#define check(expr) \
- for (int i = 0; i < 2000; i++) \
- if (expr) \
- { \
- if (results[i] != 1) \
- std::abort (); \
- results[i] = 0; \
- } \
- else if (results[i]) \
- std::abort ()
-
-int
-main ()
-{
- std::vector<int> a(2000);
- std::vector<long> b(2000);
- for (int i = 0; i < 2000; i++)
- {
- a[i] = i;
- b[i] = i;
- }
- f1 (a.begin () + 10, a.begin () + 1990);
- check (i >= 10 && i <= 1990 && (i - 10) % 6 == 0);
- f2 (a.begin () + 0, a.begin () + 1999);
- check (i < 1998 && (i & 1) == 0);
- f3<char> (a.begin () + 20, a.begin () + 1837);
- check (i >= 20 && i <= 1837);
- f4<int> (a.begin () + 0, a.begin () + 30);
- check (i > 40 && i <= 2000 - 64);
- f5 (a.begin () + 0, a.begin () + 100);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f6<-10> (a.begin () + 10, a.begin () + 110);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f7<6> (std::vector<int>::const_iterator (), a.begin () + 12,
- a.begin () + 1800);
- check (i >= 2 && i <= 1808 && (i - 2) % 6 == 0);
- f8<121> (J<int> (a.begin () + 14, a.begin () + 1803));
- check (i >= 14 && i <= 1924 && (i & 1) == 0);
- f9<int, 7> (a.begin () + 33, a.begin () + 1967);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<int, -7> (a.begin () + 1939, a.begin () + 17);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<std::vector<int>::const_iterator > (a.begin () + 16, a.begin () + 1981);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<std::vector<int>::const_iterator > (a.begin () + 1761, a.begin () + 37);
- check (i > 37 && i <= 1761);
- K<5>::f13<std::vector<int>::const_iterator > (a.begin () + 1,
- a.begin () + 1935);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
- f9<long, 7> (b.begin () + 33, b.begin () + 1967);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<long, -7> (b.begin () + 1939, b.begin () + 17);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<std::vector<long>::const_iterator > (b.begin () + 16, b.begin () + 1981);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<std::vector<long>::const_iterator > (b.begin () + 1761, b.begin () + 37);
- check (i > 37 && i <= 1761);
- K<5>::f13<std::vector<long>::const_iterator > (b.begin () + 1,
- b.begin () + 1935);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-4.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-4.C
deleted file mode 100644
index c528ef9d1..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-4.C
+++ /dev/null
@@ -1,225 +0,0 @@
-// { dg-do run }
-
-#include <string>
-#include <cstdlib>
-
-template <typename T>
-class J
-{
-public:
- typedef typename std::basic_string<T>::iterator iterator;
- J(const iterator &x, const iterator &y) : b (x), e (y) {}
- const iterator &begin ();
- const iterator &end ();
-private:
- iterator b, e;
-};
-
-template <typename T>
-const typename std::basic_string<T>::iterator &J<T>::begin () { return b; }
-template <typename T>
-const typename std::basic_string<T>::iterator &J<T>::end () { return e; }
-
-template <typename T>
-void
-baz (T &i)
-{
- if (*i < L'a' || *i >= L'a' + 2000)
- std::abort ();
- (*i)++;
-}
-
-void
-f1 (const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
-#pragma omp parallel for
- for (std::basic_string<wchar_t>::iterator i = x; i <= y; i += 6)
- baz (i);
-}
-
-void
-f2 (const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
- std::basic_string<wchar_t>::iterator i;
-#pragma omp parallel for private(i)
- for (i = x; i < y - 1; i = 1 - 6 + 7 + i)
- baz (i);
-}
-
-template <typename T>
-void
-f3 (const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
-#pragma omp parallel for schedule (dynamic, 6)
- for (std::basic_string<wchar_t>::iterator i = x; i <= y; i = i + 9 - 8)
- baz (i);
-}
-
-template <typename T>
-void
-f4 (const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
- std::basic_string<wchar_t>::iterator i;
-#pragma omp parallel for lastprivate(i)
- for (i = x + 2000 - 64; i > y + 10; --i)
- baz (i);
-}
-
-void
-f5 (const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
-#pragma omp parallel for schedule (static, 10)
- for (std::basic_string<wchar_t>::iterator i = x + 2000 - 64;
- i > y + 10; i -= 10)
- baz (i);
-}
-
-template <int N>
-void
-f6 (const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
-#pragma omp parallel for schedule (runtime)
- for (std::basic_string<wchar_t>::iterator i = x + 2000 - 64;
- i > y + 10; i = i - 12 + 2)
- {
- std::basic_string<wchar_t>::iterator j = i + N;
- baz (j);
- }
-}
-
-template <int N>
-void
-f7 (std::basic_string<wchar_t>::iterator i,
- const std::basic_string<wchar_t>::iterator &x,
- const std::basic_string<wchar_t>::iterator &y)
-{
-#pragma omp parallel for schedule (dynamic, 6)
- for (i = x - 10; i <= y + 10; i += N)
- baz (i);
-}
-
-template <wchar_t N>
-void
-f8 (J<wchar_t> j)
-{
- std::basic_string<wchar_t>::iterator i;
-#pragma omp parallel for schedule (dynamic, 40)
- for (i = j.begin (); i <= j.end () + N; i += 2)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f9 (const typename std::basic_string<T>::iterator &x,
- const typename std::basic_string<T>::iterator &y)
-{
-#pragma omp parallel for schedule (static, 25)
- for (typename std::basic_string<T>::iterator i = x; i <= y; i = i + N)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f10 (const typename std::basic_string<T>::iterator &x,
- const typename std::basic_string<T>::iterator &y)
-{
- typename std::basic_string<T>::iterator i;
-#pragma omp parallel for
- for (i = x; i > y; i = i + N)
- baz (i);
-}
-
-template <typename T>
-void
-f11 (const T &x, const T &y)
-{
-#pragma omp parallel
- {
-#pragma omp for nowait schedule (static, 2)
- for (T i = x; i <= y; i += 3)
- baz (i);
-#pragma omp single
- {
- T j = y + 3;
- baz (j);
- }
- }
-}
-
-template <typename T>
-void
-f12 (const T &x, const T &y)
-{
- T i;
-#pragma omp parallel for schedule (dynamic, 130)
- for (i = x; i > y; --i)
- baz (i);
-}
-
-template <int N>
-struct K
-{
- template <typename T>
- static void
- f13 (const T &x, const T &y)
- {
-#pragma omp parallel for schedule (runtime)
- for (T i = x; i <= y + N; i += N)
- baz (i);
- }
-};
-
-#define check(expr) \
- for (int i = 0; i < 2000; i++) \
- if (expr) \
- { \
- if (a[i] != L'a' + i + 1) \
- std::abort (); \
- a[i] = L'a' + i; \
- } \
- else if (a[i] != L'a' + i) \
- std::abort ()
-
-int
-main ()
-{
- std::basic_string<wchar_t> a = L"";
- for (int i = 0; i < 2000; i++)
- a += L'a' + i;
- f1 (a.begin () + 10, a.begin () + 1990);
- check (i >= 10 && i <= 1990 && (i - 10) % 6 == 0);
- f2 (a.begin () + 0, a.begin () + 1999);
- check (i < 1998 && (i & 1) == 0);
- f3<char> (a.begin () + 20, a.begin () + 1837);
- check (i >= 20 && i <= 1837);
- f4<int> (a.begin () + 0, a.begin () + 30);
- check (i > 40 && i <= 2000 - 64);
- f5 (a.begin () + 0, a.begin () + 100);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f6<-10> (a.begin () + 10, a.begin () + 110);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f7<6> (std::basic_string<wchar_t>::iterator (), a.begin () + 12,
- a.begin () + 1800);
- check (i >= 2 && i <= 1808 && (i - 2) % 6 == 0);
- f8<121> (J<wchar_t> (a.begin () + 14, a.begin () + 1803));
- check (i >= 14 && i <= 1924 && (i & 1) == 0);
- f9<wchar_t, 7> (a.begin () + 33, a.begin () + 1967);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<wchar_t, -7> (a.begin () + 1939, a.begin () + 17);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<std::basic_string<wchar_t>::iterator > (a.begin () + 16,
- a.begin () + 1981);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<std::basic_string<wchar_t>::iterator > (a.begin () + 1761,
- a.begin () + 37);
- check (i > 37 && i <= 1761);
- K<5>::f13<std::basic_string<wchar_t>::iterator > (a.begin () + 1,
- a.begin () + 1935);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-5.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-5.C
deleted file mode 100644
index 9b75bf379..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-5.C
+++ /dev/null
@@ -1,303 +0,0 @@
-// { dg-do run }
-
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-extern "C" void abort ();
-
-template <typename T>
-class I
-{
-public:
- typedef ptrdiff_t difference_type;
- I ();
- ~I ();
- I (T *);
- I (const I &);
- T &operator * ();
- T *operator -> ();
- T &operator [] (const difference_type &) const;
- I &operator = (const I &);
- I &operator ++ ();
- I operator ++ (int);
- I &operator -- ();
- I operator -- (int);
- I &operator += (const difference_type &);
- I &operator -= (const difference_type &);
- I operator + (const difference_type &) const;
- I operator - (const difference_type &) const;
- template <typename S> friend bool operator == (I<S> &, I<S> &);
- template <typename S> friend bool operator == (const I<S> &, const I<S> &);
- template <typename S> friend bool operator < (I<S> &, I<S> &);
- template <typename S> friend bool operator < (const I<S> &, const I<S> &);
- template <typename S> friend bool operator <= (I<S> &, I<S> &);
- template <typename S> friend bool operator <= (const I<S> &, const I<S> &);
- template <typename S> friend bool operator > (I<S> &, I<S> &);
- template <typename S> friend bool operator > (const I<S> &, const I<S> &);
- template <typename S> friend bool operator >= (I<S> &, I<S> &);
- template <typename S> friend bool operator >= (const I<S> &, const I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (I<S> &, I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (const I<S> &, const I<S> &);
- template <typename S> friend I<S> operator + (typename I<S>::difference_type , const I<S> &);
-private:
- T *p;
-};
-template <typename T> I<T>::I () : p (0) {}
-template <typename T> I<T>::~I () { p = (T *) 0; }
-template <typename T> I<T>::I (T *x) : p (x) {}
-template <typename T> I<T>::I (const I &x) : p (x.p) {}
-template <typename T> T &I<T>::operator * () { return *p; }
-template <typename T> T *I<T>::operator -> () { return p; }
-template <typename T> T &I<T>::operator [] (const difference_type &x) const { return p[x]; }
-template <typename T> I<T> &I<T>::operator = (const I &x) { p = x.p; return *this; }
-template <typename T> I<T> &I<T>::operator ++ () { ++p; return *this; }
-template <typename T> I<T> I<T>::operator ++ (int) { return I (p++); }
-template <typename T> I<T> &I<T>::operator -- () { --p; return *this; }
-template <typename T> I<T> I<T>::operator -- (int) { return I (p--); }
-template <typename T> I<T> &I<T>::operator += (const difference_type &x) { p += x; return *this; }
-template <typename T> I<T> &I<T>::operator -= (const difference_type &x) { p -= x; return *this; }
-template <typename T> I<T> I<T>::operator + (const difference_type &x) const { return I (p + x); }
-template <typename T> I<T> I<T>::operator - (const difference_type &x) const { return I (p - x); }
-template <typename T> bool operator == (I<T> &x, I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator == (const I<T> &x, const I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator != (I<T> &x, I<T> &y) { return !(x == y); }
-template <typename T> bool operator != (const I<T> &x, const I<T> &y) { return !(x == y); }
-template <typename T> bool operator < (I<T> &x, I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator < (const I<T> &x, const I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator <= (I<T> &x, I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator <= (const I<T> &x, const I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator > (I<T> &x, I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator > (const I<T> &x, const I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator >= (I<T> &x, I<T> &y) { return x.p >= y.p; }
-template <typename T> bool operator >= (const I<T> &x, const I<T> &y) { return x.p >= y.p; }
-template <typename T> typename I<T>::difference_type operator - (I<T> &x, I<T> &y) { return x.p - y.p; }
-template <typename T> typename I<T>::difference_type operator - (const I<T> &x, const I<T> &y) { return x.p - y.p; }
-template <typename T> I<T> operator + (typename I<T>::difference_type x, const I<T> &y) { return I<T> (x + y.p); }
-
-template <typename T>
-class J
-{
-public:
- J(const I<T> &x, const I<T> &y) : b (x), e (y) {}
- const I<T> &begin ();
- const I<T> &end ();
-private:
- I<T> b, e;
-};
-
-template <typename T> const I<T> &J<T>::begin () { return b; }
-template <typename T> const I<T> &J<T>::end () { return e; }
-
-int results[2000];
-
-template <typename T>
-void
-baz (I<T> &i)
-{
- if (*i < 0 || *i >= 2000)
- abort ();
- results[*i]++;
-}
-
-I<int>
-f1 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel shared (i)
- {
- #pragma omp for lastprivate (i) schedule(runtime)
- for (i = x; i < y - 1; ++i)
- baz (i);
- #pragma omp single
- i += 3;
- }
- return I<int> (i);
-}
-
-I<int>
-f2 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for lastprivate (i)
- for (i = x; i < y - 1; i = 1 - 6 + 7 + i)
- baz (i);
- return I<int> (i);
-}
-
-template <typename T>
-I<int>
-f3 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel
- #pragma omp for lastprivate (i)
- for (i = x + 1000 - 64; i <= y - 10; i++)
- baz (i);
- return i;
-}
-
-template <typename T>
-I<int>
-f4 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for lastprivate (i)
- for (i = x + 2000 - 64; i > y + 10; --i)
- baz (i);
- return I<int> (i);
-}
-
-template <typename T>
-I<int>
-f5 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for lastprivate (i)
- for (i = x; i > y + T (6); i--)
- baz (i);
- return i;
-}
-
-template <typename T>
-I<int>
-f6 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for lastprivate (i)
- for (i = x - T (7); i > y; i -= T (2))
- baz (i);
- return I<int> (i);
-}
-
-template <int N>
-I<int>
-f7 (I<int> i, const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for lastprivate (i)
- for (i = x - 10; i <= y + 10; i += N)
- baz (i);
- return I<int> (i);
-}
-
-template <int N>
-I<int>
-f8 (J<int> j)
-{
- I<int> i;
-#pragma omp parallel shared (i)
- #pragma omp for lastprivate (i)
- for (i = j.begin (); i <= j.end () + N; i += 2)
- baz (i);
- return i;
-}
-
-I<int> i9;
-
-template <long N>
-I<int> &
-f9 (J<int> j)
-{
-#pragma omp parallel for lastprivate (i9)
- for (i9 = j.begin () + N; i9 <= j.end () - N; i9 = i9 - N)
- baz (i9);
- return i9;
-}
-
-template <typename T, int N>
-I<T>
-f10 (const I<T> &x, const I<T> &y)
-{
- I<T> i;
-#pragma omp parallel for lastprivate (i)
- for (i = x; i > y; i = i + N)
- baz (i);
- return i;
-}
-
-template <typename T, typename U>
-T
-f11 (T i, const T &x, const T &y)
-{
-#pragma omp parallel
- #pragma omp for lastprivate (i)
- for (i = x + U (2); i <= y + U (1); i = U (2) + U (3) + i)
- baz (i);
- return T (i);
-}
-
-template <typename T>
-T
-f12 (const T &x, const T &y)
-{
- T i;
-#pragma omp parallel for lastprivate (i)
- for (i = x; i > y; --i)
- baz (i);
- return i;
-}
-
-#define check(expr) \
- for (int i = 0; i < 2000; i++) \
- if (expr) \
- { \
- if (results[i] != 1) \
- abort (); \
- results[i] = 0; \
- } \
- else if (results[i]) \
- abort ()
-
-int
-main ()
-{
- int a[2000];
- long b[2000];
- for (int i = 0; i < 2000; i++)
- {
- a[i] = i;
- b[i] = i;
- }
- if (*f1 (&a[10], &a[1873]) != 1875)
- abort ();
- check (i >= 10 && i < 1872);
- if (*f2 (&a[0], &a[1998]) != 1998)
- abort ();
- check (i < 1997 && (i & 1) == 0);
- if (*f3<int> (&a[10], &a[1971]) != 1962)
- abort ();
- check (i >= 946 && i <= 1961);
- if (*f4<int> (&a[0], &a[30]) != 40)
- abort ();
- check (i > 40 && i <= 2000 - 64);
- if (*f5<short> (&a[1931], &a[17]) != 23)
- abort ();
- check (i > 23 && i <= 1931);
- if (*f6<long> (&a[1931], &a[17]) != 16)
- abort ();
- check (i > 17 && i <= 1924 && (i & 1) == 0);
- if (*f7<6> (I<int> (), &a[12], &a[1800]) != 1814)
- abort ();
- check (i >= 2 && i <= 1808 && (i - 2) % 6 == 0);
- if (*f8<121> (J<int> (&a[14], &a[1803])) != 1926)
- abort ();
- check (i >= 14 && i <= 1924 && (i & 1) == 0);
- if (*f9<-3L> (J<int> (&a[27], &a[1761])) != 1767)
- abort ();
- check (i >= 24 && i <= 1764 && (i % 3) == 0);
- if (*f10<int, -7> (&a[1939], &a[17]) != 14)
- abort ();
- check (i >= 21 && i <= 1939 && i % 7 == 0);
- if (*f11<I<int>, short> (I<int> (), &a[71], &a[1941]) != 1943)
- abort ();
- check (i >= 73 && i <= 1938 && (i - 73) % 5 == 0);
- if (*f12<I<int> > (&a[1761], &a[37]) != 37)
- abort ();
- check (i > 37 && i <= 1761);
- if (*f10<long, -7> (&b[1939], &b[17]) != 14)
- abort ();
- check (i >= 21 && i <= 1939 && i % 7 == 0);
- if (*f11<I<long>, short> (I<long> (), &b[71], &b[1941]) != 1943)
- abort ();
- check (i >= 73 && i <= 1938 && (i - 73) % 5 == 0);
- if (*f12<I<long> > (&b[1761], &b[37]) != 37)
- abort ();
- check (i > 37 && i <= 1761);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-6.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-6.C
deleted file mode 100644
index 0da21ce2f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-6.C
+++ /dev/null
@@ -1,109 +0,0 @@
-// PR c++/38348
-// { dg-do run }
-
-extern "C" void abort ();
-int cnt;
-
-template <typename T>
-void
-f0 (T, int)
-{
- abort ();
-}
-
-template <>
-void
-f0<int> (int, int type)
-{
- if (type != 0)
- abort ();
-#pragma omp atomic
- cnt++;
-}
-
-template <>
-void
-f0<const char *> (const char *, int type)
-{
- if (type != 1)
- abort ();
-#pragma omp atomic
- cnt++;
-}
-
-template <typename T>
-void
-f1 ()
-{
-#pragma omp parallel for
- for (int i = 0; i < 10; i++)
- f0 (i, 0);
-}
-
-template <typename T>
-void
-f2 ()
-{
-#pragma omp parallel for
- for (T i = T (0); i < T (10); i += T (1))
- f0 (i, 0);
-}
-
-void
-f3 ()
-{
-#pragma omp parallel for
- for (int i = 0; i < 10; i++)
- f0 (i, 0);
-}
-
-const char *p = "abcdefghij";
-
-template <typename T>
-void
-f4 ()
-{
-#pragma omp parallel for
- for (const char *i = p; i < p + 10; i += 1)
- f0 (i, 1);
-}
-
-template <typename T>
-void
-f5 ()
-{
-#pragma omp parallel for
- for (T i = T (p); i < T (p + 10); i += 1)
- f0 (i, 1);
-}
-
-void
-f6 ()
-{
-#pragma omp parallel for
- for (const char *i = p; i < p + 10; i++)
- f0 (i, 1);
-}
-
-int
-main ()
-{
- f1<int> ();
- if (cnt != 10)
- abort ();
- f2<int> ();
- if (cnt != 20)
- abort ();
- f3 ();
- if (cnt != 30)
- abort ();
- f4<int> ();
- if (cnt != 40)
- abort ();
- f5<const char *> ();
- if (cnt != 50)
- abort ();
- f6 ();
- if (cnt != 60)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-7.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-7.C
deleted file mode 100644
index 9d626c028..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-7.C
+++ /dev/null
@@ -1,110 +0,0 @@
-// PR c++/
-// { dg-do run }
-// { dg-options "-std=c++0x -fopenmp" }
-
-extern "C" void abort ();
-int cnt;
-
-template <typename T>
-void
-f0 (T, int)
-{
- abort ();
-}
-
-template <>
-void
-f0<int> (int, int type)
-{
- if (type != 0)
- abort ();
-#pragma omp atomic
- cnt++;
-}
-
-template <>
-void
-f0<const char *> (const char *, int type)
-{
- if (type != 1)
- abort ();
-#pragma omp atomic
- cnt++;
-}
-
-template <typename T>
-void
-f1 ()
-{
-#pragma omp parallel for
- for (auto i = 0; i < 10; i++)
- f0 (i, 0);
-}
-
-template <typename T>
-void
-f2 ()
-{
-#pragma omp parallel for
- for (auto i = T (0); i < T (10); i += T (1))
- f0 (i, 0);
-}
-
-void
-f3 ()
-{
-#pragma omp parallel for
- for (auto i = 0; i < 10; i++)
- f0 (i, 0);
-}
-
-const char *p = "abcdefghij";
-
-template <typename T>
-void
-f4 ()
-{
-#pragma omp parallel for
- for (auto i = p; i < p + 10; i++)
- f0 (i, 1);
-}
-
-template <typename T>
-void
-f5 ()
-{
-#pragma omp parallel for
- for (auto i = T (p); i < T (p + 10); i++)
- f0 (i, 1);
-}
-
-void
-f6 ()
-{
-#pragma omp parallel for
- for (auto i = p; i < p + 10; i++)
- f0 (i, 1);
-}
-
-int
-main ()
-{
- f1<int> ();
- if (cnt != 10)
- abort ();
- f2<int> ();
- if (cnt != 20)
- abort ();
- f3 ();
- if (cnt != 30)
- abort ();
- f4<int> ();
- if (cnt != 40)
- abort ();
- f5<const char *> ();
- if (cnt != 50)
- abort ();
- f6 ();
- if (cnt != 60)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-8.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-8.C
deleted file mode 100644
index 918de7cc8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/for-8.C
+++ /dev/null
@@ -1,291 +0,0 @@
-// { dg-do run }
-
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-extern "C" void abort ();
-
-template <typename T>
-class I
-{
-public:
- typedef ptrdiff_t difference_type;
- I ();
- ~I ();
- I (T *);
- I (const I &);
- T &operator * ();
- T *operator -> ();
- T &operator [] (const difference_type &) const;
- I &operator = (const I &);
- I &operator ++ ();
- I operator ++ (int);
- I &operator -- ();
- I operator -- (int);
- I &operator += (const difference_type &);
- I &operator -= (const difference_type &);
- I operator + (const difference_type &) const;
- I operator - (const difference_type &) const;
- template <typename S> friend bool operator == (I<S> &, I<S> &);
- template <typename S> friend bool operator == (const I<S> &, const I<S> &);
- template <typename S> friend bool operator < (I<S> &, I<S> &);
- template <typename S> friend bool operator < (const I<S> &, const I<S> &);
- template <typename S> friend bool operator <= (I<S> &, I<S> &);
- template <typename S> friend bool operator <= (const I<S> &, const I<S> &);
- template <typename S> friend bool operator > (I<S> &, I<S> &);
- template <typename S> friend bool operator > (const I<S> &, const I<S> &);
- template <typename S> friend bool operator >= (I<S> &, I<S> &);
- template <typename S> friend bool operator >= (const I<S> &, const I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (I<S> &, I<S> &);
- template <typename S> friend typename I<S>::difference_type operator - (const I<S> &, const I<S> &);
- template <typename S> friend I<S> operator + (typename I<S>::difference_type , const I<S> &);
-private:
- T *p;
-};
-template <typename T> I<T>::I () : p (0) {}
-template <typename T> I<T>::~I () {}
-template <typename T> I<T>::I (T *x) : p (x) {}
-template <typename T> I<T>::I (const I &x) : p (x.p) {}
-template <typename T> T &I<T>::operator * () { return *p; }
-template <typename T> T *I<T>::operator -> () { return p; }
-template <typename T> T &I<T>::operator [] (const difference_type &x) const { return p[x]; }
-template <typename T> I<T> &I<T>::operator = (const I &x) { p = x.p; return *this; }
-template <typename T> I<T> &I<T>::operator ++ () { ++p; return *this; }
-template <typename T> I<T> I<T>::operator ++ (int) { return I (p++); }
-template <typename T> I<T> &I<T>::operator -- () { --p; return *this; }
-template <typename T> I<T> I<T>::operator -- (int) { return I (p--); }
-template <typename T> I<T> &I<T>::operator += (const difference_type &x) { p += x; return *this; }
-template <typename T> I<T> &I<T>::operator -= (const difference_type &x) { p -= x; return *this; }
-template <typename T> I<T> I<T>::operator + (const difference_type &x) const { return I (p + x); }
-template <typename T> I<T> I<T>::operator - (const difference_type &x) const { return I (p - x); }
-template <typename T> bool operator == (I<T> &x, I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator == (const I<T> &x, const I<T> &y) { return x.p == y.p; }
-template <typename T> bool operator != (I<T> &x, I<T> &y) { return !(x == y); }
-template <typename T> bool operator != (const I<T> &x, const I<T> &y) { return !(x == y); }
-template <typename T> bool operator < (I<T> &x, I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator < (const I<T> &x, const I<T> &y) { return x.p < y.p; }
-template <typename T> bool operator <= (I<T> &x, I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator <= (const I<T> &x, const I<T> &y) { return x.p <= y.p; }
-template <typename T> bool operator > (I<T> &x, I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator > (const I<T> &x, const I<T> &y) { return x.p > y.p; }
-template <typename T> bool operator >= (I<T> &x, I<T> &y) { return x.p >= y.p; }
-template <typename T> bool operator >= (const I<T> &x, const I<T> &y) { return x.p >= y.p; }
-template <typename T> typename I<T>::difference_type operator - (I<T> &x, I<T> &y) { return x.p - y.p; }
-template <typename T> typename I<T>::difference_type operator - (const I<T> &x, const I<T> &y) { return x.p - y.p; }
-template <typename T> I<T> operator + (typename I<T>::difference_type x, const I<T> &y) { return I<T> (x + y.p); }
-
-template <typename T>
-class J
-{
-public:
- J(const I<T> &x, const I<T> &y) : b (x), e (y) {}
- const I<T> &begin ();
- const I<T> &end ();
-private:
- I<T> b, e;
-};
-
-template <typename T> const I<T> &J<T>::begin () { return b; }
-template <typename T> const I<T> &J<T>::end () { return e; }
-
-int results[2000];
-
-template <typename T>
-void
-baz (I<T> &i)
-{
- if (*i < 0 || *i >= 2000)
- abort ();
- results[*i]++;
-}
-
-void
-f1 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x; y >= i; i += 6)
- baz (i);
-}
-
-void
-f2 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for private(i)
- for (i = x; y - 1 > i; i = 1 - 6 + 7 + i)
- baz (i);
-}
-
-template <typename T>
-void
-f3 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x; y >= i; i = i + 9 - 8)
- baz (i);
-}
-
-template <typename T>
-void
-f4 (const I<int> &x, const I<int> &y)
-{
- I<int> i;
-#pragma omp parallel for lastprivate(i)
- for (i = x + 2000 - 64; y + 10 < i; --i)
- baz (i);
-}
-
-void
-f5 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x + 2000 - 64; y + 10 < i; i -= 10)
- baz (i);
-}
-
-template <int N>
-void
-f6 (const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (I<int> i = x + 2000 - 64; y + 10 < i; i = i - 12 + 2)
- {
- I<int> j = i + N;
- baz (j);
- }
-}
-
-template <int N>
-void
-f7 (I<int> i, const I<int> &x, const I<int> &y)
-{
-#pragma omp parallel for
- for (i = x - 10; y + 10 >= i; i += N)
- baz (i);
-}
-
-template <int N>
-void
-f8 (J<int> j)
-{
- I<int> i;
-#pragma omp parallel for
- for (i = j.begin (); j.end () + N >= i; i += 2)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f9 (const I<T> &x, const I<T> &y)
-{
-#pragma omp parallel for
- for (I<T> i = x; y >= i; i = i + N)
- baz (i);
-}
-
-template <typename T, int N>
-void
-f10 (const I<T> &x, const I<T> &y)
-{
- I<T> i;
-#pragma omp parallel for
- for (i = x; y < i; i = i + N)
- baz (i);
-}
-
-template <typename T>
-void
-f11 (const T &x, const T &y)
-{
-#pragma omp parallel
- {
-#pragma omp for nowait
- for (T i = x; y >= i; i += 3)
- baz (i);
-#pragma omp single
- {
- T j = y + 3;
- baz (j);
- }
- }
-}
-
-template <typename T>
-void
-f12 (const T &x, const T &y)
-{
- T i;
-#pragma omp parallel for
- for (i = x; y < i; --i)
- baz (i);
-}
-
-template <int N>
-struct K
-{
- template <typename T>
- static void
- f13 (const T &x, const T &y)
- {
-#pragma omp parallel for
- for (T i = x; y + N >= i; i += N)
- baz (i);
- }
-};
-
-#define check(expr) \
- for (int i = 0; i < 2000; i++) \
- if (expr) \
- { \
- if (results[i] != 1) \
- abort (); \
- results[i] = 0; \
- } \
- else if (results[i]) \
- abort ()
-
-int
-main ()
-{
- int a[2000];
- long b[2000];
- for (int i = 0; i < 2000; i++)
- {
- a[i] = i;
- b[i] = i;
- }
- f1 (&a[10], &a[1990]);
- check (i >= 10 && i <= 1990 && (i - 10) % 6 == 0);
- f2 (&a[0], &a[1999]);
- check (i < 1998 && (i & 1) == 0);
- f3<char> (&a[20], &a[1837]);
- check (i >= 20 && i <= 1837);
- f4<int> (&a[0], &a[30]);
- check (i > 40 && i <= 2000 - 64);
- f5 (&a[0], &a[100]);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f6<-10> (&a[10], &a[110]);
- check (i >= 116 && i <= 2000 - 64 && (i - 116) % 10 == 0);
- f7<6> (I<int> (), &a[12], &a[1800]);
- check (i >= 2 && i <= 1808 && (i - 2) % 6 == 0);
- f8<121> (J<int> (&a[14], &a[1803]));
- check (i >= 14 && i <= 1924 && (i & 1) == 0);
- f9<int, 7> (&a[33], &a[1967]);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<int, -7> (&a[1939], &a[17]);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<I<int> > (&a[16], &a[1981]);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<I<int> > (&a[1761], &a[37]);
- check (i > 37 && i <= 1761);
- K<5>::f13<I<int> > (&a[1], &a[1935]);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
- f9<long, 7> (&b[33], &b[1967]);
- check (i >= 33 && i <= 1967 && (i - 33) % 7 == 0);
- f10<long, -7> (&b[1939], &b[17]);
- check (i >= 21 && i <= 1939 && (i - 21) % 7 == 0);
- f11<I<long> > (&b[16], &b[1981]);
- check (i >= 16 && i <= 1984 && (i - 16) % 3 == 0);
- f12<I<long> > (&b[1761], &b[37]);
- check (i > 37 && i <= 1761);
- K<5>::f13<I<long> > (&b[1], &b[1935]);
- check (i >= 1 && i <= 1936 && (i - 1) % 5 == 0);
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-1.C
deleted file mode 100644
index 0e83c9583..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-1.C
+++ /dev/null
@@ -1,96 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <omp.h>
-
-#define MAX 1000
-
-void main1()
-{
- int i, N1, N2, step;
- int a[MAX], b[MAX];
-
- N1 = rand () % 13;
- N2 = rand () % (MAX - 51) + 50;
- step = rand () % 7 + 1;
-
- printf ("N1 = %d\nN2 = %d\nstep = %d\n", N1, N2, step);
-
- for (i = N1; i <= N2; i += step)
- a[i] = 42+ i;
-
- /* COUNTING UP (<). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N1; i < N2; i += step)
- b[i] = a[i];
- }
-
- /* COUNTING UP (<). Check that all the cells were filled in properly. */
- for (i = N1; i < N2; i += step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i < %d; i += %d) [OK]\n", N1, N2, step);
-
- /* COUNTING UP (<=). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N1; i <= N2; i += step)
- b[i] = a[i];
- }
-
- /* COUNTING UP (<=). Check that all the cells were filled in properly. */
- for (i = N1; i <= N2; i += step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i <= %d; i += %d) [OK]\n", N1, N2, step);
-
- /* COUNTING DOWN (>). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N2; i > N1; i -= step)
- b[i] = a[i];
- }
-
- /* COUNTING DOWN (>). Check that all the cells were filled in properly. */
- for (i = N2; i > N1; i -= step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i > %d; i -= %d) [OK]\n", N2, N1, step);
-
- /* COUNTING DOWN (>=). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N2; i >= N1; i -= step)
- b[i] = a[i];
- }
-
- /* COUNTING DOWN (>=). Check that all the cells were filled in properly. */
- for (i = N2; i >= N1; i -= step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i >= %d; i -= %d) [OK]\n", N2, N1, step);
-}
-
-int
-main ()
-{
- int i;
-
- srand (0);
- for (i = 0; i < 10; ++i)
- main1();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-10.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-10.C
deleted file mode 100644
index 9c0de25d5..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-10.C
+++ /dev/null
@@ -1,105 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort (void);
-
-#define LLONG_MAX __LONG_LONG_MAX__
-#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
-#define INT_MAX __INT_MAX__
-
-int v;
-
-int
-test1 (void)
-{
- int e = 0, cnt = 0;
- long long i;
- unsigned long long j;
- char buf[6], *p;
-
- #pragma omp for schedule(dynamic,1) collapse(2) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- if ((i != LLONG_MAX - 30001
- && i != LLONG_MAX - 20001
- && i != LLONG_MAX - 10001)
- || j != 20)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(guided,1) collapse(2) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- if ((i != -LLONG_MAX + 30000
- && i != -LLONG_MAX + 20000
- && i != -LLONG_MAX + 10000)
- || j != ULLONG_MAX - 3)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(static,1) collapse(2) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- for (j = 20; j <= LLONG_MAX - 70 + v; j += LLONG_MAX + 50ULL)
- if ((i != LLONG_MAX - 30001
- && i != LLONG_MAX - 20001
- && i != LLONG_MAX - 10001)
- || j != 20)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(static) collapse(2) nowait
- for (i = -LLONG_MAX + 30000 + v; i >= -LLONG_MAX + 10000; i -= 10000)
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- if ((i != -LLONG_MAX + 30000
- && i != -LLONG_MAX + 20000
- && i != -LLONG_MAX + 10000)
- || j != ULLONG_MAX - 3)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(runtime) collapse(2) nowait
- for (i = 10; i < 30; i++)
- for (p = buf; p <= buf + 4; p += 2)
- if (i < 10 || i >= 30 || (p != buf && p != buf + 2 && p != buf + 4))
- e = 1;
- else
- cnt++;
- if (e || cnt != 60)
- abort ();
- else
- cnt = 0;
-
- return 0;
-}
-
-int
-main (void)
-{
- if (2 * sizeof (int) != sizeof (long long))
- return 0;
- asm volatile ("" : "+r" (v));
- omp_set_schedule (omp_sched_dynamic, 1);
- test1 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-11.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-11.C
deleted file mode 100644
index 7775b86b8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-11.C
+++ /dev/null
@@ -1,276 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-test1 ()
-{
- short int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test2 ()
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test3 ()
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test4 ()
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-main ()
-{
- test1 ();
- test2 ();
- test3 ();
- omp_set_schedule (omp_sched_static, 0);
- test4 ();
- omp_set_schedule (omp_sched_static, 3);
- test4 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test4 ();
- omp_set_schedule (omp_sched_guided, 2);
- test4 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-12.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-12.C
deleted file mode 100644
index f8aca92b8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-12.C
+++ /dev/null
@@ -1,387 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort ();
-
-#define LLONG_MAX __LONG_LONG_MAX__
-#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
-#define INT_MAX __INT_MAX__
-
-int arr[6 * 5];
-
-void
-set (int loopidx, int idx)
-{
-#pragma omp atomic
- arr[loopidx * 5 + idx]++;
-}
-
-#define check(var, val, loopidx, idx) \
- if (var == (val)) set (loopidx, idx); else
-#define test(loopidx, count) \
- for (idx = 0; idx < 5; idx++) \
- if (arr[loopidx * 5 + idx] != idx < count) \
- abort (); \
- else \
- arr[loopidx * 5 + idx] = 0
-
-int
-test1 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(dynamic,1) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test2 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(guided,1) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test3 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test4 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static,1) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test5 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(runtime) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-main ()
-{
- if (2 * sizeof (int) != sizeof (long long))
- return 0;
- test1 ();
- test2 ();
- test3 ();
- test4 ();
- omp_set_schedule (omp_sched_static, 0);
- test5 ();
- omp_set_schedule (omp_sched_static, 3);
- test5 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test5 ();
- omp_set_schedule (omp_sched_guided, 2);
- test5 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-2.C
deleted file mode 100644
index ea3dc588a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-2.C
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <omp.h>
-
-/* Orphaned work sharing. */
-
-extern "C" void abort (void);
-
-#define N 10
-
-void parloop (int *a)
-{
- int i;
-
-#pragma omp for
- for (i = 0; i < N; i++)
- a[i] = i + 3;
-}
-
-main()
-{
- int i, a[N];
-
-#pragma omp parallel shared(a)
- {
- parloop (a);
- }
-
- for (i = 0; i < N; i++)
- if (a[i] != i + 3)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-3.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-3.C
deleted file mode 100644
index fa50f099f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-3.C
+++ /dev/null
@@ -1,26 +0,0 @@
-extern "C" void abort (void);
-int a;
-
-void
-foo ()
-{
- int i;
- a = 30;
-#pragma omp barrier
-#pragma omp for lastprivate (a)
- for (i = 0; i < 1024; i++)
- {
- a = i;
- }
- if (a != 1023)
- abort ();
-}
-
-int
-main (void)
-{
-#pragma omp parallel num_threads (64)
- foo ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-4.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-4.C
deleted file mode 100644
index 731f23450..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-4.C
+++ /dev/null
@@ -1,20 +0,0 @@
-extern "C" void abort (void);
-
-main()
-{
- int i, a;
-
- a = 30;
-
-#pragma omp parallel for firstprivate (a) lastprivate (a) \
- num_threads (2) schedule(static)
- for (i = 0; i < 10; i++)
- a = a + i;
-
- /* The thread that owns the last iteration will have computed
- 30 + 5 + 6 + 7 + 8 + 9 = 65. */
- if (a != 65)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-5.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-5.C
deleted file mode 100644
index c427efa85..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-5.C
+++ /dev/null
@@ -1,19 +0,0 @@
-extern "C" void abort ();
-
-int check;
-int f1() { check |= 1; return 1; }
-int f2() { check |= 2; return 11; }
-int f3() { check |= 4; return 2; }
-
-int a[12];
-
-int main()
-{
- #pragma omp for
- for (int i = f1(); i <= f2(); i += f3())
- a[i] = 1;
-
- for (int i = 0; i < 12; ++i)
- if (a[i] != (i & 1))
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-6.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-6.C
deleted file mode 100644
index f4a6925a4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-6.C
+++ /dev/null
@@ -1,25 +0,0 @@
-// { dg-do run }
-
-extern "C" void abort (void);
-
-volatile int count;
-static int test(void)
-{
- return ++count > 0;
-}
-
-int i;
-
-int main()
-{
- #pragma omp for lastprivate (i)
- for (i = 0; i < 10; ++i)
- {
- if (test())
- continue;
- abort ();
- }
- if (i != count)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-7.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-7.C
deleted file mode 100644
index 4eccb7fca..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-7.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// PR c++/24502
-// { dg-do run }
-
-extern "C" void abort ();
-
-template <typename T> T
-foo (T r)
-{
- T i;
-#pragma omp for
- for (i = 0; i < 10; i++)
- r += i;
- return r;
-}
-
-int
-main ()
-{
- if (foo (0) != 10 * 9 / 2 || foo (2L) != 10L * 9 / 2 + 2)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-8.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-8.C
deleted file mode 100644
index bc20c68a1..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-8.C
+++ /dev/null
@@ -1,276 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-test1 ()
-{
- short int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test2 ()
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test3 ()
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test4 ()
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-main ()
-{
- test1 ();
- test2 ();
- test3 ();
- omp_set_schedule (omp_sched_static, 0);
- test4 ();
- omp_set_schedule (omp_sched_static, 3);
- test4 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test4 ();
- omp_set_schedule (omp_sched_guided, 2);
- test4 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-9.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-9.C
deleted file mode 100644
index 35daf2276..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/loop-9.C
+++ /dev/null
@@ -1,387 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort ();
-
-#define LLONG_MAX __LONG_LONG_MAX__
-#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
-#define INT_MAX __INT_MAX__
-
-int arr[6 * 5];
-
-void
-set (int loopidx, int idx)
-{
-#pragma omp atomic
- arr[loopidx * 5 + idx]++;
-}
-
-#define check(var, val, loopidx, idx) \
- if (var == (val)) set (loopidx, idx); else
-#define test(loopidx, count) \
- for (idx = 0; idx < 5; idx++) \
- if (arr[loopidx * 5 + idx] != idx < count) \
- abort (); \
- else \
- arr[loopidx * 5 + idx] = 0
-
-int
-test1 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(dynamic,1) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test2 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(guided,1) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test3 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test4 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static,1) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test5 ()
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(runtime) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-main ()
-{
- if (2 * sizeof (int) != sizeof (long long))
- return 0;
- test1 ();
- test2 ();
- test3 ();
- test4 ();
- omp_set_schedule (omp_sched_static, 0);
- test5 ();
- omp_set_schedule (omp_sched_static, 3);
- test5 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test5 ();
- omp_set_schedule (omp_sched_guided, 2);
- test5 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/master-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/master-1.C
deleted file mode 100644
index 734b4e2cd..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/master-1.C
+++ /dev/null
@@ -1,24 +0,0 @@
-// PR c++/24734
-// { dg-do run }
-
-extern "C" void abort ();
-int i;
-
-template<int> void
-foo ()
-{
- #pragma omp parallel
- {
- #pragma omp master
- i++;
- }
-}
-
-int
-main ()
-{
- foo<0> ();
- if (i != 1)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/nested-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/nested-1.C
deleted file mode 100644
index 8d0e397bd..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/nested-1.C
+++ /dev/null
@@ -1,28 +0,0 @@
-// { dg-do run }
-
-extern "C" void abort(void);
-#define N 1000
-
-int foo()
-{
- int i = 0, j;
-
- #pragma omp parallel for num_threads(2) shared (i)
- for (j = 0; j < N; ++j)
- {
- #pragma omp parallel num_threads(1) shared (i)
- {
- #pragma omp atomic
- i++;
- }
- }
-
- return i;
-}
-
-int main()
-{
- if (foo() != N)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/parallel-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/parallel-1.C
deleted file mode 100644
index 3c9314713..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/parallel-1.C
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <omp.h>
-
-extern "C" void abort (void);
-
-int
-foo (void)
-{
- return 10;
-}
-
-main ()
-{
- int A = 0;
-
- #pragma omp parallel if (foo () > 10) shared (A)
- {
- A = omp_get_num_threads ();
- }
-
- if (A != 1)
- abort ();
-
- #pragma omp parallel if (foo () == 10) num_threads (3) shared (A)
- {
- A = omp_get_num_threads ();
- }
-
- if (A != 3)
- abort ();
-
- #pragma omp parallel if (foo () == 10) num_threads (foo ()) shared (A)
- {
- A = omp_get_num_threads ();
- }
-
- if (A != 10)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455-1.C
deleted file mode 100644
index e7f38f8ab..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455-1.C
+++ /dev/null
@@ -1,6 +0,0 @@
-// { dg-do compile }
-// { dg-require-effective-target tls }
-extern int i;
-#pragma omp threadprivate (i)
-
-int i;
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455.C
deleted file mode 100644
index ad43b47b2..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr24455.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// { dg-do run }
-// { dg-additional-sources pr24455-1.C }
-// { dg-require-effective-target tls_runtime }
-
-extern "C" void abort (void);
-
-extern int i;
-#pragma omp threadprivate(i)
-
-int main()
-{
- i = 0;
-
-#pragma omp parallel default(none) num_threads(10) copyin(i)
- {
- i++;
-#pragma omp barrier
- if (i != 1)
- abort ();
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26691.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26691.C
deleted file mode 100644
index 776b31e24..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26691.C
+++ /dev/null
@@ -1,20 +0,0 @@
-// PR c++/26691
-
-struct A
-{
- int n;
- A (int i = 3) : n (i) {}
-};
-
-int
-main ()
-{
- A a;
- int err = 0;
-#pragma omp parallel private (a) reduction (+:err)
- if (a.n != 3)
- err++;
-
- return err;
- }
-
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26943.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26943.C
deleted file mode 100644
index 07b7b5dbf..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr26943.C
+++ /dev/null
@@ -1,62 +0,0 @@
-// PR c++/26943
-// { dg-do run }
-
-#include <assert.h>
-#include <unistd.h>
-
-struct S
-{
- public:
- int x;
- S () : x(-1) { }
- S (const S &);
- S& operator= (const S &);
- void test ();
-};
-
-static volatile int hold;
-
-S::S (const S &s)
-{
- #pragma omp master
- sleep (1);
-
- assert (s.x == -1);
- x = 0;
-}
-
-S&
-S::operator= (const S& s)
-{
- assert (s.x == 1);
- x = 2;
- return *this;
-}
-
-void
-S::test ()
-{
- assert (x == 0);
- x = 1;
-}
-
-static S x;
-
-void
-foo ()
-{
- #pragma omp sections firstprivate(x) lastprivate(x)
- {
- x.test();
- }
-}
-
-int
-main ()
-{
- #pragma omp parallel num_threads(2)
- foo();
-
- assert (x.x == 2);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C
deleted file mode 100644
index 6db2465ec..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C
+++ /dev/null
@@ -1,87 +0,0 @@
-// PR middle-end/27337
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort (void);
-
-struct S
-{
- S ();
- ~S ();
- S (const S &);
- int i;
-};
-
-int n[3];
-
-S::S () : i(18)
-{
- if (omp_get_thread_num () != 0)
-#pragma omp atomic
- n[0]++;
-}
-
-S::~S ()
-{
- if (omp_get_thread_num () != 0)
-#pragma omp atomic
- n[1]++;
-}
-
-S::S (const S &x)
-{
- if (x.i != 18)
- abort ();
- i = 118;
- if (omp_get_thread_num () != 0)
-#pragma omp atomic
- n[2]++;
-}
-
-S
-foo ()
-{
- int i;
- S ret;
-
-#pragma omp parallel for firstprivate (ret) lastprivate (ret) \
- schedule (static, 1) num_threads (4)
- for (i = 0; i < 4; i++)
- ret.i += omp_get_thread_num ();
-
- return ret;
-}
-
-S
-bar ()
-{
- int i;
- S ret;
-
-#pragma omp parallel for num_threads (4)
- for (i = 0; i < 4; i++)
-#pragma omp atomic
- ret.i += omp_get_thread_num () + 1;
-
- return ret;
-}
-
-S x;
-
-int
-main (void)
-{
- omp_set_dynamic (false);
- x = foo ();
- if (n[0] != 0 || n[1] != 3 || n[2] != 3)
- abort ();
- if (x.i != 118 + 3)
- abort ();
- x = bar ();
- if (n[0] != 0 || n[1] != 3 || n[2] != 3)
- abort ();
- if (x.i != 18 + 0 + 1 + 2 + 3 + 4)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C
deleted file mode 100644
index d48efd952..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C
+++ /dev/null
@@ -1,73 +0,0 @@
-// PR c++/30703
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort ();
-
-int ctor, cctor, dtor;
-
-struct A
-{
- A();
- A(const A &);
- ~A();
- int i;
-};
-
-A::A()
-{
-#pragma omp atomic
- ctor++;
-}
-
-A::A(const A &r)
-{
- i = r.i;
-#pragma omp atomic
- cctor++;
-}
-
-A::~A()
-{
-#pragma omp atomic
- dtor++;
-}
-
-void
-foo (A a, A b)
-{
- int i, j = 0;
-#pragma omp parallel for firstprivate (a) lastprivate (a) private (b) schedule (static, 1) num_threads (5)
- for (i = 0; i < 5; i++)
- {
- b.i = 5;
- if (a.i != 6)
- #pragma omp atomic
- j += 1;
- a.i = b.i + i + 6;
- }
-
- if (j || a.i != 15)
- abort ();
-}
-
-void
-bar ()
-{
- A a, b;
- a.i = 6;
- b.i = 7;
- foo (a, b);
-}
-
-int
-main ()
-{
- omp_set_dynamic (false);
- if (ctor || cctor || dtor)
- abort ();
- bar ();
- if (ctor + cctor != dtor)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C
deleted file mode 100644
index e5ad3bcb4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr34513.C
+++ /dev/null
@@ -1,32 +0,0 @@
-// PR c++/34513
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort ();
-
-static int errors = 0;
-static int thrs = 4;
-
-int
-main ()
-{
- omp_set_dynamic (0);
-
- #pragma omp parallel num_threads (thrs)
- {
- static int shrd = 0;
-
- #pragma omp atomic
- shrd += 1;
-
- #pragma omp barrier
-
- if (shrd != thrs)
- #pragma omp atomic
- errors += 1;
- }
-
- if (errors)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr35185.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr35185.C
deleted file mode 100644
index f22c77207..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr35185.C
+++ /dev/null
@@ -1,33 +0,0 @@
-// PR middle-end/35185
-// { dg-do run }
-
-extern "C" void abort ();
-
-struct S
-{
- S () : s (6) {}
- ~S () {}
- int s;
-};
-
-__attribute__((noinline))
-bool
-bar (S s)
-{
- return s.s != 6;
-}
-
-int
-main ()
-{
- S s;
- int err = 0;
-#pragma omp parallel shared (s)
- {
- if (bar (s))
- #pragma omp atomic
- err++;
- }
- if (err)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr38650.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr38650.C
deleted file mode 100644
index ebe221adc..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr38650.C
+++ /dev/null
@@ -1,49 +0,0 @@
-// PR c++/38650
-// { dg-do run }
-
-#include <cstdlib>
-
-int e;
-
-int
-main ()
-{
- volatile int i, j = 10;
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < j; i += 1)
- e++;
- if (e != 10)
- std::abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < j; ++i)
- e++;
- if (e != 10)
- std::abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < j; i++)
- e++;
- if (e != 10)
- std::abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < 10; i += 1)
- e++;
- if (e != 10)
- std::abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < 10; ++i)
- e++;
- if (e != 10)
- std::abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < 10; i++)
- e++;
- if (e != 10)
- std::abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr39573.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr39573.C
deleted file mode 100644
index 0167222bc..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr39573.C
+++ /dev/null
@@ -1,39 +0,0 @@
-// PR middle-end/39573
-// { dg-do run }
-
-int z;
-
-void __attribute__((noinline))
-bar (int *x)
-{
- #pragma omp atomic
- z += x[2];
- x[2] += x[3];
-}
-
-int
-main ()
-{
- int i;
-#pragma omp parallel for
- for (i = 0; i < 65536; i++)
- {
- int x[] =
- {
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1,
- };
- bar (x);
- }
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-1.C
deleted file mode 100644
index 665163af0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-1.C
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = ~0;
- double d = 1.0;
-#pragma omp parallel num_threads(4) reduction(+:i) reduction(*:d) reduction(&:k)
- {
- if (i != 0 || d != 1.0 || k != ~0)
-#pragma omp atomic
- j |= 1;
-
- if (omp_get_num_threads () != 4)
-#pragma omp atomic
- j |= 2;
-
- i = omp_get_thread_num ();
- d = i + 1;
- k = ~(1 << (2 * i));
- }
-
- if (j & 1)
- abort ();
- if ((j & 2) == 0)
- {
- if (i != (0 + 1 + 2 + 3))
- abort ();
- if (d != (1.0 * 2.0 * 3.0 * 4.0))
- abort ();
- if (k != (~0 ^ 0x55))
- abort ();
- }
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-2.C
deleted file mode 100644
index 52b3faff7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-2.C
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = ~0, l;
- double d = 1.0;
-#pragma omp parallel num_threads(4)
- {
-#pragma omp single
- {
- i = 16;
- k ^= (1 << 16);
- d += 32.0;
- }
-
-#pragma omp for reduction(+:i) reduction(*:d) reduction(&:k)
- for (l = 0; l < 4; l++)
- {
- if (omp_get_num_threads () == 4 && (i != 0 || d != 1.0 || k != ~0))
-#pragma omp atomic
- j |= 1;
-
- if (l == omp_get_thread_num ())
- {
- i = omp_get_thread_num ();
- d = i + 1;
- k = ~(1 << (2 * i));
- }
- }
-
- if (omp_get_num_threads () == 4)
- {
- if (i != (16 + 0 + 1 + 2 + 3))
-#pragma omp atomic
- j |= 2;
- if (d != (33.0 * 1.0 * 2.0 * 3.0 * 4.0))
-#pragma omp atomic
- j |= 4;
- if (k != (~0 ^ 0x55 ^ (1 << 16)))
-#pragma omp atomic
- j |= 8;
- }
- }
-
- if (j)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-3.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-3.C
deleted file mode 100644
index 4f8f2fc12..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/reduction-3.C
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = ~0, l;
- double d = 1.0;
-#pragma omp parallel num_threads(4)
- {
-#pragma omp single
- {
- i = 16;
- k ^= (1 << 16);
- d += 32.0;
- }
-
-#pragma omp for reduction(+:i) reduction(*:d) reduction(&:k) nowait
- for (l = 0; l < 4; l++)
- {
- if (omp_get_num_threads () == 4 && (i != 0 || d != 1.0 || k != ~0))
-#pragma omp atomic
- j |= 1;
-
- if (l == omp_get_thread_num ())
- {
- i = omp_get_thread_num ();
- d = i + 1;
- k = ~(1 << (2 * i));
- }
- }
-
- if (omp_get_num_threads () == 4)
- {
-#pragma omp barrier
- if (i != (16 + 0 + 1 + 2 + 3))
-#pragma omp atomic
- j |= 2;
- if (d != (33.0 * 1.0 * 2.0 * 3.0 * 4.0))
-#pragma omp atomic
- j |= 4;
- if (k != (~0 ^ 0x55 ^ (1 << 16)))
-#pragma omp atomic
- j |= 8;
- }
- }
-
- if (j)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/sections-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/sections-1.C
deleted file mode 100644
index 32c93dbde..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/sections-1.C
+++ /dev/null
@@ -1,64 +0,0 @@
-/******************************************************************************
-* FILE: omp_workshare2.c
-* DESCRIPTION:
-* OpenMP Example - Sections Work-sharing - C/C++ Version
-* In this example, the OpenMP SECTION directive is used to assign
-* different array operations to threads that execute a SECTION. Each
-* thread receives its own copy of the result array to work with.
-* AUTHOR: Blaise Barney 5/99
-* LAST REVISED: 04/06/05
-******************************************************************************/
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-#define N 50
-
-int main (int argc, char *argv[]) {
-
-int i, nthreads, tid;
-float a[N], b[N], c[N];
-
-/* Some initializations */
-for (i=0; i<N; i++)
- a[i] = b[i] = i * 1.0;
-
-#pragma omp parallel shared(a,b,nthreads) private(c,i,tid)
- {
- tid = omp_get_thread_num();
- if (tid == 0)
- {
- nthreads = omp_get_num_threads();
- printf("Number of threads = %d\n", nthreads);
- }
- printf("Thread %d starting...\n",tid);
-
- #pragma omp sections nowait
- {
- #pragma omp section
- {
- printf("Thread %d doing section 1\n",tid);
- for (i=0; i<N; i++)
- {
- c[i] = a[i] + b[i];
- printf("Thread %d: c[%d]= %f\n",tid,i,c[i]);
- }
- }
-
- #pragma omp section
- {
- printf("Thread %d doing section 2\n",tid);
- for (i=0; i<N; i++)
- {
- c[i] = a[i] * b[i];
- printf("Thread %d: c[%d]= %f\n",tid,i,c[i]);
- }
- }
-
- } /* end of sections */
-
- printf("Thread %d done.\n",tid);
-
- } /* end of parallel section */
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-1.C
deleted file mode 100644
index 334a553ce..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-1.C
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <omp.h>
-
-extern "C" void abort (void);
-
-struct Y
-{
- int l[5][10];
-};
-
-struct X
-{
- struct Y y;
- float b[10];
-};
-
-void
-parallel (int a, int b)
-{
- int i, j;
- struct X A[10][5];
- a = b = 3;
-
- for (i = 0; i < 10; i++)
- for (j = 0; j < 5; j++)
- A[i][j].y.l[3][3] = -10;
-
- #pragma omp parallel shared (a, b, A) num_threads (5)
- {
- int i, j;
-
- #pragma omp atomic
- a += omp_get_num_threads ();
-
- #pragma omp atomic
- b += omp_get_num_threads ();
-
- #pragma omp for private (j)
- for (i = 0; i < 10; i++)
- for (j = 0; j < 5; j++)
- A[i][j].y.l[3][3] += 20;
-
- }
-
- for (i = 0; i < 10; i++)
- for (j = 0; j < 5; j++)
- if (A[i][j].y.l[3][3] != 10)
- abort ();
-
- if (a != 28)
- abort ();
-
- if (b != 28)
- abort ();
-}
-
-main()
-{
- parallel (1, 2);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-2.C
deleted file mode 100644
index 01855fbd4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/shared-2.C
+++ /dev/null
@@ -1,47 +0,0 @@
-extern "C" void abort (void);
-
-void
-parallel (int a, int b)
-{
- int bad, LASTPRIV, LASTPRIV_SEC;
- int i;
-
- a = b = 3;
-
- bad = 0;
-
- #pragma omp parallel firstprivate (a,b) shared (bad) num_threads (5)
- {
- if (a != 3 || b != 3)
- bad = 1;
-
- #pragma omp for lastprivate (LASTPRIV)
- for (i = 0; i < 10; i++)
- LASTPRIV = i;
-
- #pragma omp sections lastprivate (LASTPRIV_SEC)
- {
- #pragma omp section
- { LASTPRIV_SEC = 3; }
-
- #pragma omp section
- { LASTPRIV_SEC = 42; }
- }
-
- }
-
- if (LASTPRIV != 9)
- abort ();
-
- if (LASTPRIV_SEC != 42)
- abort ();
-
- if (bad)
- abort ();
-}
-
-int main()
-{
- parallel (1, 2);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-1.C
deleted file mode 100644
index e318a48ca..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-1.C
+++ /dev/null
@@ -1,19 +0,0 @@
-extern "C" void abort (void);
-
-main()
-{
- int i = 0;
-
- #pragma omp parallel shared (i)
- {
- #pragma omp single
- {
- i++;
- }
- }
-
- if (i != 1)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-2.C
deleted file mode 100644
index c2dd22856..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-2.C
+++ /dev/null
@@ -1,36 +0,0 @@
-extern "C" void abort (void);
-
-struct X
-{
- int a;
- char b;
- int c;
-};
-
-main()
-{
- int i = 0;
- struct X x;
- int bad = 0;
-
- #pragma omp parallel private (i, x) shared (bad)
- {
- i = 5;
-
- #pragma omp single copyprivate (i, x)
- {
- i++;
- x.a = 23;
- x.b = 42;
- x.c = 26;
- }
-
- if (i != 6 || x.a != 23 || x.b != 42 || x.c != 26)
- bad = 1;
- }
-
- if (bad)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-3.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-3.C
deleted file mode 100644
index abc7f44b3..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/single-3.C
+++ /dev/null
@@ -1,21 +0,0 @@
-extern "C" void abort (void);
-
-void
-single (int a, int b)
-{
- #pragma omp single copyprivate(a) copyprivate(b)
- {
- a = b = 5;
- }
-
- if (a != b)
- abort ();
-}
-
-int main()
-{
- #pragma omp parallel
- single (1, 2);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-1.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-1.C
deleted file mode 100644
index 535a8287b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-1.C
+++ /dev/null
@@ -1,83 +0,0 @@
-extern "C" void abort ();
-
-int a = 18;
-
-void
-f1 (int i, int j, int k)
-{
- int l = 6, m = 7, n = 8;
-#pragma omp task private(j, m) shared(k, n)
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
-#pragma omp taskwait
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int v1 = 1, v2 = 2, v5 = 5;
-int err;
-
-void
-f2 (void)
-{
- int v3 = 3;
-#pragma omp sections private (v1) firstprivate (v2)
- {
- #pragma omp section
- {
- int v4 = 4;
- v1 = 7;
- #pragma omp task
- {
- if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
- err = 1;
- }
- #pragma omp taskwait
- if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
- abort ();
- if (err)
- abort ();
- }
- }
-}
-
-void
-f3 (int i, int j, int k)
-{
- int l = 6, m = 7, n = 8;
-#pragma omp task private(j, m) shared(k, n) untied
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
-#pragma omp taskwait
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int
-main ()
-{
- f1 (8, 26, 0);
- f2 ();
- a = 18;
- f3 (8, 26, 0);
- a = 18;
-#pragma omp parallel num_threads(4)
- {
- #pragma omp master
- {
- f1 (8, 26, 0);
- a = 18;
- f3 (8, 26, 0);
- }
- }
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-2.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-2.C
deleted file mode 100644
index a198cc721..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-2.C
+++ /dev/null
@@ -1,70 +0,0 @@
-// { dg-do run }
-
-#include <omp.h>
-extern "C" void abort ();
-
-int l = 5;
-
-int
-foo (int i)
-{
- int j = 7;
- const int k = 8;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp taskwait
- return (i != 8 * omp_get_thread_num () + 4
- || j != 4 * i - 3
- || k != 8);
-}
-
-int
-main (void)
-{
- int r = 0;
- #pragma omp parallel num_threads (4) reduction(+:r)
- if (omp_get_num_threads () != 4)
- {
- #pragma omp master
- l = 133;
- }
- else if (foo (8 * omp_get_thread_num ()))
- r++;
- if (r || l != 133)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-3.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-3.C
deleted file mode 100644
index e1ecb4965..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-3.C
+++ /dev/null
@@ -1,90 +0,0 @@
-// { dg-do run }
-
-extern "C" void abort ();
-
-struct A
-{
- A ();
- ~A ();
- A (const A &);
- unsigned long l;
-};
-
-int e;
-
-A::A ()
-{
- l = 17;
-}
-
-A::~A ()
-{
- if (l > 30)
- #pragma omp atomic
- e++;
-}
-
-A::A (const A &r)
-{
- l = r.l;
-}
-
-void
-check (int i, A &a, int j, A &b)
-{
- if (i != 6 || a.l != 21 || j != 0 || b.l != 23)
- #pragma omp atomic
- e++;
-}
-
-A b;
-int j;
-
-void
-foo (int i)
-{
- A a;
- a.l = 21;
- #pragma omp task firstprivate (i, a, j, b)
- check (i, a, j, b);
-}
-
-void
-bar (int i, A a)
-{
- a.l = 21;
- #pragma omp task firstprivate (i, a, j, b)
- check (i, a, j, b);
-}
-
-A
-baz ()
-{
- A a, c;
- a.l = 21;
- c.l = 23;
- #pragma omp task firstprivate (a, c)
- check (6, a, 0, c);
- return a;
-}
-
-int
-main ()
-{
- b.l = 23;
- foo (6);
- bar (6, A ());
- baz ();
- #pragma omp parallel num_threads (4)
- {
- #pragma omp single
- for (int i = 0; i < 64; i++)
- {
- foo (6);
- bar (6, A ());
- baz ();
- }
- }
- if (e)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-4.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-4.C
deleted file mode 100644
index f2e786a2f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-4.C
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <omp.h>
-extern "C" void *memset (void *, int, __SIZE_TYPE__);
-extern "C" void abort (void);
-
-int e;
-
-void
-baz (int i, int *p, int j, int *q)
-{
- if (p[0] != 1 || p[i] != 3 || q[0] != 2 || q[j] != 4)
- #pragma omp atomic
- e++;
-}
-
-void
-foo (int i, int j)
-{
- int p[i + 1];
- int q[j + 1];
- memset (p, 0, sizeof (p));
- memset (q, 0, sizeof (q));
- p[0] = 1;
- p[i] = 3;
- q[0] = 2;
- q[j] = 4;
- #pragma omp task firstprivate (p, q)
- baz (i, p, j, q);
-}
-
-int
-main ()
-{
- #pragma omp parallel num_threads (4)
- foo (5 + omp_get_thread_num (), 7 + omp_get_thread_num ());
- if (e)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-5.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-5.C
deleted file mode 100644
index c882bfe15..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-5.C
+++ /dev/null
@@ -1,90 +0,0 @@
-// { dg-do run }
-
-extern "C" void abort ();
-
-struct A
-{
- A ();
- ~A ();
- A (const A &);
- unsigned long l;
-};
-
-int e;
-
-A::A ()
-{
- l = 17;
-}
-
-A::~A ()
-{
- if (l > 130)
- #pragma omp atomic
- e++;
-}
-
-A::A (const A &r)
-{
- l = r.l + 64;
-}
-
-void
-check (int i, A &a, int j, A &b)
-{
- if (i != 6 || a.l != 21 + 64 || j != 0 || b.l != 23 + 64)
- #pragma omp atomic
- e++;
-}
-
-A b;
-int j;
-
-void
-foo (int i)
-{
- A a;
- a.l = 21;
- #pragma omp task firstprivate (j, b)
- check (i, a, j, b);
-}
-
-void
-bar (int i, A a)
-{
- a.l = 21;
- #pragma omp task firstprivate (j, b)
- check (i, a, j, b);
-}
-
-A
-baz ()
-{
- A a, c;
- a.l = 21;
- c.l = 23;
- #pragma omp task firstprivate (a, c)
- check (6, a, 0, c);
- return a;
-}
-
-int
-main ()
-{
- b.l = 23;
- foo (6);
- bar (6, A ());
- baz ();
- #pragma omp parallel num_threads (4)
- {
- #pragma omp single
- for (int i = 0; i < 64; i++)
- {
- foo (6);
- bar (6, A ());
- baz ();
- }
- }
- if (e)
- abort ();
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-6.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-6.C
deleted file mode 100644
index cc9072b9d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-6.C
+++ /dev/null
@@ -1,86 +0,0 @@
-extern "C" void abort ();
-
-int a = 18;
-
-template <typename T>
-void
-f1 (T i, T j, T k)
-{
- T l = 6, m = 7, n = 8;
-#pragma omp task private(j, m) shared(k, n)
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
-#pragma omp taskwait
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int v1 = 1, v2 = 2, v5 = 5;
-int err;
-
-template <typename T>
-void
-f2 (void)
-{
- T v3 = 3;
-#pragma omp sections private (v1) firstprivate (v2)
- {
- #pragma omp section
- {
- T v4 = 4;
- v1 = 7;
- #pragma omp task
- {
- if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
- err = 1;
- }
- #pragma omp taskwait
- if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
- abort ();
- if (err)
- abort ();
- }
- }
-}
-
-template <typename T>
-void
-f3 (T i, T j, T k)
-{
- T l = 6, m = 7, n = 8;
-#pragma omp task private(j, m) shared(k, n) untied
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
-#pragma omp taskwait
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int
-main ()
-{
- f1 <int> (8, 26, 0);
- f2 <int> ();
- a = 18;
- f3 <int> (8, 26, 0);
- a = 18;
-#pragma omp parallel num_threads(4)
- {
- #pragma omp master
- {
- f1 <int> (8, 26, 0);
- a = 18;
- f3 <int> (8, 26, 0);
- }
- }
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-7.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-7.C
deleted file mode 100644
index e9828cd2c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/task-7.C
+++ /dev/null
@@ -1,18 +0,0 @@
-// PR c++/36523
-// { dg-do run }
-
-template<typename T>
-struct A
-{
- A() { }
- A(const A&) { }
- void foo() { }
-};
-
-int main()
-{
- A<int> a;
- #pragma omp task firstprivate (a)
- a.foo();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c
deleted file mode 100644
index 276ac6caa..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-
-void
-work (int n)
-{
- printf ("[%d of %d], nested = %d, n = %d\n", omp_get_thread_num (), omp_get_num_threads(), omp_get_nested (), n);
-}
-
-void
-sub3 (int n)
-{
- work (n);
-#pragma omp barrier
- work (n);
-}
-
-void
-sub2 (int k)
-{
-#pragma omp parallel shared(k)
- sub3 (k);
-}
-
-void
-sub1 (int n)
-{
- int i;
-#pragma omp parallel private(i) shared(n)
- {
-#pragma omp for
- for (i = 0; i < n; i++)
- sub2 (i);
- }
-}
-int
-main ()
-{
- sub1 (2);
- sub2 (15);
- sub3 (20);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c
deleted file mode 100644
index 28a994a28..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-
-float
-work1 (int i)
-{
- return 1.0 * i;
-}
-
-float
-work2 (int i)
-{
- return 2.0 * i;
-}
-
-void
-a16 (float *x, float *y, int *index, int n)
-{
- int i;
-#pragma omp parallel for shared(x, y, index, n)
- for (i = 0; i < n; i++)
- {
-#pragma omp atomic
- x[index[i]] += work1 (i);
- y[i] += work2 (i);
- }
-}
-int
-main ()
-{
- float x[1000];
- float y[10000];
- int index[10000];
- int i;
- for (i = 0; i < 10000; i++)
- {
- index[i] = i % 1000;
- y[i] = 0.0;
- }
- for (i = 0; i < 1000; i++)
- x[i] = 0.0;
- a16 (x, y, index, 10000);
- for (i = 0; i < 10; i++)
- printf ("x[%d] = %f, y[%d] = %f\n", i, x[i], i, y[i]);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c
deleted file mode 100644
index 388763e59..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdio.h>
-
-extern void abort (void);
-
-#define NUMBER_OF_THREADS 4
-
-int synch[NUMBER_OF_THREADS];
-int work[NUMBER_OF_THREADS];
-int result[NUMBER_OF_THREADS];
-int
-fn1 (int i)
-{
- return i * 2;
-}
-
-int
-fn2 (int a, int b)
-{
- return a + b;
-}
-
-int
-main ()
-{
- int i, iam, neighbor;
- omp_set_num_threads (NUMBER_OF_THREADS);
-#pragma omp parallel private(iam,neighbor) shared(work,synch)
- {
- iam = omp_get_thread_num ();
- synch[iam] = 0;
-#pragma omp barrier
- /*Do computation into my portion of work array */
- work[iam] = fn1 (iam);
- /* Announce that I am done with my work. The first flush
- * ensures that my work is made visible before synch.
- * The second flush ensures that synch is made visible.
- */
-#pragma omp flush(work,synch)
- synch[iam] = 1;
-#pragma omp flush(synch)
- /* Wait for neighbor. The first flush ensures that synch is read
- * from memory, rather than from the temporary view of memory.
- * The second flush ensures that work is read from memory, and
- * is done so after the while loop exits.
- */
- neighbor = (iam > 0 ? iam : omp_get_num_threads ()) - 1;
- while (synch[neighbor] == 0)
- {
-#pragma omp flush(synch)
- }
-#pragma omp flush(work,synch)
- /* Read neighbor's values of work array */
- result[iam] = fn2 (work[neighbor], work[iam]);
- }
- /* output result here */
- for (i = 0; i < NUMBER_OF_THREADS; i++)
- {
- neighbor = (i > 0 ? i : NUMBER_OF_THREADS) - 1;
- if (result[i] != i * 2 + neighbor * 2)
- abort ();
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c
deleted file mode 100644
index 65ffe624c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* { dg-do run } */
-
-int x, *p = &x;
-extern void abort (void);
-void
-f1 (int *q)
-{
- *q = 1;
-#pragma omp flush
- /* x, p, and *q are flushed */
- /* because they are shared and accessible */
- /* q is not flushed because it is not shared. */
-}
-
-void
-f2 (int *q)
-{
-#pragma omp barrier
- *q = 2;
-#pragma omp barrier
- /* a barrier implies a flush */
- /* x, p, and *q are flushed */
- /* because they are shared and accessible */
- /* q is not flushed because it is not shared. */
-}
-
-int
-g (int n)
-{
- int i = 1, j, sum = 0;
- *p = 1;
-#pragma omp parallel reduction(+: sum) num_threads(2)
- {
- f1 (&j);
- /* i, n and sum were not flushed */
- /* because they were not accessible in f1 */
- /* j was flushed because it was accessible */
- sum += j;
- f2 (&j);
- /* i, n, and sum were not flushed */
- /* because they were not accessible in f2 */
- /* j was flushed because it was accessible */
- sum += i + j + *p + n;
- }
- return sum;
-}
-
-int
-main ()
-{
- int result = g (10);
- if (result != 30)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c
deleted file mode 100644
index f6ae4c7c5..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-#include <omp.h>
-extern void abort (void);
-int
-main ()
-{
- int bad, x;
- x = 2;
- bad = 0;
-#pragma omp parallel num_threads(2) shared(x, bad)
- {
- if (omp_get_thread_num () == 0)
- {
- volatile int i;
- for (i = 0; i < 100000000; i++)
- x = 5;
- }
- else
- {
- /* Print 1: the following read of x has a race */
- if (x != 2 && x != 5)
- bad = 1;
- }
-#pragma omp barrier
- if (omp_get_thread_num () == 0)
- {
- /* x must be 5 now. */
- if (x != 5)
- bad = 1;
- }
- else
- {
- /* x must be 5 now. */
- if (x != 5)
- bad = 1;
- }
- }
-
- if (bad)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c
deleted file mode 100644
index 0c1c39a12..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-void
-work (int k)
-{
-#pragma omp ordered
- printf (" %d\n", k);
-}
-
-void
-a21 (int lb, int ub, int stride)
-{
- int i;
-#pragma omp parallel for ordered schedule(dynamic)
- for (i = lb; i < ub; i += stride)
- work (i);
-}
-
-int
-main ()
-{
- a21 (0, 100, 5);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c
deleted file mode 100644
index e146fa204..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-int
-main ()
-{
- int i, j;
- i = 1;
- j = 2;
-#pragma omp parallel private(i) firstprivate(j)
- {
- i = 3;
- j = j + 2;
- }
- printf ("%d %d\n", i, j); /* i and j are undefined */
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c
deleted file mode 100644
index 6f0f65fa0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* { dg-do run } */
-
-#include <assert.h>
-int A[2][2] = { 1, 2, 3, 4 };
-void
-f (int n, int B[n][n], int C[])
-{
- int D[2][2] = { 1, 2, 3, 4 };
- int E[n][n];
- assert (n >= 2);
- E[1][1] = 4;
-#pragma omp parallel firstprivate(B, C, D, E)
- {
- assert (sizeof (B) == sizeof (int (*)[n]));
- assert (sizeof (C) == sizeof (int *));
- assert (sizeof (D) == 4 * sizeof (int));
- assert (sizeof (E) == n * n * sizeof (int));
- /* Private B and C have values of original B and C. */
- assert (&B[1][1] == &A[1][1]);
- assert (&C[3] == &A[1][1]);
- assert (D[1][1] == 4);
- assert (E[1][1] == 4);
- }
-}
-int
-main ()
-{
- f (2, A, A[0]);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c
deleted file mode 100644
index 9e7c24f75..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-int
-main ()
-{
-# ifdef _OPENMP
- printf ("Compiled by an OpenMP-compliant implementation.\n");
-# endif
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c
deleted file mode 100644
index 0b7f0197c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* { dg-do compile } */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <omp.h>
-omp_lock_t *
-new_lock ()
-{
- omp_lock_t *lock_ptr;
-#pragma omp single copyprivate(lock_ptr)
- {
- lock_ptr = (omp_lock_t *) malloc (sizeof (omp_lock_t));
- omp_init_lock (lock_ptr);
- }
- return lock_ptr;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c
deleted file mode 100644
index b60534d11..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-void
-do_by_16 (float *x, int iam, int ipoints)
-{
-}
-
-void
-a36 (float *x, int npoints)
-{
- int iam, ipoints;
- omp_set_dynamic (0);
- omp_set_num_threads (16);
-#pragma omp parallel shared(x, npoints) private(iam, ipoints)
- {
- if (omp_get_num_threads () != 16)
- abort ();
- iam = omp_get_thread_num ();
- ipoints = npoints / 16;
- do_by_16 (x, iam, ipoints);
- }
-}
-
-int main()
-{
- float a[10];
- a36 (a, 10);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c
deleted file mode 100644
index a129e87fc..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-#include <omp.h>
-void
-skip (int i)
-{
-}
-
-void
-work (int i)
-{
-}
-int
-main ()
-{
- omp_lock_t lck;
- int id;
- omp_init_lock (&lck);
-#pragma omp parallel shared(lck) private(id)
- {
- id = omp_get_thread_num ();
- omp_set_lock (&lck);
- /* only one thread at a time can execute this printf */
- printf ("My thread id is %d.\n", id);
- omp_unset_lock (&lck);
- while (!omp_test_lock (&lck))
- {
- skip (id); /* we do not yet have the lock,
- so we must do something else */
- }
- work (id); /* we now have the lock
- and can do the work */
- omp_unset_lock (&lck);
- }
- omp_destroy_lock (&lck);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c
deleted file mode 100644
index c6be49090..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-extern void abort (void);
-void
-subdomain (float *x, int istart, int ipoints)
-{
- int i;
- for (i = 0; i < ipoints; i++)
- x[istart + i] = 123.456;
-}
-
-void
-sub (float *x, int npoints)
-{
- int iam, nt, ipoints, istart;
-#pragma omp parallel default(shared) private(iam,nt,ipoints,istart)
- {
- iam = omp_get_thread_num ();
- nt = omp_get_num_threads ();
- ipoints = npoints / nt; /* size of partition */
- istart = iam * ipoints; /* starting array index */
- if (iam == nt - 1) /* last thread may do more */
- ipoints = npoints - istart;
- subdomain (x, istart, ipoints);
- }
-}
-int
-main ()
-{
- int i;
- float array[10000];
- sub (array, 10000);
- for (i = 0; i < 10000; i++)
- if (array[i] < 123.45 || array[i] > 123.46)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c
deleted file mode 100644
index aa7b88d70..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* { dg-do compile } */
-
-#include <omp.h>
-typedef struct
-{
- int a, b;
- omp_nest_lock_t lck;
-} pair;
-int work1 ();
-int work2 ();
-int work3 ();
-void
-incr_a (pair * p, int a)
-{
- /* Called only from incr_pair, no need to lock. */
- p->a += a;
-}
-
-void
-incr_b (pair * p, int b)
-{
- /* Called both from incr_pair and elsewhere, */
- /* so need a nestable lock. */
- omp_set_nest_lock (&p->lck);
- p->b += b;
- omp_unset_nest_lock (&p->lck);
-}
-
-void
-incr_pair (pair * p, int a, int b)
-{
- omp_set_nest_lock (&p->lck);
- incr_a (p, a);
- incr_b (p, b);
- omp_unset_nest_lock (&p->lck);
-}
-
-void
-a40 (pair * p)
-{
-#pragma omp parallel sections
- {
-#pragma omp section
- incr_pair (p, work1 (), work2 ());
-#pragma omp section
- incr_b (p, work3 ());
- }
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c
deleted file mode 100644
index b909c4ddb..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-int
-main ()
-{
- omp_set_dynamic (1);
-#pragma omp parallel num_threads(10)
- {
- /* do work here */
- }
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-1.c
deleted file mode 100644
index b2be8f022..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-1.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2 -march=pentium" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
-
-#ifdef __i386__
-#include "cpuid.h"
-#endif
-
-extern void abort (void);
-double d;
-struct
-{
- int i;
- double e;
- int j;
-} x;
-
-void
-f1 (void)
-{
- #pragma omp atomic
- d += 7.5;
- #pragma omp atomic
- d *= 2.5;
- #pragma omp atomic
- d /= 0.25;
-}
-
-void
-f2 (void)
-{
- #pragma omp atomic
- x.e += 7.5;
- #pragma omp atomic
- x.e *= 2.5;
- #pragma omp atomic
- x.e /= 0.25;
-}
-
-int
-main (void)
-{
-#ifdef __i386__
- unsigned int eax, ebx, ecx, edx;
-
- if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
- return 0;
-
- if (!(edx & bit_CMPXCHG8B))
- return 0;
-#endif
-
- d = 1.0;
- f1 ();
- if (d != 85.0)
- abort ();
-
- x.e = 1.0;
- f2 ();
- if (x.i != 0 || x.e != 85.0 || x.j != 0)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-10.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-10.c
deleted file mode 100644
index 58edeed6c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-10.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/* { dg-do run } */
-
-extern void abort (void);
-int x1, x2, x3, x4, x5;
-volatile int y6 = 9, y2, y3, y4, y5;
-volatile unsigned char z1, z2, z3, z4, z5;
-float a1, a2, a3, a4;
-
-void
-f1 (void)
-{
- #pragma omp atomic
- x1++;
- #pragma omp atomic
- x2--;
- #pragma omp atomic
- ++x3;
- #pragma omp atomic
- --x4;
- #pragma omp atomic
- x5 += 1;
- #pragma omp atomic
- x1 -= y6;
- #pragma omp atomic
- x2 |= 1;
- #pragma omp atomic
- x3 &= 1;
- #pragma omp atomic
- x4 ^= 1;
- #pragma omp atomic
- x5 *= 3;
- #pragma omp atomic
- x1 /= 3;
- #pragma omp atomic
- x2 /= 3;
- #pragma omp atomic
- x3 <<= 3;
- #pragma omp atomic
- x4 >>= 3;
-}
-
-void
-f2 (void)
-{
- #pragma omp atomic
- y6++;
- #pragma omp atomic
- y2--;
- #pragma omp atomic
- ++y3;
- #pragma omp atomic
- --y4;
- #pragma omp atomic
- y5 += 1;
- #pragma omp atomic
- y6 -= x1;
- #pragma omp atomic
- y2 |= 1;
- #pragma omp atomic
- y3 &= 1;
- #pragma omp atomic
- y4 ^= 1;
- #pragma omp atomic
- y5 *= 3;
- #pragma omp atomic
- y6 /= 3;
- #pragma omp atomic
- y2 /= 3;
- #pragma omp atomic
- y3 <<= 3;
- #pragma omp atomic
- y4 >>= 3;
-}
-
-void
-f3 (void)
-{
- #pragma omp atomic
- z1++;
- #pragma omp atomic
- z2--;
- #pragma omp atomic
- ++z3;
- #pragma omp atomic
- --z4;
- #pragma omp atomic
- z5 += 1;
- #pragma omp atomic
- z1 |= 1;
- #pragma omp atomic
- z2 &= 1;
- #pragma omp atomic
- z3 ^= 1;
- #pragma omp atomic
- z4 *= 3;
- #pragma omp atomic
- z5 /= 3;
- #pragma omp atomic
- z1 /= 3;
- #pragma omp atomic
- z2 <<= 3;
- #pragma omp atomic
- z3 >>= 3;
-}
-
-void
-f4 (void)
-{
- #pragma omp atomic
- a1 += 8.0;
- #pragma omp atomic
- a2 *= 3.5;
- #pragma omp atomic
- a3 -= a1 + a2;
- #pragma omp atomic
- a4 /= 2.0;
-}
-
-int
-main (void)
-{
- f1 ();
- if (x1 != -2 || x2 != 0 || x3 != 8 || x4 != -1 || x5 != 3)
- abort ();
- f2 ();
- if (y6 != 4 || y2 != 0 || y3 != 8 || y4 != -1 || y5 != 3)
- abort ();
- f3 ();
- if (z1 != 0 || z2 != 8 || z3 != 0 || z4 != 253 || z5 != 0)
- abort ();
- a1 = 7;
- a2 = 10;
- a3 = 11;
- a4 = 13;
- f4 ();
- if (a1 != 15.0 || a2 != 35.0 || a3 != -39.0 || a4 != 6.5)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-2.c
deleted file mode 100644
index c8779483b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-2.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2 -mcx16" { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
-
-#ifdef __x86_64__
-#include "cpuid.h"
-#endif
-
-double d = 1.5;
-long double ld = 3;
-extern void abort (void);
-
-void
-test (void)
-{
-#pragma omp atomic
- d *= 1.25;
-#pragma omp atomic
- ld /= 0.75;
- if (d != 1.875 || ld != 4.0L)
- abort ();
-}
-
-int
-main (void)
-{
-#ifdef __x86_64__
- unsigned int eax, ebx, ecx, edx;
-
- if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
- return 0;
-
- if (!(ecx & bit_CMPXCHG16B))
- return 0;
-#endif
- test ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-3.c
deleted file mode 100644
index 5b8fdc1a7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-3.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-fopenmp -O0" } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-short e[64];
-int g;
-_Complex double d, f;
-int num_threads;
-
-__attribute__((noinline)) void
-foo (int x, long long y)
-{
-#pragma omp parallel num_threads (4)
- {
- int i;
- #pragma omp barrier
- for (i = 0; i < 2400; i++)
- {
- if (i == 0)
- num_threads = omp_get_num_threads ();
- #pragma omp atomic
- e[0] += x;
- #pragma omp atomic
- e[16] += x;
- #pragma omp atomic
- g += y;
- #pragma omp atomic
- __real__ d += x;
- #pragma omp atomic
- __imag__ f += x;
- }
- }
-}
-
-int
-main (void)
-{
- int i;
- foo (3, 3LL);
- if (g != 3 * 2400 * num_threads
- || __real__ d != g || __imag__ d != 0
- || __real__ f != 0 || __imag__ f != g)
- abort ();
- for (i = 0; i < 64; i++)
- if (e[i] != ((i && i != 16) ? 0 : g))
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-4.c
deleted file mode 100644
index 10f8197b0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-4.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* PR middle-end/35611 */
-/* { dg-options "-O2" } */
-
-extern void abort (void);
-
-int
-main (void)
-{
- long double d = .0L;
- int i;
- #pragma omp parallel for shared (d)
- for (i = 0; i < 1000; i++)
- #pragma omp atomic
- d += 1.0L;
- if (d != 1000.0L)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-5.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-5.c
deleted file mode 100644
index 168f68dd6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-5.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* PR middle-end/36106 */
-/* { dg-options "-O2" } */
-/* { dg-options "-O2 -mcx16" { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
-
-#ifdef __x86_64__
-# include "cpuid.h"
-#endif
-
-extern void abort (void);
-
-int __attribute__((noinline))
-do_test (void)
-{
- long double d = .0L;
- int i;
- #pragma omp parallel for shared (d)
- for (i = 0; i < 10; i++)
- #pragma omp atomic
- d += 1.0L;
- if (d != 10.0L)
- abort ();
- return 0;
-}
-
-int
-main (void)
-{
-#ifdef __x86_64__
- unsigned int eax, ebx, ecx, edx;
-
- if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
- return 0;
-
- if (!(ecx & bit_CMPXCHG16B))
- return 0;
-#endif
-
- do_test ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-6.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-6.c
deleted file mode 100644
index 59baf7dd3..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/atomic-6.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* PR middle-end/36106 */
-/* { dg-options "-O2" } */
-/* { dg-options "-O2 -mieee" { target alpha*-*-* } } */
-/* { dg-options "-O2 -march=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
-
-#ifdef __i386__
-# include "cpuid.h"
-#endif
-
-extern void abort (void);
-
-union { unsigned long long l; double d; } u = { .l = 0x7ff0000000072301ULL };
-
-int __attribute__((noinline))
-do_test (void)
-{
-#pragma omp atomic
- u.d += 1.0L;
- return 0;
-}
-
-int
-main (void)
-{
-#ifdef __i386__
- unsigned int eax, ebx, ecx, edx;
-
- if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
- return 0;
-
- if (!(edx & bit_CMPXCHG8B))
- return 0;
-#endif
-
- do_test ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/autopar-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/autopar-1.c
deleted file mode 100644
index e56549b48..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/autopar-1.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-ftree-parallelize-loops=4 -O2 -ffast-math" } */
-
-extern void abort (void);
-
-double d[1024], e[1024];
-int f[1024], g[1024];
-
-double __attribute__((noinline))
-foo (void)
-{
- double s = 0.0;
- int i;
- for (i = 0; i < 1024; i++)
- s += d[i] - e[i];
- return s;
-}
-
-int __attribute__((noinline))
-bar (void)
-{
- int s = 0, i;
- for (i = 0; i < 1024; i++)
- s += f[i] - g[i];
- return s;
-}
-
-int
-main (void)
-{
- int i;
- for (i = 0; i < 1024; i++)
- {
- d[i] = i * 2;
- e[i] = i;
- f[i] = i * 2;
- g[i] = i;
- }
- if (foo () != 1023 * 1024 / 2)
- abort ();
- if (bar () != 1023 * 1024 / 2)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/barrier-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/barrier-1.c
deleted file mode 100644
index 1f8d1f0d3..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/barrier-1.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Trivial test of barrier. */
-
-#include <omp.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-struct timeval stamps[3][3];
-
-static void function(void *dummy)
-{
- int iam = omp_get_thread_num ();
-
- gettimeofday (&stamps[iam][0], NULL);
- if (iam == 0)
- usleep (10);
-
- GOMP_barrier ();
-
- if (iam == 0)
- {
- gettimeofday (&stamps[0][1], NULL);
- usleep (10);
- }
-
- GOMP_barrier ();
-
- gettimeofday (&stamps[iam][2], NULL);
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- GOMP_parallel_start (function, NULL, 3);
- function (NULL);
- GOMP_parallel_end ();
-
- assert (!timercmp (&stamps[0][0], &stamps[0][1], >));
- assert (!timercmp (&stamps[1][0], &stamps[0][1], >));
- assert (!timercmp (&stamps[2][0], &stamps[0][1], >));
-
- assert (!timercmp (&stamps[0][1], &stamps[0][2], >));
- assert (!timercmp (&stamps[0][1], &stamps[1][2], >));
- assert (!timercmp (&stamps[0][1], &stamps[2][2], >));
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/c.exp b/gcc-4.4.3/libgomp/testsuite/libgomp.c/c.exp
deleted file mode 100644
index 980bb526f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/c.exp
+++ /dev/null
@@ -1,30 +0,0 @@
-if [info exists lang_library_path] then {
- unset lang_library_path
- unset lang_link_flags
-}
-if [info exists lang_test_file] then {
- unset lang_test_file
-}
-
-load_lib libgomp-dg.exp
-
-# If a testcase doesn't have special options, use these.
-if ![info exists DEFAULT_CFLAGS] then {
- set DEFAULT_CFLAGS "-O2"
-}
-
-# Initialize dg.
-dg-init
-
-# Gather a list of all tests.
-set tests [lsort [find $srcdir/$subdir *.c]]
-
-set ld_library_path $always_ld_library_path
-append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
-set_ld_library_path_env_vars
-
-# Main loop.
-dg-runtest $tests "" $DEFAULT_CFLAGS
-
-# All done.
-dg-finish
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-1.c
deleted file mode 100644
index 84277ff55..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* { dg-do run } */
-
-#include <string.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i, j, k, l = 0;
- int a[3][3][3];
-
- memset (a, '\0', sizeof (a));
- #pragma omp parallel for collapse(4 - 1) schedule(static, 4)
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- for (k = 0; k < 2; k++)
- a[i][j][k] = i + j * 4 + k * 16;
- #pragma omp parallel
- {
- #pragma omp for collapse(2) reduction(|:l) private(k)
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- for (k = 0; k < 2; k++)
- if (a[i][j][k] != i + j * 4 + k * 16)
- l = 1;
- }
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-2.c
deleted file mode 100644
index b5c77d461..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* { dg-do run } */
-
-#include <stdlib.h>
-#include <omp.h>
-
-int
-main (void)
-{
- int i, j, k, l = 0, f = 0;
- int m1 = 4, m2 = -5, m3 = 17;
-
- #pragma omp parallel for num_threads (8) collapse(3) \
- schedule(static, 9) reduction(+:l) \
- firstprivate(f)
- for (i = -2; i < m1; i++)
- for (j = m2; j < -2; j++)
- {
- for (k = 13; k < m3; k++)
- {
- if (omp_get_num_threads () == 8
- && ((i + 2) * 12 + (j + 5) * 4 + (k - 13)
- != (omp_get_thread_num () * 9
- + f++)))
- l++;
- }
- }
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-3.c
deleted file mode 100644
index 4674f83f4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/collapse-3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2 -std=gnu99" } */
-
-#include <string.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i2, l = 0;
- int a[3][3][3];
-
- memset (a, '\0', sizeof (a));
- #pragma omp parallel for collapse(4 - 1) schedule(static, 4)
- for (int i = 0; i < 2; i++)
- for (int j = 0; j < 2; j++)
- for (int k = 0; k < 2; k++)
- a[i][j][k] = i + j * 4 + k * 16;
- #pragma omp parallel
- {
- #pragma omp for collapse(2) reduction(|:l)
- for (i2 = 0; i2 < 2; i2++)
- for (int j = 0; j < 2; j++)
- for (int k = 0; k < 2; k++)
- if (a[i2][j][k] != i2 + j * 4 + k * 16)
- l = 1;
- }
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-1.c
deleted file mode 100644
index 49c546004..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-/* { dg-require-effective-target tls_runtime } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int thr = 32;
-#pragma omp threadprivate (thr)
-
-int
-main (void)
-{
- int l = 0;
-
- omp_set_dynamic (0);
- omp_set_num_threads (6);
-
-#pragma omp parallel copyin (thr) reduction (||:l)
- {
- l = thr != 32;
- thr = omp_get_thread_num () + 11;
- }
-
- if (l || thr != 11)
- abort ();
-
-#pragma omp parallel reduction (||:l)
- l = thr != omp_get_thread_num () + 11;
-
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-2.c
deleted file mode 100644
index ae2451ef1..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-/* { dg-require-effective-target tls_runtime } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-struct { int t; char buf[64]; } thr = { 32, "" };
-#pragma omp threadprivate (thr)
-
-int
-main (void)
-{
- int l = 0;
-
- omp_set_dynamic (0);
- omp_set_num_threads (6);
-
-#pragma omp parallel copyin (thr) reduction (||:l)
- {
- l = thr.t != 32;
- thr.t = omp_get_thread_num () + 11;
- }
-
- if (l || thr.t != 11)
- abort ();
-
-#pragma omp parallel reduction (||:l)
- l = thr.t != omp_get_thread_num () + 11;
-
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-3.c
deleted file mode 100644
index 86b0d691f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/copyin-3.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-/* { dg-require-effective-target tls_runtime } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int thr;
-#pragma omp threadprivate (thr)
-
-int
-test (int l)
-{
- return l || (thr != omp_get_thread_num () * 2);
-}
-
-int
-main (void)
-{
- int l = 0;
-
- omp_set_dynamic (0);
- omp_set_num_threads (6);
-
- thr = 8;
- /* Broadcast the value to all threads. */
-#pragma omp parallel copyin (thr)
- ;
-
-#pragma omp parallel reduction (||:l)
- {
- /* Now test if the broadcast succeeded. */
- l = thr != 8;
- thr = omp_get_thread_num () * 2;
-#pragma omp barrier
- l = test (l);
- }
-
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-1.c
deleted file mode 100644
index 2b8503be7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-1.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Trivial test of critical sections. */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-static volatile int test = -1;
-
-static void function(void *dummy)
-{
- int iam = omp_get_thread_num ();
- int old;
-
- GOMP_critical_start ();
-
- old = __sync_lock_test_and_set (&test, iam);
- assert (old == -1);
-
- usleep (10);
- test = -1;
-
- GOMP_critical_end ();
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- GOMP_parallel_start (function, NULL, 3);
- function (NULL);
- GOMP_parallel_end ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-2.c
deleted file mode 100644
index 530a891f6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/critical-2.c
+++ /dev/null
@@ -1,35 +0,0 @@
-// { dg-do run }
-// Test several constructs within a parallel. At one point in development,
-// the critical directive clobbered the shared clause of the parallel.
-
-#include <omp.h>
-#include <stdlib.h>
-
-#define N 2000
-
-int main()
-{
- int A[N];
- int nthreads;
- int i;
-
-#pragma omp parallel shared (A, nthreads)
- {
- #pragma omp master
- nthreads = omp_get_num_threads ();
-
- #pragma omp for
- for (i = 0; i < N; i++)
- A[i] = 0;
-
- #pragma omp critical
- for (i = 0; i < N; i++)
- A[i] += 1;
- }
-
- for (i = 0; i < N; i++)
- if (A[i] != nthreads)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/debug-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/debug-1.c
deleted file mode 100644
index 09bcf7f3c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/debug-1.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* PR debug/36617 */
-/* { dg-do run } */
-/* { dg-options "-g -fopenmp -O0" } */
-
-int
-f1 (void)
-{
- int v1i, v1j, v1k, v1l = 0;
- v1i = 6;
- v1j = 8;
- #pragma omp parallel private (v1k) firstprivate (v1j) shared (v1i) reduction (+:v1l)
- {
- v1k = v1i + v1j;
- {
- int v1m = 1;
- v1l = v1m;
- }
- }
- return v1l;
-}
-
-int v2k = 9;
-
-int
-f2 (void)
-{
- int v2i = 6, v2j = 7;
- #pragma omp single private (v2i) firstprivate (v2k)
- {
- int v2l = v2j + v2k;
- v2i = 8;
- v2k = 10;
- v2j = v2l + v2i;
- }
- return v2i + v2j;
-}
-
-int
-f3 (void)
-{
- int v3i = 6, v3j = 7, v3k = 9;
- #pragma omp parallel
- {
- #pragma omp master
- v3i++;
- #pragma omp single private (v3i) firstprivate (v3k)
- {
- int v3l = v3j + v3k;
- v3i = 8;
- v3k = 10;
- v3j = v3l + v3i;
- }
- #pragma omp atomic
- v3k++;
- }
- return v3i + v3j;
-}
-
-int v4k = 9, v4l = 0;
-
-int
-f4 (void)
-{
- int v4i = 6, v4j = 7, v4n = 0;
- #pragma omp sections private (v4i) firstprivate (v4k) reduction (+:v4l)
- {
- #pragma omp section
- {
- int v4m = v4j + v4k;
- v4i = 8;
- v4k = 10;
- v4l++;
- v4n = v4m + v4i;
- }
- #pragma omp section
- {
- int v4o = v4j + v4k;
- v4i = 10;
- v4k = 11;
- v4l++;
- }
- }
- return v4i + v4j + v4l + v4n;
-}
-
-int
-f5 (void)
-{
- int v5i = 6, v5j = 7, v5k = 9, v5l = 0, v5n = 0, v5p = 0;
- #pragma omp parallel
- {
- #pragma omp master
- v5p++;
- #pragma omp sections private (v5i) firstprivate (v5k) reduction (+:v5l)
- {
- #pragma omp section
- {
- int v5m = v5j + v5k;
- v5i = 8;
- v5k = 10;
- v5l++;
- v5n = v5m + v5i;
- }
- #pragma omp section
- {
- int v5o = v5j + v5k;
- v5i = 10;
- v5k = 11;
- v5l++;
- }
- }
- }
- return v5i + v5j + v5l + v5n + v5p;
-}
-
-int v6k = 9, v6l = 0;
-
-int
-f6 (void)
-{
- int v6i = 6, v6j = 7, v6n = 0;
- #pragma omp for private (v6i) firstprivate (v6k) reduction (+:v6l)
- for (v6n = 0; v6n < 3; v6n++)
- {
- int v6m = v6j + v6k;
- v6i = 8;
- v6l++;
- }
- return v6i + v6j + v6k + v6l + v6n;
-}
-
-int
-f7 (void)
-{
- int v7i = 6, v7j = 7, v7k = 9, v7l = 0, v7n = 0, v7o = 1;
- #pragma omp parallel
- {
- #pragma omp master
- v7o++;
- #pragma omp for private (v7i) firstprivate (v7k) reduction (+:v7l)
- for (v7n = 0; v7n < 3; v7n++)
- {
- int v7m = v7j + v7k;
- v7i = 8;
- v7l++;
- }
- }
- return v7i + v7j + v7k + v7l + v7n;
-}
-
-int
-main (void)
-{
- f1 ();
- f2 ();
- f3 ();
- f4 ();
- f5 ();
- f6 ();
- f7 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-1.c
deleted file mode 100644
index 99708f823..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-1.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int err = 0;
-
- omp_set_num_threads (4);
- if (omp_get_max_threads () != 4)
- abort ();
- #pragma omp parallel reduction(|: err) num_threads(1)
- {
- if (omp_get_max_threads () != 4)
- err |= 1;
- omp_set_num_threads (6);
- #pragma omp task if(0) shared(err)
- {
- if (omp_get_max_threads () != 6)
- err |= 2;
- omp_set_num_threads (5);
- if (omp_get_max_threads () != 5)
- err |= 4;
- }
- if (omp_get_max_threads () != 6)
- err |= 8;
- }
- if (err)
- abort ();
- if (omp_get_max_threads () != 4)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-2.c
deleted file mode 100644
index 326f8eb40..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/icv-2.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* { dg-do run { target *-*-linux* } } */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-#include <pthread.h>
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-pthread_barrier_t bar;
-
-void *tf (void *p)
-{
- int l;
- if (p)
- omp_set_num_threads (3);
- pthread_barrier_wait (&bar);
- if (!p)
- omp_set_num_threads (6);
- pthread_barrier_wait (&bar);
- omp_set_dynamic (0);
- if (omp_get_max_threads () != (p ? 3 : 6))
- abort ();
- l = 0;
- #pragma omp parallel num_threads (6) reduction (|:l)
- {
- l |= omp_get_max_threads () != (p ? 3 : 6);
- omp_set_num_threads ((p ? 3 : 6) + omp_get_thread_num ());
- l |= omp_get_max_threads () != ((p ? 3 : 6) + omp_get_thread_num ());
- }
- if (l)
- abort ();
- return NULL;
-}
-
-int
-main (void)
-{
- pthread_t th;
- pthread_barrier_init (&bar, NULL, 2);
- pthread_create (&th, NULL, tf, NULL);
- tf ("");
- pthread_join (th, NULL);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-1.c
deleted file mode 100644
index 4839cf936..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-1.c
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <stdlib.h>
-#include <omp.h>
-
-int
-main (void)
-{
- double d, e;
- int l;
- omp_lock_t lck;
- omp_nest_lock_t nlck;
-
- d = omp_get_wtime ();
-
- omp_init_lock (&lck);
- omp_set_lock (&lck);
- if (omp_test_lock (&lck))
- abort ();
- omp_unset_lock (&lck);
- if (! omp_test_lock (&lck))
- abort ();
- if (omp_test_lock (&lck))
- abort ();
- omp_unset_lock (&lck);
- omp_destroy_lock (&lck);
-
- omp_init_nest_lock (&nlck);
- if (omp_test_nest_lock (&nlck) != 1)
- abort ();
- omp_set_nest_lock (&nlck);
- if (omp_test_nest_lock (&nlck) != 3)
- abort ();
- omp_unset_nest_lock (&nlck);
- omp_unset_nest_lock (&nlck);
- if (omp_test_nest_lock (&nlck) != 2)
- abort ();
- omp_unset_nest_lock (&nlck);
- omp_unset_nest_lock (&nlck);
- omp_destroy_nest_lock (&nlck);
-
- omp_set_dynamic (1);
- if (! omp_get_dynamic ())
- abort ();
- omp_set_dynamic (0);
- if (omp_get_dynamic ())
- abort ();
-
- omp_set_nested (1);
- if (! omp_get_nested ())
- abort ();
- omp_set_nested (0);
- if (omp_get_nested ())
- abort ();
-
- omp_set_num_threads (5);
- if (omp_get_num_threads () != 1)
- abort ();
- if (omp_get_max_threads () != 5)
- abort ();
- if (omp_get_thread_num () != 0)
- abort ();
- omp_set_num_threads (3);
- if (omp_get_num_threads () != 1)
- abort ();
- if (omp_get_max_threads () != 3)
- abort ();
- if (omp_get_thread_num () != 0)
- abort ();
- l = 0;
-#pragma omp parallel reduction (|:l)
- {
- l = omp_get_num_threads () != 3;
- l |= omp_get_thread_num () < 0;
- l |= omp_get_thread_num () >= 3;
-#pragma omp master
- l |= omp_get_thread_num () != 0;
- }
- if (l)
- abort ();
-
- if (omp_get_num_procs () <= 0)
- abort ();
- if (omp_in_parallel ())
- abort ();
-#pragma omp parallel reduction (|:l)
- l = ! omp_in_parallel ();
-#pragma omp parallel reduction (|:l) if (1)
- l = ! omp_in_parallel ();
-
- e = omp_get_wtime ();
- if (d > e)
- abort ();
- d = omp_get_wtick ();
- /* Negative precision is definitely wrong,
- bigger than 1s clock resolution is also strange. */
- if (d <= 0 || d > 1)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-2.c
deleted file mode 100644
index 3a3b3f655..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lib-2.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdlib.h>
-#include <omp.h>
-
-int
-main (void)
-{
- omp_sched_t kind;
- int modifier;
-
- omp_set_schedule (omp_sched_static, 32);
- omp_get_schedule (&kind, &modifier);
- if (kind != omp_sched_static || modifier != 32)
- abort ();
- omp_set_schedule (omp_sched_guided, 4);
- omp_get_schedule (&kind, &modifier);
- if (kind != omp_sched_guided || modifier != 4)
- abort ();
- if (omp_get_thread_limit () < 0)
- abort ();
- omp_set_max_active_levels (6);
- if (omp_get_max_active_levels () != 6)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-1.c
deleted file mode 100644
index e09645dbc..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int l = 0;
- omp_nest_lock_t lock;
- omp_init_nest_lock (&lock);
- if (omp_test_nest_lock (&lock) != 1)
- abort ();
- if (omp_test_nest_lock (&lock) != 2)
- abort ();
-#pragma omp parallel if (0) reduction (+:l)
- {
- /* In OpenMP 2.5 this was supposed to return 3,
- but in OpenMP 3.0 the parallel region has a different
- task and omp_*_lock_t are owned by tasks, not by threads. */
- if (omp_test_nest_lock (&lock) != 0)
- l++;
- }
- if (l)
- abort ();
- if (omp_test_nest_lock (&lock) != 3)
- abort ();
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- omp_destroy_nest_lock (&lock);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-2.c
deleted file mode 100644
index 9009b12fe..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int l = 0;
- omp_nest_lock_t lock;
- omp_init_nest_lock (&lock);
-#pragma omp parallel reduction (+:l) num_threads (1)
- {
- if (omp_test_nest_lock (&lock) != 1)
- l++;
- if (omp_test_nest_lock (&lock) != 2)
- l++;
- #pragma omp task if (0) shared (lock, l)
- {
- if (omp_test_nest_lock (&lock) != 0)
- l++;
- }
- #pragma omp taskwait
- if (omp_test_nest_lock (&lock) != 3)
- l++;
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- }
- if (l)
- abort ();
- omp_destroy_nest_lock (&lock);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-3.c
deleted file mode 100644
index 1fc83726d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/lock-3.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* { dg-do run { target *-*-linux* } } */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-#include <pthread.h>
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-pthread_barrier_t bar;
-omp_nest_lock_t lock;
-
-void *tf (void *p)
-{
- int l;
- if (p)
- {
- if (omp_test_nest_lock (&lock) != 1)
- abort ();
- if (omp_test_nest_lock (&lock) != 2)
- abort ();
- }
- pthread_barrier_wait (&bar);
- if (!p && omp_test_nest_lock (&lock) != 0)
- abort ();
- pthread_barrier_wait (&bar);
- if (p)
- {
- if (omp_test_nest_lock (&lock) != 3)
- abort ();
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- }
- pthread_barrier_wait (&bar);
- if (!p)
- {
- if (omp_test_nest_lock (&lock) != 1)
- abort ();
- if (omp_test_nest_lock (&lock) != 2)
- abort ();
- omp_unset_nest_lock (&lock);
- omp_unset_nest_lock (&lock);
- }
- return NULL;
-}
-
-int
-main (void)
-{
- pthread_t th;
- omp_init_nest_lock (&lock);
- pthread_barrier_init (&bar, NULL, 2);
- pthread_create (&th, NULL, tf, NULL);
- tf ("");
- pthread_join (th, NULL);
- omp_destroy_nest_lock (&lock);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-1.c
deleted file mode 100644
index 11348dcfe..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-1.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Test that all loop iterations are touched. This doesn't verify
- scheduling order, merely coverage. */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <string.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-#define N 10000
-static int S, E, INCR, CHUNK, NTHR;
-static int data[N];
-
-static void clean_data (void)
-{
- memset (data, -1, sizeof (data));
-}
-
-static void test_data (void)
-{
- int i, j;
-
- for (i = 0; i < S; ++i)
- assert (data[i] == -1);
-
- for (j = 0; i < E; ++i, j = (j + 1) % INCR)
- if (j == 0)
- assert (data[i] != -1);
- else
- assert (data[i] == -1);
-
- for (; i < N; ++i)
- assert (data[i] == -1);
-}
-
-static void set_data (long i, int val)
-{
- int old;
- assert (i >= 0 && i < N);
- old = __sync_lock_test_and_set (data+i, val);
- assert (old == -1);
-}
-
-
-#define TMPL_1(sched) \
-static void f_##sched##_1 (void *dummy) \
-{ \
- int iam = omp_get_thread_num (); \
- long s0, e0, i; \
- if (GOMP_loop_##sched##_start (S, E, INCR, CHUNK, &s0, &e0)) \
- do \
- { \
- for (i = s0; i < e0; i += INCR) \
- set_data (i, iam); \
- } \
- while (GOMP_loop_##sched##_next (&s0, &e0)); \
- GOMP_loop_end (); \
-} \
-static void t_##sched##_1 (void) \
-{ \
- clean_data (); \
- GOMP_parallel_start (f_##sched##_1, NULL, NTHR); \
- f_##sched##_1 (NULL); \
- GOMP_parallel_end (); \
- test_data (); \
-}
-
-TMPL_1(static)
-TMPL_1(dynamic)
-TMPL_1(guided)
-
-#define TMPL_2(sched) \
-static void f_##sched##_2 (void *dummy) \
-{ \
- int iam = omp_get_thread_num (); \
- long s0, e0, i; \
- while (GOMP_loop_##sched##_next (&s0, &e0)) \
- { \
- for (i = s0; i < e0; i += INCR) \
- set_data (i, iam); \
- } \
- GOMP_loop_end_nowait (); \
-} \
-static void t_##sched##_2 (void) \
-{ \
- clean_data (); \
- GOMP_parallel_loop_##sched##_start \
- (f_##sched##_2, NULL, NTHR, S, E, INCR, CHUNK); \
- f_##sched##_2 (NULL); \
- GOMP_parallel_end (); \
- test_data (); \
-}
-
-TMPL_2(static)
-TMPL_2(dynamic)
-TMPL_2(guided)
-
-static void test (void)
-{
- t_static_1 ();
- t_dynamic_1 ();
- t_guided_1 ();
- t_static_2 ();
- t_dynamic_2 ();
- t_guided_2 ();
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- NTHR = 4;
-
- S = 0, E = N, INCR = 1, CHUNK = 4;
- test ();
-
- S = 0, E = N, INCR = 2, CHUNK = 4;
- test ();
-
- S = 1, E = N-1, INCR = 1, CHUNK = 5;
- test ();
-
- S = 1, E = N-1, INCR = 2, CHUNK = 5;
- test ();
-
- S = 2, E = 4, INCR = 1, CHUNK = 1;
- test ();
-
- S = 0, E = N, INCR = 1, CHUNK = 0;
- t_static_1 ();
- t_static_2 ();
-
- S = 1, E = N-1, INCR = 1, CHUNK = 0;
- t_static_1 ();
- t_static_2 ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-10.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-10.c
deleted file mode 100644
index 1b42c4bf1..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-10.c
+++ /dev/null
@@ -1,30 +0,0 @@
-extern void abort (void);
-
-int i = 8;
-
-int main (void)
-{
- int j = 7, k = 0;
- #pragma omp for
- for (i = 0; i < 10; i++)
- ;
- #pragma omp for
- for (j = 0; j < 10; j++)
- ;
- /* OpenMP 3.0 newly guarantees that the original list items can't
- be shared with the privatized omp for iterators, even when
- the original list items are already private. */
- if (i != 8 || j != 7)
- abort ();
- #pragma omp parallel private (i) reduction (+:k)
- {
- i = 6;
- #pragma omp for
- for (i = 0; i < 10; i++)
- ;
- k = (i != 6);
- }
- if (k)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-11.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-11.c
deleted file mode 100644
index c5ac3c434..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-11.c
+++ /dev/null
@@ -1,276 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-test1 (void)
-{
- short int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test2 (void)
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test3 (void)
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test4 (void)
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[10]; &buf[54] > p; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[3]; &buf[63] >= p; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; &buf[51] > p; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[53]; &buf[9] < p; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[63]; &buf[3] <= p; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[48]; &buf[15] < p; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-main (void)
-{
- test1 ();
- test2 ();
- test3 ();
- omp_set_schedule (omp_sched_static, 0);
- test4 ();
- omp_set_schedule (omp_sched_static, 3);
- test4 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test4 ();
- omp_set_schedule (omp_sched_guided, 2);
- test4 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-12.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-12.c
deleted file mode 100644
index 395da363e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-12.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-
-extern void abort (void);
-
-#define LLONG_MAX __LONG_LONG_MAX__
-#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
-#define INT_MAX __INT_MAX__
-
-int arr[6 * 5];
-
-void
-set (int loopidx, int idx)
-{
-#pragma omp atomic
- arr[loopidx * 5 + idx]++;
-}
-
-#define check(var, val, loopidx, idx) \
- if (var == (val)) set (loopidx, idx); else
-#define test(loopidx, count) \
- for (idx = 0; idx < 5; idx++) \
- if (arr[loopidx * 5 + idx] != idx < count) \
- abort (); \
- else \
- arr[loopidx * 5 + idx] = 0
-
-int
-test1 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(dynamic,1) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test2 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(guided,1) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test3 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test4 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static,1) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test5 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(runtime) nowait
- for (i = LLONG_MAX - 30001; LLONG_MAX - 10001 >= i; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -LLONG_MAX + 30000; -LLONG_MAX + 10000 <= i; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = 20; LLONG_MAX - 70 >= j; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = ULLONG_MAX - 3; LLONG_MAX + 70ULL <= j; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = LLONG_MAX - 20000ULL; LLONG_MAX + 10000ULL >= j; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -3LL * INT_MAX - 20000LL; INT_MAX + 10000LL >= i; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-main (void)
-{
- if (2 * sizeof (int) != sizeof (long long))
- return 0;
- test1 ();
- test2 ();
- test3 ();
- test4 ();
- omp_set_schedule (omp_sched_static, 0);
- test5 ();
- omp_set_schedule (omp_sched_static, 3);
- test5 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test5 ();
- omp_set_schedule (omp_sched_guided, 2);
- test5 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-2.c
deleted file mode 100644
index 4bae023c7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-2.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Validate static scheduling iteration dispatch. We only test with
- even thread distributions here; there are multiple valid solutions
- for uneven thread distributions. */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <string.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-#define N 360
-static int data[N][2];
-static int INCR, NTHR, CHUNK;
-
-static void clean_data (void)
-{
- memset (data, -1, sizeof (data));
-}
-
-static void test_data (void)
-{
- int n, i, c, thr, iter, chunk;
-
- chunk = CHUNK;
- if (chunk == 0)
- chunk = N / INCR / NTHR;
-
- thr = iter = c = i = 0;
-
- for (n = 0; n < N; ++n)
- {
- if (i == 0)
- {
- assert (data[n][0] == thr);
- assert (data[n][1] == iter);
- }
- else
- {
- assert (data[n][0] == -1);
- assert (data[n][1] == -1);
- }
-
- if (++i == INCR)
- {
- i = 0;
- if (++c == chunk)
- {
- c = 0;
- if (++thr == NTHR)
- {
- thr = 0;
- ++iter;
- }
- }
- }
- }
-}
-
-static void set_data (long i, int thr, int iter)
-{
- int old;
- assert (i >= 0 && i < N);
- old = __sync_lock_test_and_set (&data[i][0], thr);
- assert (old == -1);
- old = __sync_lock_test_and_set (&data[i][1], iter);
- assert (old == -1);
-}
-
-static void f_static_1 (void *dummy)
-{
- int iam = omp_get_thread_num ();
- long s0, e0, i, count = 0;
- if (GOMP_loop_static_start (0, N, INCR, CHUNK, &s0, &e0))
- do
- {
- for (i = s0; i < e0; i += INCR)
- set_data (i, iam, count);
- ++count;
- }
- while (GOMP_loop_static_next (&s0, &e0));
- GOMP_loop_end ();
-}
-
-static void test (void)
-{
- clean_data ();
- GOMP_parallel_start (f_static_1, NULL, NTHR);
- f_static_1 (NULL);
- GOMP_parallel_end ();
- test_data ();
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- NTHR = 5;
-
- INCR = 1, CHUNK = 0; /* chunk = 360 / 5 = 72 */
- test ();
-
- INCR = 4, CHUNK = 0; /* chunk = 360 / 4 / 5 = 18 */
- test ();
-
- INCR = 1, CHUNK = 4; /* 1 * 4 * 5 = 20 -> 360 / 20 = 18 iterations. */
- test ();
-
- INCR = 3, CHUNK = 4; /* 3 * 4 * 5 = 60 -> 360 / 60 = 6 iterations. */
- test ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-3.c
deleted file mode 100644
index f0f9b4705..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-3.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* { dg-do run } */
-
-extern void abort (void);
-
-volatile int count;
-static int test(void)
-{
- return ++count > 0;
-}
-
-int i;
-
-int main()
-{
- #pragma omp for lastprivate (i)
- for (i = 0; i < 10; ++i)
- {
- if (test())
- continue;
- abort ();
- }
- if (i != count)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-4.c
deleted file mode 100644
index bc57c043a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-4.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* { dg-do run } */
-
-extern void abort (void);
-
-int
-main (void)
-{
- int e = 0;
-#pragma omp parallel num_threads (4) reduction(+:e)
- {
- long i;
- #pragma omp for schedule(dynamic,1)
- for (i = __LONG_MAX__ - 30001; i <= __LONG_MAX__ - 10001; i += 10000)
- if (i != __LONG_MAX__ - 30001
- && i != __LONG_MAX__ - 20001
- && i != __LONG_MAX__ - 10001)
- e = 1;
- #pragma omp for schedule(dynamic,1)
- for (i = -__LONG_MAX__ + 30000; i >= -__LONG_MAX__ + 10000; i -= 10000)
- if (i != -__LONG_MAX__ + 30000
- && i != -__LONG_MAX__ + 20000
- && i != -__LONG_MAX__ + 10000)
- e = 1;
- }
- if (e)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-5.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-5.c
deleted file mode 100644
index 3a5c7cf45..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-5.c
+++ /dev/null
@@ -1,276 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-test1 (void)
-{
- short int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test2 (void)
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (static, 3)
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test3 (void)
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (dynamic, 3)
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-test4 (void)
-{
- int buf[64], *p;
- int i;
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[10]; p < &buf[54]; p++)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[3]; p <= &buf[63]; p += 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; p < &buf[51]; p = 4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[16]; p <= &buf[40]; p = p + 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[53]; p > &buf[9]; --p)
- *p = 5;
- for (i = 0; i < 64; i++)
- if (buf[i] != 5 * (i >= 10 && i < 54))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[63]; p >= &buf[3]; p -= 2)
- p[-2] = 6;
- for (i = 0; i < 64; i++)
- if (buf[i] != 6 * ((i & 1) && i <= 61))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[48]; p > &buf[15]; p = -4 + p)
- p[2] = 7;
- for (i = 0; i < 64; i++)
- if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))
- abort ();
- memset (buf, '\0', sizeof (buf));
-#pragma omp parallel for schedule (runtime)
- for (p = &buf[40]; p >= &buf[16]; p = p - 4ULL)
- p[2] = -7;
- for (i = 0; i < 64; i++)
- if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))
- abort ();
- return 0;
-}
-
-int
-main (void)
-{
- test1 ();
- test2 ();
- test3 ();
- omp_set_schedule (omp_sched_static, 0);
- test4 ();
- omp_set_schedule (omp_sched_static, 3);
- test4 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test4 ();
- omp_set_schedule (omp_sched_guided, 2);
- test4 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-6.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-6.c
deleted file mode 100644
index 9029e181b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-6.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-
-extern void abort (void);
-
-#define LLONG_MAX __LONG_LONG_MAX__
-#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
-#define INT_MAX __INT_MAX__
-
-int arr[6 * 5];
-
-void
-set (int loopidx, int idx)
-{
-#pragma omp atomic
- arr[loopidx * 5 + idx]++;
-}
-
-#define check(var, val, loopidx, idx) \
- if (var == (val)) set (loopidx, idx); else
-#define test(loopidx, count) \
- for (idx = 0; idx < 5; idx++) \
- if (arr[loopidx * 5 + idx] != idx < count) \
- abort (); \
- else \
- arr[loopidx * 5 + idx] = 0
-
-int
-test1 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(dynamic,1) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(dynamic,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test2 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(guided,1) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(guided,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test3 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test4 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(static,1) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(static,1) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-test5 (void)
-{
- int e = 0, idx;
-
-#pragma omp parallel reduction(+:e)
- {
- long long i;
- unsigned long long j;
- #pragma omp for schedule(runtime) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- {
- check (i, LLONG_MAX - 30001, 0, 0)
- check (i, LLONG_MAX - 20001, 0, 1)
- check (i, LLONG_MAX - 10001, 0, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- {
- check (i, -LLONG_MAX + 30000, 1, 0)
- check (i, -LLONG_MAX + 20000, 1, 1)
- check (i, -LLONG_MAX + 10000, 1, 2)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- {
- check (j, 20, 2, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- {
- check (j, ULLONG_MAX - 3, 3, 0)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (j = LLONG_MAX - 20000ULL; j <= LLONG_MAX + 10000ULL; j += 10000ULL)
- {
- check (j, LLONG_MAX - 20000ULL, 4, 0)
- check (j, LLONG_MAX - 10000ULL, 4, 1)
- check (j, LLONG_MAX, 4, 2)
- check (j, LLONG_MAX + 10000ULL, 4, 3)
- e = 1;
- }
- #pragma omp for schedule(runtime) nowait
- for (i = -3LL * INT_MAX - 20000LL; i <= INT_MAX + 10000LL; i += INT_MAX + 200LL)
- {
- check (i, -3LL * INT_MAX - 20000LL, 5, 0)
- check (i, -2LL * INT_MAX - 20000LL + 200LL, 5, 1)
- check (i, -INT_MAX - 20000LL + 400LL, 5, 2)
- check (i, -20000LL + 600LL, 5, 3)
- check (i, INT_MAX - 20000LL + 800LL, 5, 4)
- e = 1;
- }
- }
- if (e)
- abort ();
- test (0, 3);
- test (1, 3);
- test (2, 1);
- test (3, 1);
- test (4, 4);
- test (5, 5);
- return 0;
-}
-
-int
-main (void)
-{
- if (2 * sizeof (int) != sizeof (long long))
- return 0;
- test1 ();
- test2 ();
- test3 ();
- test4 ();
- omp_set_schedule (omp_sched_static, 0);
- test5 ();
- omp_set_schedule (omp_sched_static, 3);
- test5 ();
- omp_set_schedule (omp_sched_dynamic, 5);
- test5 ();
- omp_set_schedule (omp_sched_guided, 2);
- test5 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-7.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-7.c
deleted file mode 100644
index fc97f4a29..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-7.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-
-extern void abort (void);
-
-#define LLONG_MAX __LONG_LONG_MAX__
-#define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
-#define INT_MAX __INT_MAX__
-
-int v;
-
-int
-test1 (void)
-{
- int e = 0, cnt = 0;
- long long i;
- unsigned long long j;
- char buf[6], *p;
-
- #pragma omp for schedule(dynamic,1) collapse(2) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- for (j = 20; j <= LLONG_MAX - 70; j += LLONG_MAX + 50ULL)
- if ((i != LLONG_MAX - 30001
- && i != LLONG_MAX - 20001
- && i != LLONG_MAX - 10001)
- || j != 20)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(guided,1) collapse(2) nowait
- for (i = -LLONG_MAX + 30000; i >= -LLONG_MAX + 10000; i -= 10000)
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- if ((i != -LLONG_MAX + 30000
- && i != -LLONG_MAX + 20000
- && i != -LLONG_MAX + 10000)
- || j != ULLONG_MAX - 3)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(static,1) collapse(2) nowait
- for (i = LLONG_MAX - 30001; i <= LLONG_MAX - 10001; i += 10000)
- for (j = 20; j <= LLONG_MAX - 70 + v; j += LLONG_MAX + 50ULL)
- if ((i != LLONG_MAX - 30001
- && i != LLONG_MAX - 20001
- && i != LLONG_MAX - 10001)
- || j != 20)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(static) collapse(2) nowait
- for (i = -LLONG_MAX + 30000 + v; i >= -LLONG_MAX + 10000; i -= 10000)
- for (j = ULLONG_MAX - 3; j >= LLONG_MAX + 70ULL; j -= LLONG_MAX + 50ULL)
- if ((i != -LLONG_MAX + 30000
- && i != -LLONG_MAX + 20000
- && i != -LLONG_MAX + 10000)
- || j != ULLONG_MAX - 3)
- e = 1;
- else
- cnt++;
- if (e || cnt != 3)
- abort ();
- else
- cnt = 0;
-
- #pragma omp for schedule(runtime) collapse(2) nowait
- for (i = 10; i < 30; i++)
- for (p = buf; p <= buf + 4; p += 2)
- if (i < 10 || i >= 30 || (p != buf && p != buf + 2 && p != buf + 4))
- e = 1;
- else
- cnt++;
- if (e || cnt != 60)
- abort ();
- else
- cnt = 0;
-
- return 0;
-}
-
-int
-main (void)
-{
- if (2 * sizeof (int) != sizeof (long long))
- return 0;
- asm volatile ("" : "+r" (v));
- omp_set_schedule (omp_sched_dynamic, 1);
- test1 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-8.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-8.c
deleted file mode 100644
index 25db25c3b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-8.c
+++ /dev/null
@@ -1,27 +0,0 @@
-extern void abort (void);
-
-int buf[256];
-
-void __attribute__((noinline))
-foo (void)
-{
- int i;
- #pragma omp for schedule (auto)
- for (i = 0; i < 256; i++)
- buf[i] += i;
-}
-
-int
-main (void)
-{
- int i;
- #pragma omp parallel for schedule (auto)
- for (i = 0; i < 256; i++)
- buf[i] = i;
- #pragma omp parallel num_threads (4)
- foo ();
- for (i = 0; i < 256; i++)
- if (buf[i] != 2 * i)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-9.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-9.c
deleted file mode 100644
index 1f789e12e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/loop-9.c
+++ /dev/null
@@ -1,18 +0,0 @@
-extern void abort (void);
-
-char buf[8] = "01234567";
-char buf2[8] = "23456789";
-
-int
-main (void)
-{
- char *p, *q;
- int sum = 0;
- #pragma omp parallel for collapse (2) reduction (+:sum) lastprivate (p, q)
- for (p = buf; p < &buf[8]; p++)
- for (q = &buf2[0]; q <= buf2 + 7; q++)
- sum += (*p - '0') + (*q - '0');
- if (p != &buf[8] || q != buf2 + 8 || sum != 576)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-1.c
deleted file mode 100644
index d3cfb0100..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = -1, j = -1;
-
- omp_set_nested (1);
- omp_set_dynamic (0);
-#pragma omp parallel num_threads (4)
- {
-#pragma omp single
- {
- i = omp_get_thread_num () + omp_get_num_threads () * 256;
-#pragma omp parallel num_threads (2)
- {
-#pragma omp single
- {
- j = omp_get_thread_num () + omp_get_num_threads () * 256;
- }
- }
- }
- }
- if (i < 4 * 256 || i >= 4 * 256 + 4)
- abort ();
- if (j < 2 * 256 || j >= 2 * 256 + 2)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-2.c
deleted file mode 100644
index f52b074ff..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = -1, j = -1;
-
- omp_set_nested (0);
- omp_set_dynamic (0);
-#pragma omp parallel num_threads (4)
- {
-#pragma omp single
- {
- i = omp_get_thread_num () + omp_get_num_threads () * 256;
-#pragma omp parallel num_threads (2)
- {
-#pragma omp single
- {
- j = omp_get_thread_num () + omp_get_num_threads () * 256;
- }
- }
- }
- }
- if (i < 4 * 256 || i >= 4 * 256 + 4)
- abort ();
- if (j != 256 + 0)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-3.c
deleted file mode 100644
index 618600633..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nested-3.c
+++ /dev/null
@@ -1,89 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-main (void)
-{
- int e[3];
-
- memset (e, '\0', sizeof (e));
- omp_set_nested (1);
- omp_set_dynamic (0);
- if (omp_in_parallel ()
- || omp_get_level () != 0
- || omp_get_ancestor_thread_num (0) != 0
- || omp_get_ancestor_thread_num (-1) != -1
- || omp_get_ancestor_thread_num (1) != -1
- || omp_get_team_size (0) != 1
- || omp_get_team_size (-1) != -1
- || omp_get_team_size (1) != -1
- || omp_get_active_level () != 0)
- abort ();
-#pragma omp parallel num_threads (4)
- {
- int tn1 = omp_get_thread_num ();
- if (omp_in_parallel () != 1
- || omp_get_num_threads () != 4
- || tn1 >= 4 || tn1 < 0
- || omp_get_level () != 1
- || omp_get_ancestor_thread_num (0) != 0
- || omp_get_ancestor_thread_num (1) != tn1
- || omp_get_ancestor_thread_num (-1) != -1
- || omp_get_ancestor_thread_num (2) != -1
- || omp_get_team_size (0) != 1
- || omp_get_team_size (1) != omp_get_num_threads ()
- || omp_get_team_size (-1) != -1
- || omp_get_team_size (2) != -1
- || omp_get_active_level () != 1)
- #pragma omp atomic
- e[0] += 1;
- #pragma omp parallel if (0) num_threads(5) firstprivate(tn1)
- {
- int tn2 = omp_get_thread_num ();
- if (omp_in_parallel () != 1
- || omp_get_num_threads () != 1
- || tn2 != 0
- || omp_get_level () != 2
- || omp_get_ancestor_thread_num (0) != 0
- || omp_get_ancestor_thread_num (1) != tn1
- || omp_get_ancestor_thread_num (2) != tn2
- || omp_get_ancestor_thread_num (-1) != -1
- || omp_get_ancestor_thread_num (3) != -1
- || omp_get_team_size (0) != 1
- || omp_get_team_size (1) != 4
- || omp_get_team_size (2) != 1
- || omp_get_team_size (-1) != -1
- || omp_get_team_size (3) != -1
- || omp_get_active_level () != 1)
- #pragma omp atomic
- e[1] += 1;
- #pragma omp parallel num_threads(2) firstprivate(tn1, tn2)
- {
- int tn3 = omp_get_thread_num ();
- if (omp_in_parallel () != 1
- || omp_get_num_threads () != 2
- || tn3 > 1 || tn3 < 0
- || omp_get_level () != 3
- || omp_get_ancestor_thread_num (0) != 0
- || omp_get_ancestor_thread_num (1) != tn1
- || omp_get_ancestor_thread_num (2) != tn2
- || omp_get_ancestor_thread_num (3) != tn3
- || omp_get_ancestor_thread_num (-1) != -1
- || omp_get_ancestor_thread_num (4) != -1
- || omp_get_team_size (0) != 1
- || omp_get_team_size (1) != 4
- || omp_get_team_size (2) != 1
- || omp_get_team_size (3) != 2
- || omp_get_team_size (-1) != -1
- || omp_get_team_size (4) != -1
- || omp_get_active_level () != 2)
- #pragma omp atomic
- e[2] += 1;
- }
- }
- }
- if (e[0] || e[1] || e[2])
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-1.c
deleted file mode 100644
index 26c0d237c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-1.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int a = 1, b = 2, c = 3;
- void
- foo (void)
- {
- int l = 0;
-#pragma omp parallel shared (a) private (b) firstprivate (c) \
- num_threads (2) reduction (||:l)
- {
- if (a != 1 || c != 3) l = 1;
-#pragma omp barrier
- if (omp_get_thread_num () == 0)
- {
- a = 4;
- b = 5;
- c = 6;
- }
-#pragma omp barrier
- if (omp_get_thread_num () == 1)
- {
- if (a != 4 || c != 3) l = 1;
- a = 7;
- b = 8;
- c = 9;
- }
- else if (omp_get_num_threads () == 1)
- a = 7;
-#pragma omp barrier
- if (omp_get_thread_num () == 0)
- if (a != 7 || b != 5 || c != 6) l = 1;
-#pragma omp barrier
- if (omp_get_thread_num () == 1)
- if (a != 7 || b != 8 || c != 9) l = 1;
- }
- if (l)
- abort ();
- }
- foo ();
- if (a != 7)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-2.c
deleted file mode 100644
index fdbbe0f73..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-2.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do run } */
-
-extern void abort (void);
-
-int
-main (void)
-{
- int i;
- void
- foo (void)
- {
-#pragma omp master
- i += 8;
- }
- i = 4;
- foo ();
- if (i != 12)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-3.c
deleted file mode 100644
index 8f8847f97..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-3.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-
-extern void abort (void);
-
-int
-main (void)
-{
- int i = 5, l = 0;
- int foo (void) { return i == 6; }
- int bar (void) { return i - 3; }
-
- omp_set_dynamic (0);
-
-#pragma omp parallel if (foo ()) num_threads (bar ()) reduction (|:l)
- if (omp_get_num_threads () != 1)
- l = 1;
-
- i++;
-
-#pragma omp parallel if (foo ()) num_threads (bar ()) reduction (|:l)
- if (omp_get_num_threads () != 3)
- l = 1;
-
- i++;
-
-#pragma omp master
- if (bar () != 4)
- abort ();
-
-#pragma omp single
- {
- if (foo ())
- abort ();
- i--;
- if (! foo ())
- abort ();
- }
-
- if (l)
- abort ();
-
- i = 8;
-#pragma omp atomic
- l += bar ();
-
- if (l != 5)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-4.c
deleted file mode 100644
index dbe1062bd..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-4.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* PR middle-end/25261 */
-/* { dg-do run } */
-
-#include <omp.h>
-
-extern void abort (void);
-
-int
-main (void)
-{
- int i = 5, j, l = 0;
- int foo (void)
- {
- return i == 6;
- }
- int bar (void)
- {
- return i - 3;
- }
-
- omp_set_dynamic (0);
-
-#pragma omp parallel if (foo ()) num_threads (2)
- if (omp_get_num_threads () != 1)
-#pragma omp atomic
- l++;
-
-#pragma omp parallel for schedule (static, bar ()) num_threads (2) \
- reduction (|:l)
- for (j = 0; j < 4; j++)
- if (omp_get_thread_num () != (j >= 2))
-#pragma omp atomic
- l++;
-
- i++;
-
-#pragma omp parallel if (foo ()) num_threads (2)
- if (omp_get_num_threads () != 2)
-#pragma omp atomic
- l++;
-
-#pragma omp parallel for schedule (static, bar ()) num_threads (2) \
- reduction (|:l)
- for (j = 0; j < 6; j++)
- if (omp_get_thread_num () != (j >= 3))
-#pragma omp atomic
- l++;
-
-#pragma omp parallel num_threads (4) reduction (|:l)
- if (!foo () || bar () != 3)
-#pragma omp atomic
- l++;
-
- i++;
-
-#pragma omp parallel num_threads (4) reduction (|:l)
- if (foo () || bar () != 4)
-#pragma omp atomic
- l++;
-
- if (l)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-5.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-5.c
deleted file mode 100644
index 6072b1fe3..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-5.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-extern void abort (void);
-
-void
-foo (int *j)
-{
- int i = 5;
- int bar (void) { return i + 1; }
-#pragma omp sections
- {
- #pragma omp section
- {
- if (bar () != 6)
- #pragma omp atomic
- ++*j;
- }
- #pragma omp section
- {
- if (bar () != 6)
- #pragma omp atomic
- ++*j;
- }
- }
-}
-
-int
-main (void)
-{
- int j = 0;
-#pragma omp parallel num_threads (2)
- foo (&j);
- if (j)
- abort ();
- return 0;
-}
-
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-6.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-6.c
deleted file mode 100644
index c0ace6b3f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nestedfn-6.c
+++ /dev/null
@@ -1,21 +0,0 @@
-extern void abort (void);
-
-int j;
-
-int
-main (void)
-{
- int i;
- void nested (void) { i = 0; }
-#pragma omp parallel for lastprivate (i)
- for (i = 0; i < 50; i += 3)
- ;
- if (i != 51)
- abort ();
-#pragma omp parallel for lastprivate (j)
- for (j = -50; j < 70; j += 7)
- ;
- if (j != 76)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nqueens-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/nqueens-1.c
deleted file mode 100644
index 1fdc67b29..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/nqueens-1.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-O2 -fopenmp" } */
-/* { dg-require-effective-target tls_runtime } */
-
-#include <omp.h>
-#include <stdio.h>
-#include <string.h>
-
-int cnt;
-#pragma omp threadprivate (cnt)
-
-void
-nqueens (char *a, int n, int pos)
-{
- /* b[i] = j means the queen in i-th row is in column j. */
- char b[pos + 1];
- int i, j;
- memcpy (b, a, pos);
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < pos; j++)
- if (b[j] == i || b[j] == i + pos - j || i == b[j] + pos - j)
- break;
- if (j < pos)
- continue;
- if (pos == n - 1)
- /* Found a solution. Could output it here. */
- ++cnt;
- else
- {
- b[pos] = i;
- #pragma omp task
- nqueens (b, n, pos + 1);
- }
- }
-}
-
-int
-main (int argc, char **argv)
-{
- int n = 8;
- if (argc >= 2)
- n = strtoul (argv[1], NULL, 0);
- if (n < 1 || n > 127)
- {
- fprintf (stderr, "invalid count %d\n", n);
- return 1;
- }
- cnt = 0;
- double stime = omp_get_wtime ();
- nqueens ("", n, 0);
- printf ("serial N %d solutions # %d time %f\n", n, cnt, omp_get_wtime () - stime);
- #pragma omp parallel
- cnt = 0;
- stime = omp_get_wtime ();
- int tempcnt = 0;
- #pragma omp parallel reduction (+:tempcnt)
- {
- #pragma omp single
- nqueens ("", n, 0);
- tempcnt = cnt;
- }
- cnt = tempcnt;
- printf ("parallel N %d solutions # %d time %f\n", n, cnt, omp_get_wtime () - stime);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop01.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop01.c
deleted file mode 100644
index 0e83c9583..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop01.c
+++ /dev/null
@@ -1,96 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <omp.h>
-
-#define MAX 1000
-
-void main1()
-{
- int i, N1, N2, step;
- int a[MAX], b[MAX];
-
- N1 = rand () % 13;
- N2 = rand () % (MAX - 51) + 50;
- step = rand () % 7 + 1;
-
- printf ("N1 = %d\nN2 = %d\nstep = %d\n", N1, N2, step);
-
- for (i = N1; i <= N2; i += step)
- a[i] = 42+ i;
-
- /* COUNTING UP (<). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N1; i < N2; i += step)
- b[i] = a[i];
- }
-
- /* COUNTING UP (<). Check that all the cells were filled in properly. */
- for (i = N1; i < N2; i += step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i < %d; i += %d) [OK]\n", N1, N2, step);
-
- /* COUNTING UP (<=). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N1; i <= N2; i += step)
- b[i] = a[i];
- }
-
- /* COUNTING UP (<=). Check that all the cells were filled in properly. */
- for (i = N1; i <= N2; i += step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i <= %d; i += %d) [OK]\n", N1, N2, step);
-
- /* COUNTING DOWN (>). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N2; i > N1; i -= step)
- b[i] = a[i];
- }
-
- /* COUNTING DOWN (>). Check that all the cells were filled in properly. */
- for (i = N2; i > N1; i -= step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i > %d; i -= %d) [OK]\n", N2, N1, step);
-
- /* COUNTING DOWN (>=). Fill in array 'b' in parallel. */
- memset (b, 0, sizeof b);
-#pragma omp parallel shared(a,b,N1,N2,step) private(i)
- {
-#pragma omp for
- for (i = N2; i >= N1; i -= step)
- b[i] = a[i];
- }
-
- /* COUNTING DOWN (>=). Check that all the cells were filled in properly. */
- for (i = N2; i >= N1; i -= step)
- if (a[i] != b[i])
- abort ();
-
- printf ("for (i = %d; i >= %d; i -= %d) [OK]\n", N2, N1, step);
-}
-
-int
-main ()
-{
- int i;
-
- srand (0);
- for (i = 0; i < 10; ++i)
- main1();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop02.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop02.c
deleted file mode 100644
index 04aaea2e3..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop02.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <omp.h>
-
-/* Orphaned work sharing. */
-
-extern void abort (void);
-
-#define N 10
-
-void parloop (int *a)
-{
- int i;
-
-#pragma omp for
- for (i = 0; i < N; i++)
- a[i] = i + 3;
-}
-
-main()
-{
- int i, a[N];
-
-#pragma omp parallel shared(a)
- {
- parloop (a);
- }
-
- for (i = 0; i < N; i++)
- if (a[i] != i + 3)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop03.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop03.c
deleted file mode 100644
index 7bb9a1943..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-loop03.c
+++ /dev/null
@@ -1,26 +0,0 @@
-extern void abort (void);
-int a;
-
-void
-foo ()
-{
- int i;
- a = 30;
-#pragma omp barrier
-#pragma omp for lastprivate (a)
- for (i = 0; i < 1024; i++)
- {
- a = i;
- }
- if (a != 1023)
- abort ();
-}
-
-int
-main (void)
-{
-#pragma omp parallel num_threads (64)
- foo ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-nested-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-nested-1.c
deleted file mode 100644
index 655ef26fa..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-nested-1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// { dg-do run }
-
-extern void abort(void);
-#define N 1000
-
-int foo()
-{
- int i = 0, j;
-
- #pragma omp parallel for num_threads(2) shared (i)
- for (j = 0; j < N; ++j)
- {
- #pragma omp parallel num_threads(1) shared (i)
- {
- #pragma omp atomic
- i++;
- }
- }
-
- return i;
-}
-
-int main()
-{
- if (foo() != N)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-for.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-for.c
deleted file mode 100644
index c6631a0a7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-for.c
+++ /dev/null
@@ -1,20 +0,0 @@
-extern void abort (void);
-
-main()
-{
- int i, a;
-
- a = 30;
-
-#pragma omp parallel for firstprivate (a) lastprivate (a) \
- num_threads (2) schedule(static)
- for (i = 0; i < 10; i++)
- a = a + i;
-
- /* The thread that owns the last iteration will have computed
- 30 + 5 + 6 + 7 + 8 + 9 = 65. */
- if (a != 65)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-if.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-if.c
deleted file mode 100644
index 5e378359a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-parallel-if.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <omp.h>
-
-extern void abort (void);
-
-int
-foo (void)
-{
- return 10;
-}
-
-main ()
-{
- int A = 0;
-
- #pragma omp parallel if (foo () > 10) shared (A)
- {
- A = omp_get_num_threads ();
- }
-
- if (A != 1)
- abort ();
-
- #pragma omp parallel if (foo () == 10) num_threads (3) shared (A)
- {
- A = omp_get_num_threads ();
- }
-
- if (A != 3)
- abort ();
-
- #pragma omp parallel if (foo () == 10) num_threads (foo ()) shared (A)
- {
- A = omp_get_num_threads ();
- }
-
- if (A != 10)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-1.c
deleted file mode 100644
index a44ca54ac..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-1.c
+++ /dev/null
@@ -1,19 +0,0 @@
-extern void abort (void);
-
-main()
-{
- int i = 0;
-
- #pragma omp parallel shared (i)
- {
- #pragma omp single
- {
- i++;
- }
- }
-
- if (i != 1)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c
deleted file mode 100644
index 687855973..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <omp.h>
-
-extern void abort (void);
-
-struct X
-{
- int a;
- char b;
- int c;
-};
-
-main()
-{
- int i = 0;
- struct X x;
- int bad = 0;
-
- #pragma omp parallel private (i, x) shared (bad)
- {
- i = 5;
-
- #pragma omp single copyprivate (i, x)
- {
- i++;
- x.a = 23;
- x.b = 42;
- x.c = 26;
- }
-
- if (i != 6 || x.a != 23 || x.b != 42 || x.c != 26)
- bad = 1;
- }
-
- if (bad)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-3.c
deleted file mode 100644
index 5a0653244..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-3.c
+++ /dev/null
@@ -1,21 +0,0 @@
-extern void abort (void);
-
-void
-single (int a, int b)
-{
- #pragma omp single copyprivate(a) copyprivate(b)
- {
- a = b = 5;
- }
-
- if (a != b)
- abort ();
-}
-
-int main()
-{
- #pragma omp parallel
- single (1, 2);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_hello.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_hello.c
deleted file mode 100644
index 8d58cd43b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_hello.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/******************************************************************************
-* FILE: omp_hello.c
-* DESCRIPTION:
-* OpenMP Example - Hello World - C/C++ Version
-* In this simple example, the master thread forks a parallel region.
-* All threads in the team obtain their unique thread number and print it.
-* The master thread only prints the total number of threads. Two OpenMP
-* library routines are used to obtain the number of threads and each
-* thread's number.
-* AUTHOR: Blaise Barney 5/99
-* LAST REVISED: 04/06/05
-******************************************************************************/
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int main (int argc, char *argv[]) {
-
-int nthreads, tid;
-
-/* Fork a team of threads giving them their own copies of variables */
-#pragma omp parallel private(nthreads, tid)
- {
-
- /* Obtain thread number */
- tid = omp_get_thread_num();
- printf("Hello World from thread = %d\n", tid);
-
- /* Only master thread does this */
- if (tid == 0)
- {
- nthreads = omp_get_num_threads();
- printf("Number of threads = %d\n", nthreads);
- }
-
- } /* All threads join master thread and disband */
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_matvec.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_matvec.c
deleted file mode 100644
index 12b8c6896..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_matvec.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/******************************************************************************
-* OpenMP Example - Matrix-vector multiplication - C/C++ Version
-* FILE: omp_matvec.c
-* DESCRIPTION:
-* This example multiplies all row i elements of matrix A with vector
-* element b(i) and stores the summed products in vector c(i). A total is
-* maintained for the entire matrix. Performed by using the OpenMP loop
-* work-sharing construct. The update of the shared global total is
-* serialized by using the OpenMP critical directive.
-* SOURCE: Blaise Barney 5/99
-* LAST REVISED:
-******************************************************************************/
-
-#include <omp.h>
-#include <stdio.h>
-#define SIZE 10
-
-
-main ()
-{
-
-float A[SIZE][SIZE], b[SIZE], c[SIZE], total;
-int i, j, tid;
-
-/* Initializations */
-total = 0.0;
-for (i=0; i < SIZE; i++)
- {
- for (j=0; j < SIZE; j++)
- A[i][j] = (j+1) * 1.0;
- b[i] = 1.0 * (i+1);
- c[i] = 0.0;
- }
-printf("\nStarting values of matrix A and vector b:\n");
-for (i=0; i < SIZE; i++)
- {
- printf(" A[%d]= ",i);
- for (j=0; j < SIZE; j++)
- printf("%.1f ",A[i][j]);
- printf(" b[%d]= %.1f\n",i,b[i]);
- }
-printf("\nResults by thread/row:\n");
-
-/* Create a team of threads and scope variables */
-#pragma omp parallel shared(A,b,c,total) private(tid,i)
- {
- tid = omp_get_thread_num();
-
-/* Loop work-sharing construct - distribute rows of matrix */
-#pragma omp for private(j)
- for (i=0; i < SIZE; i++)
- {
- for (j=0; j < SIZE; j++)
- c[i] += (A[i][j] * b[i]);
-
- /* Update and display of running total must be serialized */
- #pragma omp critical
- {
- total = total + c[i];
- printf(" thread %d did row %d\t c[%d]=%.2f\t",tid,i,i,c[i]);
- printf("Running total= %.2f\n",total);
- }
-
- } /* end of parallel i loop */
-
- } /* end of parallel construct */
-
-printf("\nMatrix-vector total - sum of all c[] = %.2f\n\n",total);
-
- return 0;
-}
-
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_orphan.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_orphan.c
deleted file mode 100644
index cbf7abf37..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_orphan.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************
-* FILE: omp_orphan.c
-* DESCRIPTION:
-* OpenMP Example - Parallel region with an orphaned directive - C/C++ Version
-* This example demonstrates a dot product being performed by an orphaned
-* loop reduction construct. Scoping of the reduction variable is critical.
-* AUTHOR: Blaise Barney 5/99
-* LAST REVISED: 04/06/05
-******************************************************************************/
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-#define VECLEN 100
-
-float a[VECLEN], b[VECLEN], sum;
-
-float dotprod ()
-{
-int i,tid;
-
-tid = omp_get_thread_num();
-#pragma omp for reduction(+:sum)
- for (i=0; i < VECLEN; i++)
- {
- sum = sum + (a[i]*b[i]);
- printf(" tid= %d i=%d\n",tid,i);
- }
-
-return(sum);
-}
-
-
-int main (int argc, char *argv[])
-{
-int i;
-
-for (i=0; i < VECLEN; i++)
- a[i] = b[i] = 1.0 * i;
-sum = 0.0;
-
-#pragma omp parallel
- sum = dotprod();
-
-printf("Sum = %f\n",sum);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_reduction.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_reduction.c
deleted file mode 100644
index 5c9c41ec7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_reduction.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/******************************************************************************
-* FILE: omp_reduction.c
-* DESCRIPTION:
-* OpenMP Example - Combined Parallel Loop Reduction - C/C++ Version
-* This example demonstrates a sum reduction within a combined parallel loop
-* construct. Notice that default data element scoping is assumed - there
-* are no clauses specifying shared or private variables. OpenMP will
-* automatically make loop index variables private within team threads, and
-* global variables shared.
-* AUTHOR: Blaise Barney 5/99
-* LAST REVISED: 04/06/05
-******************************************************************************/
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int main (int argc, char *argv[]) {
-
-int i, n;
-float a[100], b[100], sum;
-
-/* Some initializations */
-n = 100;
-for (i=0; i < n; i++)
- a[i] = b[i] = i * 1.0;
-sum = 0.0;
-
-#pragma omp parallel for reduction(+:sum)
- for (i=0; i < n; i++)
- sum = sum + (a[i] * b[i]);
-
-printf(" Sum = %f\n",sum);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare1.c
deleted file mode 100644
index e33bef316..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare1.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************
-* FILE: omp_workshare1.c
-* DESCRIPTION:
-* OpenMP Example - Loop Work-sharing - C/C++ Version
-* In this example, the iterations of a loop are scheduled dynamically
-* across the team of threads. A thread will perform CHUNK iterations
-* at a time before being scheduled for the next CHUNK of work.
-* AUTHOR: Blaise Barney 5/99
-* LAST REVISED: 04/06/05
-******************************************************************************/
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-#define CHUNKSIZE 10
-#define N 100
-
-int main (int argc, char *argv[]) {
-
-int nthreads, tid, i, chunk;
-float a[N], b[N], c[N];
-
-/* Some initializations */
-for (i=0; i < N; i++)
- a[i] = b[i] = i * 1.0;
-chunk = CHUNKSIZE;
-
-#pragma omp parallel shared(a,b,c,nthreads,chunk) private(i,tid)
- {
- tid = omp_get_thread_num();
- if (tid == 0)
- {
- nthreads = omp_get_num_threads();
- printf("Number of threads = %d\n", nthreads);
- }
- printf("Thread %d starting...\n",tid);
-
- #pragma omp for schedule(dynamic,chunk)
- for (i=0; i<N; i++)
- {
- c[i] = a[i] + b[i];
- printf("Thread %d: c[%d]= %f\n",tid,i,c[i]);
- }
-
- } /* end of parallel section */
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare2.c
deleted file mode 100644
index 32c93dbde..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare2.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/******************************************************************************
-* FILE: omp_workshare2.c
-* DESCRIPTION:
-* OpenMP Example - Sections Work-sharing - C/C++ Version
-* In this example, the OpenMP SECTION directive is used to assign
-* different array operations to threads that execute a SECTION. Each
-* thread receives its own copy of the result array to work with.
-* AUTHOR: Blaise Barney 5/99
-* LAST REVISED: 04/06/05
-******************************************************************************/
-#include <omp.h>
-#include <stdio.h>
-#include <stdlib.h>
-#define N 50
-
-int main (int argc, char *argv[]) {
-
-int i, nthreads, tid;
-float a[N], b[N], c[N];
-
-/* Some initializations */
-for (i=0; i<N; i++)
- a[i] = b[i] = i * 1.0;
-
-#pragma omp parallel shared(a,b,nthreads) private(c,i,tid)
- {
- tid = omp_get_thread_num();
- if (tid == 0)
- {
- nthreads = omp_get_num_threads();
- printf("Number of threads = %d\n", nthreads);
- }
- printf("Thread %d starting...\n",tid);
-
- #pragma omp sections nowait
- {
- #pragma omp section
- {
- printf("Thread %d doing section 1\n",tid);
- for (i=0; i<N; i++)
- {
- c[i] = a[i] + b[i];
- printf("Thread %d: c[%d]= %f\n",tid,i,c[i]);
- }
- }
-
- #pragma omp section
- {
- printf("Thread %d doing section 2\n",tid);
- for (i=0; i<N; i++)
- {
- c[i] = a[i] * b[i];
- printf("Thread %d: c[%d]= %f\n",tid,i,c[i]);
- }
- }
-
- } /* end of sections */
-
- printf("Thread %d done.\n",tid);
-
- } /* end of parallel section */
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare3.c
deleted file mode 100644
index 913f1f731..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare3.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* { dg-do compile } */
-
-/******************************************************************************
-* OpenMP Example - Combined Parallel Loop Work-sharing - C/C++ Version
-* FILE: omp_workshare3.c
-* DESCRIPTION:
-* This example attempts to show use of the parallel for construct. However
-* it will generate errors at compile time. Try to determine what is causing
-* the error. See omp_workshare4.c for a corrected version.
-* SOURCE: Blaise Barney 5/99
-* LAST REVISED: 03/03/2002
-******************************************************************************/
-
-#include <omp.h>
-#include <stdio.h>
-#define N 50
-#define CHUNKSIZE 5
-
-main () {
-
-int i, chunk, tid;
-float a[N], b[N], c[N];
-
-/* Some initializations */
-for (i=0; i < N; i++)
- a[i] = b[i] = i * 1.0;
-chunk = CHUNKSIZE;
-
-#pragma omp parallel for \
- shared(a,b,c,chunk) \
- private(i,tid) \
- schedule(static,chunk)
- { /* { dg-error "expected" } */
- tid = omp_get_thread_num();
- for (i=0; i < N; i++)
- {
- c[i] = a[i] + b[i];
- printf("tid= %d i= %d c[i]= %f\n", tid, i, c[i]);
- }
- } /* end of parallel for construct */
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare4.c
deleted file mode 100644
index 67605e38b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp_workshare4.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/******************************************************************************
-* OpenMP Example - Combined Parallel Loop Work-sharing - C/C++ Version
-* FILE: omp_workshare4.c
-* DESCRIPTION:
-* This is a corrected version of the omp_workshare3.c example. Corrections
-* include removing all statements between the parallel for construct and
-* the actual for loop, and introducing logic to preserve the ability to
-* query a thread's id and print it from inside the for loop.
-* SOURCE: Blaise Barney 5/99
-* LAST REVISED: 03/03/2002
-******************************************************************************/
-
-#include <omp.h>
-#include <stdio.h>
-#define N 50
-#define CHUNKSIZE 5
-
-main () {
-
-int i, chunk, tid;
-float a[N], b[N], c[N];
-char first_time;
-
-/* Some initializations */
-for (i=0; i < N; i++)
- a[i] = b[i] = i * 1.0;
-chunk = CHUNKSIZE;
-first_time = 'y';
-
-#pragma omp parallel for \
- shared(a,b,c,chunk) \
- private(i,tid) \
- schedule(static,chunk) \
- firstprivate(first_time)
-
- for (i=0; i < N; i++)
- {
- if (first_time == 'y')
- {
- tid = omp_get_thread_num();
- first_time = 'n';
- }
- c[i] = a[i] + b[i];
- printf("tid= %d i= %d c[i]= %f\n", tid, i, c[i]);
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-1.c
deleted file mode 100644
index c6143fac2..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-1.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Test that all loop iterations are touched. This doesn't verify
- scheduling order, merely coverage. */
-/* Note that we never call GOMP_ordered_start in here. AFAICS, this is
- valid; the only requirement is "not more than once per iteration". */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <string.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-#define N 1000
-static int S, E, INCR, CHUNK, NTHR;
-static int data[N];
-
-static void clean_data (void)
-{
- memset (data, -1, sizeof (data));
-}
-
-static void test_data (void)
-{
- int i, j;
-
- for (i = 0; i < S; ++i)
- assert (data[i] == -1);
-
- for (j = 0; i < E; ++i, j = (j + 1) % INCR)
- if (j == 0)
- assert (data[i] != -1);
- else
- assert (data[i] == -1);
-
- for (; i < N; ++i)
- assert (data[i] == -1);
-}
-
-static void set_data (long i, int val)
-{
- int old;
- assert (i >= 0 && i < N);
- old = __sync_lock_test_and_set (data+i, val);
- assert (old == -1);
-}
-
-
-#define TMPL_1(sched) \
-static void f_##sched##_1 (void *dummy) \
-{ \
- int iam = omp_get_thread_num (); \
- long s0, e0, i; \
- if (GOMP_loop_ordered_##sched##_start (S, E, INCR, CHUNK, &s0, &e0)) \
- do \
- { \
- for (i = s0; i < e0; i += INCR) \
- set_data (i, iam); \
- } \
- while (GOMP_loop_ordered_##sched##_next (&s0, &e0)); \
- GOMP_loop_end (); \
-} \
-static void t_##sched##_1 (void) \
-{ \
- clean_data (); \
- GOMP_parallel_start (f_##sched##_1, NULL, NTHR); \
- f_##sched##_1 (NULL); \
- GOMP_parallel_end (); \
- test_data (); \
-}
-
-TMPL_1(static)
-TMPL_1(dynamic)
-TMPL_1(guided)
-
-static void test (void)
-{
- t_static_1 ();
- t_dynamic_1 ();
- t_guided_1 ();
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- NTHR = 4;
-
- S = 0, E = N, INCR = 1, CHUNK = 4;
- test ();
-
- S = 0, E = N, INCR = 2, CHUNK = 4;
- test ();
-
- S = 1, E = N-1, INCR = 1, CHUNK = 5;
- test ();
-
- S = 1, E = N-1, INCR = 2, CHUNK = 5;
- test ();
-
- S = 2, E = 4, INCR = 1, CHUNK = 1;
- test ();
-
- S = 0, E = N, INCR = 1, CHUNK = 0;
- t_static_1 ();
-
- S = 1, E = N-1, INCR = 1, CHUNK = 0;
- t_static_1 ();
-
- NTHR = 10;
- S = 1, E = 9, INCR = 1, CHUNK = 0;
- t_static_1 ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-2.c
deleted file mode 100644
index 91564371a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-2.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Trivial test of ordered. */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <string.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-#define N 100
-static int next;
-static int CHUNK, NTHR;
-
-static void clean_data (void)
-{
- next = 0;
-}
-
-static void set_data (long i)
-{
- int n = __sync_fetch_and_add (&next, 1);
- assert (n == i);
-}
-
-
-#define TMPL_1(sched) \
-static void f_##sched##_1 (void *dummy) \
-{ \
- long s0, e0, i; \
- if (GOMP_loop_ordered_##sched##_start (0, N, 1, CHUNK, &s0, &e0)) \
- do \
- { \
- for (i = s0; i < e0; ++i) \
- { \
- GOMP_ordered_start (); \
- set_data (i); \
- GOMP_ordered_end (); \
- } \
- } \
- while (GOMP_loop_ordered_##sched##_next (&s0, &e0)); \
- GOMP_loop_end (); \
-} \
-static void t_##sched##_1 (void) \
-{ \
- clean_data (); \
- GOMP_parallel_start (f_##sched##_1, NULL, NTHR); \
- f_##sched##_1 (NULL); \
- GOMP_parallel_end (); \
-}
-
-TMPL_1(static)
-TMPL_1(dynamic)
-TMPL_1(guided)
-
-static void test (void)
-{
- t_static_1 ();
- t_dynamic_1 ();
- t_guided_1 ();
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- NTHR = 4;
-
- CHUNK = 1;
- test ();
-
- CHUNK = 5;
- test ();
-
- CHUNK = 7;
- test ();
-
- CHUNK = 0;
- t_static_1 ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-3.c
deleted file mode 100644
index 2a2f21970..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/ordered-3.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <stdlib.h>
-
-int cnt;
-
-void
-check (int x)
-{
- if (cnt++ != x)
- abort ();
-}
-
-int
-main (void)
-{
- int j;
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (static, 1) num_threads (4) if (0)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (static, 1) num_threads (4) if (1)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (runtime) num_threads (4) if (0)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (runtime) num_threads (4) if (1)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (dynamic) num_threads (4) if (0)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (dynamic) num_threads (4) if (1)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (guided) num_threads (4) if (0)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- cnt = 0;
-#pragma omp parallel for ordered schedule (guided) num_threads (4) if (1)
- for (j = 0; j < 1000; j++)
- {
-#pragma omp ordered
- check (j);
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/parallel-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/parallel-1.c
deleted file mode 100644
index 031f5bf88..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/parallel-1.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Trivial test of thread startup. */
-
-#include <omp.h>
-#include <string.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-static int nthr;
-static int saw[4];
-
-static void function(void *dummy)
-{
- int iam = omp_get_thread_num ();
-
- if (iam == 0)
- nthr = omp_get_num_threads ();
-
- saw[iam] = 1;
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- GOMP_parallel_start (function, NULL, 2);
- function (NULL);
- GOMP_parallel_end ();
-
- assert (nthr == 2);
- assert (saw[0] != 0);
- assert (saw[1] != 0);
- assert (saw[2] == 0);
-
- memset (saw, 0, sizeof (saw));
-
- GOMP_parallel_start (function, NULL, 3);
- function (NULL);
- GOMP_parallel_end ();
-
- assert (nthr == 3);
- assert (saw[0] != 0);
- assert (saw[1] != 0);
- assert (saw[2] != 0);
- assert (saw[3] == 0);
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455-1.c
deleted file mode 100644
index c39068f80..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455-1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-/* { dg-do compile } */
-/* { dg-require-effective-target tls } */
-extern int i;
-#pragma omp threadprivate (i)
-
-int i;
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455.c
deleted file mode 100644
index 8af449e7b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr24455.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* { dg-do run } */
-/* { dg-additional-sources pr24455-1.c } */
-/* { dg-require-effective-target tls_runtime } */
-
-extern void abort (void);
-
-extern int i;
-#pragma omp threadprivate(i)
-
-int main()
-{
- i = 0;
-
-#pragma omp parallel default(none) num_threads(10)
- {
- i++;
-#pragma omp barrier
- if (i != 1)
- abort ();
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26171.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26171.c
deleted file mode 100644
index eacc9a71d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26171.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/* PR c/26171 */
-/* { dg-do run } */
-/* { dg-options "-fopenmp" } */
-/* { dg-require-effective-target tls_runtime } */
-
-int thrv = 0;
-#pragma omp threadprivate (thrv)
-
-int
-main ()
-{
- thrv = 1;
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-1.c
deleted file mode 100644
index 86c43f04b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* PR c++/26943 */
-/* { dg-do run } */
-
-extern void abort (void);
-extern void omp_set_dynamic (int);
-int n = 6;
-
-int
-main (void)
-{
- int i, x = 0;
- omp_set_dynamic (0);
-#pragma omp parallel for num_threads (16) firstprivate (n) lastprivate (n) \
- schedule (static, 1) reduction (+: x)
- for (i = 0; i < 16; i++)
- {
- if (n != 6)
- ++x;
- n = i;
- }
- if (x || n != 15)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-2.c
deleted file mode 100644
index c052e8112..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-2.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* PR c++/26943 */
-/* { dg-do run } */
-
-extern int omp_set_dynamic (int);
-extern void abort (void);
-
-int a = 8, b = 12, c = 16, d = 20, j = 0;
-char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
-
-int
-main (void)
-{
- int i;
- omp_set_dynamic (0);
-#pragma omp parallel for shared (a, e) firstprivate (b, f) \
- lastprivate (c, g) private (d, h) \
- schedule (static, 1) num_threads (4) \
- reduction (+:j)
- for (i = 0; i < 4; i++)
- {
- if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
- j++;
-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
-#pragma omp atomic
- a += i;
- b += i;
- c = i;
- d = i;
-#pragma omp atomic
- e[0] += i;
- f[0] += i;
- g[0] = 'g' + i;
- h[0] = 'h' + i;
-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
- if (a != 8 + 6 || b != 12 + i || c != i || d != i)
- j += 8;
- if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
- j += 64;
- if (h[0] != 'h' + i)
- j += 512;
- }
- if (j || a != 8 + 6 || b != 12 || c != 3 || d != 20)
- abort ();
- if (e[0] != 'a' + 6 || f[0] != 'b' || g[0] != 'g' + 3 || h[0] != 'd')
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-3.c
deleted file mode 100644
index dc3d5010d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-3.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* PR c++/26943 */
-/* { dg-do run } */
-
-extern int omp_set_dynamic (int);
-extern int omp_get_thread_num (void);
-extern void abort (void);
-
-int a = 8, b = 12, c = 16, d = 20, j = 0, l = 0;
-char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
-volatile int k;
-
-int
-main (void)
-{
- int i;
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel num_threads (2) reduction (+:l)
- if (k == omp_get_thread_num ())
- {
-#pragma omp parallel for shared (a, e) firstprivate (b, f) \
- lastprivate (c, g) private (d, h) \
- schedule (static, 1) num_threads (4) \
- reduction (+:j)
- for (i = 0; i < 4; i++)
- {
- if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
- j++;
-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
-#pragma omp atomic
- a += i;
- b += i;
- c = i;
- d = i;
-#pragma omp atomic
- e[0] += i;
- f[0] += i;
- g[0] = 'g' + i;
- h[0] = 'h' + i;
-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
- if (a != 8 + 6 || b != 12 + i || c != i || d != i)
- j += 8;
- if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
- j += 64;
- if (h[0] != 'h' + i)
- j += 512;
- }
- if (j || a != 8 + 6 || b != 12 || c != 3 || d != 20)
- ++l;
- if (e[0] != 'a' + 6 || f[0] != 'b' || g[0] != 'g' + 3 || h[0] != 'd')
- l += 8;
- }
- if (l)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-4.c
deleted file mode 100644
index 0f1d4197a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr26943-4.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* PR c++/26943 */
-/* { dg-do run } */
-
-extern int omp_set_dynamic (int);
-extern int omp_get_thread_num (void);
-extern void abort (void);
-
-int a = 8, b = 12, c = 16, d = 20, j = 0, l = 0;
-char e[10] = "a", f[10] = "b", g[10] = "c", h[10] = "d";
-volatile int k;
-
-int
-main (void)
-{
- int i;
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel num_threads (2) reduction (+:l) \
- firstprivate (a, b, c, d, e, f, g, h, j)
- if (k == omp_get_thread_num ())
- {
-#pragma omp parallel for shared (a, e) firstprivate (b, f) \
- lastprivate (c, g) private (d, h) \
- schedule (static, 1) num_threads (4) \
- reduction (+:j)
- for (i = 0; i < 4; i++)
- {
- if (a != 8 || b != 12 || e[0] != 'a' || f[0] != 'b')
- j++;
-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
-#pragma omp atomic
- a += i;
- b += i;
- c = i;
- d = i;
-#pragma omp atomic
- e[0] += i;
- f[0] += i;
- g[0] = 'g' + i;
- h[0] = 'h' + i;
-#pragma omp barrier /* { dg-warning "may not be closely nested" } */
- if (a != 8 + 6 || b != 12 + i || c != i || d != i)
- j += 8;
- if (e[0] != 'a' + 6 || f[0] != 'b' + i || g[0] != 'g' + i)
- j += 64;
- if (h[0] != 'h' + i)
- j += 512;
- }
- if (j || a != 8 + 6 || b != 12 || c != 3 || d != 20)
- ++l;
- if (e[0] != 'a' + 6 || f[0] != 'b' || g[0] != 'g' + 3 || h[0] != 'd')
- l += 8;
- }
- if (l)
- abort ();
- if (a != 8 || b != 12 || c != 16 || d != 20)
- abort ();
- if (e[0] != 'a' || f[0] != 'b' || g[0] != 'c' || h[0] != 'd')
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-1.c
deleted file mode 100644
index 509c63229..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-1.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/* PR libgomp/29947 */
-
-/* { dg-do run } */
-
-extern void abort (void);
-
-int cnt;
-
-void
-test1 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (dynamic)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test2 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (dynamic)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test3 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (guided)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test4 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (guided)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test5 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (dynamic) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test6 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (dynamic) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test7 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (guided) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test8 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (guided) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test9 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (dynamic)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test10 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (dynamic)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test11 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (guided)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test12 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (guided)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test13 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (dynamic) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test14 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (dynamic) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test15 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (guided) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test16 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (guided) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-int
-__attribute__((noinline))
-test (long j1, long k1, long j2, long k2)
-{
- test1 (j1, k1, j2, k2);
- test2 (j1, k1, j2, k2);
- test3 (j1, k1, j2, k2);
- test4 (j1, k1, j2, k2);
- test5 (j1, k1, j2, k2);
- test6 (j1, k1, j2, k2);
- test7 (j1, k1, j2, k2);
- test8 (j1, k1, j2, k2);
- test9 (j1, k1, j2, k2);
- test10 (j1, k1, j2, k2);
- test11 (j1, k1, j2, k2);
- test12 (j1, k1, j2, k2);
- test13 (j1, k1, j2, k2);
- test14 (j1, k1, j2, k2);
- test15 (j1, k1, j2, k2);
- test16 (j1, k1, j2, k2);
- return cnt;
-}
-
-int
-main (void)
-{
- test (1, 5, 1, 5);
- test (5, 5, 5, 5);
- test (5, 4, 5, 4);
- test (5, 1, 5, 1);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-2.c
deleted file mode 100644
index 097498311..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr29947-2.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/* PR libgomp/29947 */
-
-/* { dg-do run } */
-
-extern void abort (void);
-
-int cnt;
-
-void
-test1 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test2 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test3 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static, 1)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test4 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static, 1)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test5 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test6 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test7 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static, 1) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test8 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel reduction (+:e,c)
- {
-#pragma omp for schedule (static, 1) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
-#pragma omp atomic
- ++cnt;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test9 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test10 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test11 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static, 1)
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test12 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static, 1)
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test13 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test14 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test15 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static, 1) ordered
- for (i = j1; i <= k1; ++i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-void
-test16 (long j1, long k1, long j2, long k2)
-{
- long i, e = 0, c = 0;
-#pragma omp parallel for reduction (+:e,c) schedule (static, 1) ordered
- for (i = k1; i >= j1; --i)
- {
- if (i < j2 || i > k2)
- ++e;
-#pragma omp ordered
- ++c;
- }
- if (e || (c != j2 > k2 ? 0 : k2 - j2 + 1))
- abort ();
-}
-
-int
-__attribute__((noinline))
-test (long j1, long k1, long j2, long k2)
-{
- test1 (j1, k1, j2, k2);
- test2 (j1, k1, j2, k2);
- test3 (j1, k1, j2, k2);
- test4 (j1, k1, j2, k2);
- test5 (j1, k1, j2, k2);
- test6 (j1, k1, j2, k2);
- test7 (j1, k1, j2, k2);
- test8 (j1, k1, j2, k2);
- test9 (j1, k1, j2, k2);
- test10 (j1, k1, j2, k2);
- test11 (j1, k1, j2, k2);
- test12 (j1, k1, j2, k2);
- test13 (j1, k1, j2, k2);
- test14 (j1, k1, j2, k2);
- test15 (j1, k1, j2, k2);
- test16 (j1, k1, j2, k2);
- return cnt;
-}
-
-int
-main (void)
-{
- test (1, 5, 1, 5);
- test (5, 5, 5, 5);
- test (5, 4, 5, 4);
- test (5, 1, 5, 1);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr30494.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr30494.c
deleted file mode 100644
index ec6828e44..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr30494.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* PR middle-end/30494 */
-/* { dg-do run } */
-
-#include <omp.h>
-
-int errors;
-
-int
-check (int m, int i, int *v, int *w)
-{
- int j;
- int n = omp_get_thread_num ();
- for (j = 0; j < m; j++)
- if (v[j] != j + n)
- #pragma omp atomic
- errors += 1;
- for (j = 0; j < m * 3 + i; j++)
- if (w[j] != j + 10 + n)
- #pragma omp atomic
- errors += 1;
-}
-
-int
-foo (int n, int m)
-{
- int i;
-#pragma omp for
- for (i = 0; i < 6; i++)
- {
- int v[n], w[n * 3 + i], j;
- for (j = 0; j < n; j++)
- v[j] = j + omp_get_thread_num ();
- for (j = 0; j < n * 3 + i; j++)
- w[j] = j + 10 + omp_get_thread_num ();
- check (m, i, v, w);
- }
- return 0;
-}
-
-int
-bar (int n, int m)
-{
- int i;
-#pragma omp parallel for num_threads (4)
- for (i = 0; i < 6; i++)
- {
- int v[n], w[n * 3 + i], j;
- for (j = 0; j < n; j++)
- v[j] = j + omp_get_thread_num ();
- for (j = 0; j < n * 3 + i; j++)
- w[j] = j + 10 + omp_get_thread_num ();
- check (m, i, v, w);
- }
- return 0;
-}
-
-int
-main (void)
-{
-#pragma omp parallel num_threads (3)
- foo (128, 128);
- bar (256, 256);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-1.c
deleted file mode 100644
index 3c62d4bdb..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-1.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* PR middle-end/32362 */
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main ()
-{
- int n[4] = { -1, -1, -1, -1 };
- static int a = 2, b = 4;
- omp_set_num_threads (4);
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel private(b)
- {
- b = omp_get_thread_num ();
-#pragma omp parallel firstprivate(a)
- {
- a = (omp_get_thread_num () + a) + 1;
- if (b == omp_get_thread_num ())
- n[omp_get_thread_num ()] = a + (b << 4);
- }
- }
- if (n[0] != 3)
- abort ();
- if (n[3] != -1
- && (n[1] != 0x14 || n[2] != 0x25 || n[3] != 0x36))
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-2.c
deleted file mode 100644
index 43f36e0e9..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* PR middle-end/32362 */
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int a = 2, b = 4;
-
-int
-main ()
-{
- int n[4] = { -1, -1, -1, -1 };
- omp_set_num_threads (4);
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel private(b)
- {
- b = omp_get_thread_num ();
-#pragma omp parallel firstprivate(a)
- {
- a = (omp_get_thread_num () + a) + 1;
- if (b == omp_get_thread_num ())
- n[omp_get_thread_num ()] = a + (b << 4);
- }
- }
- if (n[0] != 3)
- abort ();
- if (n[3] != -1
- && (n[1] != 0x14 || n[2] != 0x25 || n[3] != 0x36))
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-3.c
deleted file mode 100644
index 09a88f52a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32362-3.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* PR middle-end/32362 */
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int a = 2;
-
-int
-main ()
-{
- int n[4] = { -1, -1, -1, -1 };
- int b = 4;
- omp_set_num_threads (4);
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel private(b)
- {
- b = omp_get_thread_num ();
-#pragma omp parallel firstprivate(a)
- {
- a = (omp_get_thread_num () + a) + 1;
- if (b == omp_get_thread_num ())
- n[omp_get_thread_num ()] = a + (b << 4);
- }
- }
- if (n[0] != 3)
- abort ();
- if (n[3] != -1
- && (n[1] != 0x14 || n[2] != 0x25 || n[3] != 0x36))
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32468.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32468.c
deleted file mode 100644
index f20f660bf..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr32468.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* PR libgomp/32468 */
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int res[2] = { -1, -1 };
- omp_set_dynamic (0);
- omp_set_num_threads (4);
-#pragma omp parallel
- {
- #pragma omp sections
- {
- #pragma omp section
- res[0] = omp_get_num_threads () != 4;
- #pragma omp section
- res[1] = omp_get_num_threads () != 4;
- }
- }
- if (res[0] != 0 || res[1] != 0)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c
deleted file mode 100644
index 5d719cd63..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* PR middle-end/33880 */
-/* { dg-do run } */
-
-extern void abort (void);
-
-void
-test1 (void)
-{
- int i = 0, j = 0;
- void bar (void)
- {
- i++;
- j++;
- }
- bar ();
- #pragma omp parallel for num_threads(4)
- for (i = 0; i < 100; i++)
- #pragma omp atomic
- j += 1;
- if (j != 101)
- abort ();
- #pragma omp parallel for lastprivate(i) num_threads(2)
- for (i = 0; i < 100; i++)
- #pragma omp atomic
- j += 1;
- if (i != 100)
- abort ();
- i = 3;
- bar ();
- if (j != 202)
- abort ();
- if (i != 4)
- abort ();
-}
-
-void
-test2 (void)
-{
- int i = -1, j = 99, k, l = 9, m = 0;
- void bar (void)
- {
- i++;
- j++;
- l++;
- m++;
- }
- bar ();
- #pragma omp parallel for num_threads(4)
- for (k = i; k < j; k += l)
- #pragma omp atomic
- m += 1;
- bar ();
- if (i != 1 || j != 101 || l != 11 || m != 12)
- abort ();
-}
-
-void
-test3 (void)
-{
- int i, j, k, l, m;
- void bar (void)
- {
- #pragma omp parallel for num_threads(4)
- for (i = j; i < k; i += l)
- #pragma omp atomic
- m += 1;
- }
- void baz (void)
- {
- #pragma omp parallel for num_threads(2) lastprivate(i)
- for (i = j; i < k * 2; i += l / 2)
- #pragma omp atomic
- m += 1;
- }
- i = 7;
- j = 0;
- k = 100;
- l = 2;
- m = 0;
- bar ();
- if (j != 0 || k != 100 || l != 2 || m != 50)
- abort ();
- baz ();
- if (i != 200 || j != 0 || k != 100 || l != 2 || m != 250)
- abort ();
-}
-
-void
-test4 (void)
-{
- int i, j, k, l, m = 0;
- int foo (void)
- {
- return j;
- }
- int bar (void)
- {
- return k;
- }
- int baz (void)
- {
- return l;
- }
- j = 0;
- k = 1000;
- l = 2;
- #pragma omp parallel for num_threads(8) lastprivate(i)
- for (i = foo (); i < bar (); i += baz ())
- #pragma omp atomic
- m += 1;
- if (i != 1000 || m != 500 || j != 0 || k != 1000 || l != 2)
- abort ();
-}
-
-int
-main (void)
-{
- test1 ();
- test2 ();
- test3 ();
- test4 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr34513.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr34513.c
deleted file mode 100644
index 76c7ac1f3..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr34513.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* PR c++/34513 */
-/* { dg-do run } */
-
-#include <omp.h>
-
-extern void abort ();
-
-static int errors = 0;
-static int thrs = 4;
-
-int
-main ()
-{
- omp_set_dynamic (0);
-
- #pragma omp parallel num_threads (thrs)
- {
- static int shrd = 0;
-
- #pragma omp atomic
- shrd += 1;
-
- #pragma omp barrier
-
- if (shrd != thrs)
- #pragma omp atomic
- errors += 1;
- }
-
- if (errors)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35130.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35130.c
deleted file mode 100644
index 12962d807..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35130.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/* PR middle-end/35130 */
-
-extern void abort (void);
-
-void
-f1 (void)
-{
- int a[4], k;
- void nested (int x)
- {
- a[x] = 42;
- }
-
- for (k = 0; k < 4; k++)
- a[k] = 0;
-#pragma omp parallel for
- for (k = 0; k < 4; k++)
- nested (k);
-
- if (a[0] != 42 || a[1] != 42 || a[2] != 42 || a[3] != 42)
- abort ();
-}
-
-void
-f2 (void)
-{
- int a[4], k;
- void nested (void)
- {
- int l;
- void nested2 (int x)
- {
- a[x] = 42;
- }
-#pragma omp parallel for
- for (l = 0; l < 4; l++)
- nested2 (l);
- }
-
- for (k = 0; k < 4; k++)
- a[k] = 0;
-
- nested ();
-
- if (a[0] != 42 || a[1] != 42 || a[2] != 42 || a[3] != 42)
- abort ();
-}
-
-void
-f3 (void)
-{
- int a[4], b[4], c[4], k;
- void nested (int x)
- {
- a[x] = b[x] = c[x] = 42;
- }
-
- for (k = 0; k < 4; k++)
- a[k] = b[k] = c[k] = 0;
- nested (0);
-
-#pragma omp parallel
- {
- #pragma omp single
- {
- a[1] = 43;
- b[1] = 43;
- }
- #pragma omp parallel
- {
- #pragma omp single
- {
- b[2] = 44;
- c[2] = 44;
- }
- }
- }
-
- if (a[0] != 42 || a[1] != 43 || a[2] != 0 || a[3] != 0)
- abort ();
- if (b[0] != 42 || b[1] != 43 || b[2] != 44 || b[3] != 0)
- abort ();
- if (c[0] != 42 || c[1] != 0 || c[2] != 44 || c[3] != 0)
- abort ();
-}
-
-void
-f4 (void)
-{
- int a[4], b[4], c[4], k;
- void nested ()
- {
- #pragma omp parallel
- {
- #pragma omp single
- {
- a[1] = 43;
- b[1] = 43;
- }
- #pragma omp parallel
- {
- #pragma omp single
- {
- b[2] = 44;
- c[2] = 44;
- }
- }
- }
- }
-
- for (k = 0; k < 4; k++)
- a[k] = b[k] = c[k] = k == 0 ? 42 : 0;
- nested ();
-
- if (a[0] != 42 || a[1] != 43 || a[2] != 0 || a[3] != 0)
- abort ();
- if (b[0] != 42 || b[1] != 43 || b[2] != 44 || b[3] != 0)
- abort ();
- if (c[0] != 42 || c[1] != 0 || c[2] != 44 || c[3] != 0)
- abort ();
-}
-
-int
-main (void)
-{
- f1 ();
- f2 ();
- f3 ();
- f4 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35196.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35196.c
deleted file mode 100644
index e92d97629..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35196.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* PR middle-end/35196 */
-/* { dg-do run } */
-
-extern void abort (void);
-extern void omp_set_dynamic (int);
-
-int
-main (void)
-{
- int i, j;
- omp_set_dynamic (0);
-#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static)
- for (i = 0; i < 5; i++)
- j = i;
- if (i != 5 || j != 4)
- abort ();
-#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static, 2)
- for (i = 0; i < 5; i++)
- j = i;
- if (i != 5 || j != 4)
- abort ();
-#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (dynamic)
- for (i = 0; i < 5; i++)
- j = i;
- if (i != 5 || j != 4)
- abort ();
-#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static)
- for (i = -12; i < 21; i += 3)
- j = i;
- if (i != 21 || j != 18)
- abort ();
-#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (static, 2)
- for (i = -12; i < 21; i += 3)
- j = i;
- if (i != 21 || j != 18)
- abort ();
-#pragma omp parallel for lastprivate (i, j) num_threads (8) schedule (dynamic, 3)
- for (i = -12; i < 21; i += 3)
- j = i;
- if (i != 21 || j != 18)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35549.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35549.c
deleted file mode 100644
index 269a0c262..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35549.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* PR middle-end/35549 */
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 6, n = 0;
- omp_set_dynamic (0);
- omp_set_nested (1);
- #pragma omp parallel shared (i) num_threads (3)
- {
- if (omp_get_num_threads () != 3)
- #pragma omp atomic
- n += 1;
- #pragma omp parallel shared (i) num_threads (4)
- {
- if (omp_get_num_threads () != 4)
- #pragma omp atomic
- n += 1;
- #pragma omp critical
- i += 1;
- }
- }
- if (n == 0 && i != 6 + 3 * 4)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35625.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35625.c
deleted file mode 100644
index f2978f911..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr35625.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* PR libgomp/35625 */
-/* { dg-do run } */
-/* { dg-options "-std=c99" } */
-
-int
-main (void)
-{
-#pragma omp parallel
- {
- #pragma omp for schedule (guided, 10)
- for (int i = 0; i < 1826; i += 10)
- ;
- #pragma omp for schedule (guided, 10)
- for (int i = 0; i > -1826; i -= 10)
- ;
- }
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-1.c
deleted file mode 100644
index 4ed5e1276..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* PR middle-end/36802 */
-
-extern void abort (void);
-
-int
-foo (int k)
-{
- int i = 0;
-#pragma omp parallel
- #pragma omp single
- {
- if (!k)
- {
- int j;
- for (j = 0; j < 10; j++)
- #pragma omp task
- if (j == 4)
- i++;
- }
- else
- i++;
- }
- return i;
-}
-
-int
-main (void)
-{
- if (foo (0) != 1)
- abort ();
- if (foo (1) != 1)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-2.c
deleted file mode 100644
index 06e792f0f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-2.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* PR middle-end/36802 */
-
-extern void abort (void);
-
-int q;
-
-int
-foo (int k)
-{
- int i = 6, n = 0;
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel shared (i) num_threads (3)
- {
- int l;
-
- if (omp_get_num_threads () != 3)
- #pragma omp atomic
- n += 1;
- else
- #pragma omp for
- for (l = 0; l < 3; l++)
- if (k)
- #pragma omp atomic
- q += i;
- else
- #pragma omp parallel shared (i) num_threads (4)
- {
- if (omp_get_num_threads () != 4)
- #pragma omp atomic
- n += 1;
- #pragma omp critical
- i += 1;
- }
- }
- if (n == 0 && i != 6 + 3 * 4)
- abort ();
- return 0;
-}
-
-int
-main (void)
-{
- foo (0);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-3.c
deleted file mode 100644
index f11baa09f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr36802-3.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* PR middle-end/36802 */
-
-extern void abort (void);
-
-int q;
-
-int
-foo (int k)
-{
- int i = 6, n = 0;
- omp_set_dynamic (0);
- omp_set_nested (1);
-#pragma omp parallel shared (i) num_threads (3)
- {
- int l;
-
- if (omp_get_num_threads () != 3)
- #pragma omp atomic
- n += 1;
- else
- #pragma omp for
- for (l = 0; l < 3; l++)
- if (!k)
- #pragma omp parallel shared (i) num_threads (4)
- {
- if (omp_get_num_threads () != 4)
- #pragma omp atomic
- n += 1;
- #pragma omp critical
- i += 1;
- }
- else
- #pragma omp atomic
- q += i;
- }
- if (n == 0 && i != 6 + 3 * 4)
- abort ();
- return 0;
-}
-
-int
-main (void)
-{
- foo (0);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr38650.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr38650.c
deleted file mode 100644
index 7066239b0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr38650.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* PR c++/38650 */
-/* { dg-do run } */
-
-#include <stdlib.h>
-
-int e;
-
-int
-main ()
-{
- volatile int i, j = 10;
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < j; i += 1)
- e++;
- if (e != 10)
- abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < j; ++i)
- e++;
- if (e != 10)
- abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < j; i++)
- e++;
- if (e != 10)
- abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < 10; i += 1)
- e++;
- if (e != 10)
- abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < 10; ++i)
- e++;
- if (e != 10)
- abort ();
- e = 0;
-#pragma omp parallel for reduction(+:e)
- for (i = 0; i < 10; i++)
- e++;
- if (e != 10)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39154.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39154.c
deleted file mode 100644
index 5a4c89e13..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39154.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* PR middle-end/39154 */
-/* { dg-do compile } */
-/* { dg-options "-O2 -std=gnu99" } */
-
-extern void abort (void);
-
-int n = 20;
-
-int
-main (void)
-{
- int a[n], b[n][n];
-
-#pragma omp parallel for
- for (int i = 0; i < n; i++)
- {
- a[i] = i + 1;
-#pragma omp parallel for
- for (int j = 0; j < n; j++)
- b[i][j] = a[i];
- }
-
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- if (b[i][j] != i + 1)
- abort ();
- if (a[i] != i + 1)
- abort ();
- }
-
-#pragma omp parallel for shared (n, a, b)
- for (int i = 0; i < n; i++)
- {
- a[i] = i + 3;
-#pragma omp parallel for
- for (int j = 0; j < n; j++)
- b[i][j] = a[i];
- }
-
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- if (b[i][j] != i + 3)
- abort ();
- if (a[i] != i + 3)
- abort ();
- }
-
-#pragma omp parallel for
- for (int i = 0; i < n; i++)
- {
- a[i] = i + 5;
-#pragma omp parallel for shared (n, a, b)
- for (int j = 0; j < n; j++)
- b[i][j] = a[i];
- }
-
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- if (b[i][j] != i + 5)
- abort ();
- if (a[i] != i + 5)
- abort ();
- }
-
-#pragma omp parallel for shared (n, a, b)
- for (int i = 0; i < n; i++)
- {
- a[i] = i + 7;
-#pragma omp parallel for shared (n, a, b)
- for (int j = 0; j < n; j++)
- b[i][j] = a[i];
- }
-
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- if (b[i][j] != i + 7)
- abort ();
- if (a[i] != i + 7)
- abort ();
- }
-
-#pragma omp parallel for private (a, b)
- for (int i = 0; i < n; i++)
- {
- a[i] = i + 1;
-#pragma omp parallel for
- for (int j = 0; j < n; j++)
- b[i][j] = a[i];
- }
-
-#pragma omp parallel for private (a, b)
- for (int i = 0; i < n; i++)
- {
- a[i] = i + 1;
-#pragma omp parallel for private (b)
- for (int j = 0; j < n; j++)
- b[i][j] = a[i];
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-1.c
deleted file mode 100644
index dfd8d9e8a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-1.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* PR other/39591 */
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-extern void abort (void);
-
-int err;
-
-int
-main (void)
-{
-#pragma omp parallel
- {
- int array[40];
- int i;
- for (i = 0; i < sizeof array / sizeof array[0]; i++)
- array[i] = 0x55555555;
-
-#pragma omp for schedule(dynamic)
- for (i = 0; i < 50; i++)
-#pragma omp task shared(array)
- {
- int j;
- for (j = 0; j < sizeof array / sizeof array[0]; j++)
- if (array[j] != 0x55555555)
-#pragma omp atomic
- err++;
- }
- }
- if (err)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-2.c
deleted file mode 100644
index b5f8f9cc7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-2.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* PR other/39591 */
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-extern void abort (void);
-
-int err;
-
-void __attribute__((noinline))
-foo (int *array)
-{
-#pragma omp task
- {
- int j;
- for (j = 0; j < sizeof array / sizeof array[0]; j++)
- if (array[j] != 0x55555555)
-#pragma omp atomic
- err++;
- }
-}
-
-int
-main (void)
-{
-#pragma omp parallel
- {
- int array[40];
- int i;
- for (i = 0; i < sizeof array / sizeof array[0]; i++)
- array[i] = 0x55555555;
-
-#pragma omp for schedule (dynamic)
- for (i = 0; i < 50; i++)
- foo (array);
- }
- if (err)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-3.c
deleted file mode 100644
index a9aeea7c8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr39591-3.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* PR other/39591 */
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-
-extern void abort (void);
-
-int err, a[40];
-
-void __attribute__((noinline))
-foo (int *array)
-{
-#pragma omp task
- {
- int j;
- for (j = 0; j < sizeof array / sizeof array[0]; j++)
- if (array[j] != 0x55555555)
-#pragma omp atomic
- err++;
- }
-}
-
-int
-main (void)
-{
- int k;
- for (k = 0; k < sizeof a / sizeof a[0]; k++)
- a[k] = 0x55555555;
-
-#pragma omp parallel
- {
- int i;
-
-#pragma omp for schedule (dynamic)
- for (i = 0; i < 50; i++)
- foo (a);
- }
- if (err)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr42029.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr42029.c
deleted file mode 100644
index ea7ac2c09..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr42029.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* PR middle-end/42029 */
-/* { dg-do run } */
-
-extern void abort (void);
-
-int
-main ()
-{
- int i;
- _Complex int c = 0;
-
-#pragma omp parallel for private(i) reduction(+:c)
- for (i = 0; i < 8; ++i)
- c += 1;
-
- if (c != 8)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/private-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/private-1.c
deleted file mode 100644
index 1d3659b25..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/private-1.c
+++ /dev/null
@@ -1,54 +0,0 @@
-extern void abort (void);
-
-int a = 18;
-
-void
-f1 (int i, int j, int k)
-{
- int l = 6, m = 7, n = 8;
-#pragma omp parallel private(j, m) shared(k, n) firstprivate(i, l) \
- num_threads(1)
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int v1 = 1, v2 = 2, v5 = 5;
-int err;
-
-void
-f2 (void)
-{
- int v3 = 3;
-#pragma omp sections private (v1) firstprivate (v2)
- {
- #pragma omp section
- {
- int v4 = 4;
- v1 = 7;
- #pragma omp parallel num_threads(1) firstprivate(v1, v2, v3, v4)
- {
- if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
- err = 1;
- }
- if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
- abort ();
- if (err)
- abort ();
- }
- }
-}
-
-int
-main (void)
-{
- f1 (8, 26, 0);
- f2 ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-1.c
deleted file mode 100644
index 665163af0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = ~0;
- double d = 1.0;
-#pragma omp parallel num_threads(4) reduction(+:i) reduction(*:d) reduction(&:k)
- {
- if (i != 0 || d != 1.0 || k != ~0)
-#pragma omp atomic
- j |= 1;
-
- if (omp_get_num_threads () != 4)
-#pragma omp atomic
- j |= 2;
-
- i = omp_get_thread_num ();
- d = i + 1;
- k = ~(1 << (2 * i));
- }
-
- if (j & 1)
- abort ();
- if ((j & 2) == 0)
- {
- if (i != (0 + 1 + 2 + 3))
- abort ();
- if (d != (1.0 * 2.0 * 3.0 * 4.0))
- abort ();
- if (k != (~0 ^ 0x55))
- abort ();
- }
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-2.c
deleted file mode 100644
index 52b3faff7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-2.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = ~0, l;
- double d = 1.0;
-#pragma omp parallel num_threads(4)
- {
-#pragma omp single
- {
- i = 16;
- k ^= (1 << 16);
- d += 32.0;
- }
-
-#pragma omp for reduction(+:i) reduction(*:d) reduction(&:k)
- for (l = 0; l < 4; l++)
- {
- if (omp_get_num_threads () == 4 && (i != 0 || d != 1.0 || k != ~0))
-#pragma omp atomic
- j |= 1;
-
- if (l == omp_get_thread_num ())
- {
- i = omp_get_thread_num ();
- d = i + 1;
- k = ~(1 << (2 * i));
- }
- }
-
- if (omp_get_num_threads () == 4)
- {
- if (i != (16 + 0 + 1 + 2 + 3))
-#pragma omp atomic
- j |= 2;
- if (d != (33.0 * 1.0 * 2.0 * 3.0 * 4.0))
-#pragma omp atomic
- j |= 4;
- if (k != (~0 ^ 0x55 ^ (1 << 16)))
-#pragma omp atomic
- j |= 8;
- }
- }
-
- if (j)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-3.c
deleted file mode 100644
index 4f8f2fc12..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-3.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = ~0, l;
- double d = 1.0;
-#pragma omp parallel num_threads(4)
- {
-#pragma omp single
- {
- i = 16;
- k ^= (1 << 16);
- d += 32.0;
- }
-
-#pragma omp for reduction(+:i) reduction(*:d) reduction(&:k) nowait
- for (l = 0; l < 4; l++)
- {
- if (omp_get_num_threads () == 4 && (i != 0 || d != 1.0 || k != ~0))
-#pragma omp atomic
- j |= 1;
-
- if (l == omp_get_thread_num ())
- {
- i = omp_get_thread_num ();
- d = i + 1;
- k = ~(1 << (2 * i));
- }
- }
-
- if (omp_get_num_threads () == 4)
- {
-#pragma omp barrier
- if (i != (16 + 0 + 1 + 2 + 3))
-#pragma omp atomic
- j |= 2;
- if (d != (33.0 * 1.0 * 2.0 * 3.0 * 4.0))
-#pragma omp atomic
- j |= 4;
- if (k != (~0 ^ 0x55 ^ (1 << 16)))
-#pragma omp atomic
- j |= 8;
- }
- }
-
- if (j)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-4.c
deleted file mode 100644
index 23e9d6d5b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-4.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <omp.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i = 0, j = 0, k = 0, l = 0;
-#pragma omp parallel num_threads(4) reduction(-:i) reduction(|:k) \
- reduction(^:l)
- {
- if (i != 0 || k != 0 || l != 0)
-#pragma omp atomic
- j |= 1;
-
- if (omp_get_num_threads () != 4)
-#pragma omp atomic
- j |= 2;
-
- i = omp_get_thread_num ();
- k = 1 << (2 * i);
- l = 0xea << (3 * i);
- }
-
- if (j & 1)
- abort ();
- if ((j & 2) == 0)
- {
- if (i != (0 + 1 + 2 + 3))
- abort ();
- if (k != 0x55)
- abort ();
- if (l != 0x1e93a)
- abort ();
- }
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-5.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-5.c
deleted file mode 100644
index de87d9f6d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/reduction-5.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* PR middle-end/36506 */
-
-extern void abort (void);
-
-int
-main (void)
-{
- int sum = 0, prod = 1;
-#pragma omp parallel
- #pragma omp sections reduction (+:sum)
- {
- #pragma omp section
- sum += 2;
- #pragma omp section
- sum += 2;
- #pragma omp section
- sum += 2;
- }
- if (sum != 6)
- abort ();
- sum = 0;
-#pragma omp parallel sections reduction (+:sum)
- {
- #pragma omp section
- sum += 2;
- #pragma omp section
- sum += 2;
- #pragma omp section
- sum += 2;
- }
- if (sum != 6)
- abort ();
- sum = 0;
-#pragma omp parallel
- #pragma omp sections reduction (+:sum) reduction (*:prod)
- {
- #pragma omp section
- {
- sum += 2;
- prod *= 2;
- }
- #pragma omp section
- {
- sum += 2;
- prod *= 2;
- }
- #pragma omp section
- {
- sum += 2;
- prod *= 2;
- }
- }
- if (sum != 6 || prod != 8)
- abort ();
- sum = 0;
- prod = 1;
-#pragma omp parallel sections reduction (+:sum) reduction (*:prod)
- {
- #pragma omp section
- {
- sum += 2;
- prod *= 2;
- }
- #pragma omp section
- {
- sum += 2;
- prod *= 2;
- }
- #pragma omp section
- {
- sum += 2;
- prod *= 2;
- }
- }
- if (sum != 6 || prod != 8)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/sections-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/sections-1.c
deleted file mode 100644
index 3a6584cb7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/sections-1.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Test that all sections are touched. */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <string.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-#define N 100
-static int data[N];
-static int NTHR;
-
-static void clean_data (void)
-{
- memset (data, -1, sizeof (data));
-}
-
-static void test_data (void)
-{
- int i;
-
- for (i = 0; i < N; ++i)
- assert (data[i] != -1);
-}
-
-static void set_data (unsigned i, int val)
-{
- int old;
- assert (i >= 1 && i <= N);
- old = __sync_lock_test_and_set (data+i-1, val);
- assert (old == -1);
-}
-
-
-static void f_1 (void *dummy)
-{
- int iam = omp_get_thread_num ();
- unsigned long s;
-
- for (s = GOMP_sections_start (N); s ; s = GOMP_sections_next ())
- set_data (s, iam);
- GOMP_sections_end ();
-}
-
-static void test_1 (void)
-{
- clean_data ();
- GOMP_parallel_start (f_1, NULL, NTHR);
- f_1 (NULL);
- GOMP_parallel_end ();
- test_data ();
-}
-
-static void f_2 (void *dummy)
-{
- int iam = omp_get_thread_num ();
- unsigned s;
-
- while ((s = GOMP_sections_next ()))
- set_data (s, iam);
- GOMP_sections_end_nowait ();
-}
-
-static void test_2 (void)
-{
- clean_data ();
- GOMP_parallel_sections_start (f_2, NULL, NTHR, N);
- f_2 (NULL);
- GOMP_parallel_end ();
- test_data ();
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- NTHR = 4;
-
- test_1 ();
- test_2 ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-1.c
deleted file mode 100644
index f7d4fb2d6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-1.c
+++ /dev/null
@@ -1,58 +0,0 @@
-extern void abort (void);
-
-struct Y
-{
- int l[5][10];
-};
-
-struct X
-{
- struct Y y;
- float b[10];
-};
-
-void
-parallel (int a, int b)
-{
- int i, j;
- struct X A[10][5];
- a = b = 3;
-
- for (i = 0; i < 10; i++)
- for (j = 0; j < 5; j++)
- A[i][j].y.l[3][3] = -10;
-
- #pragma omp parallel shared (a, b, A) num_threads (5)
- {
- int i, j;
-
- #pragma omp atomic
- a += omp_get_num_threads ();
-
- #pragma omp atomic
- b += omp_get_num_threads ();
-
- #pragma omp for private (j)
- for (i = 0; i < 10; i++)
- for (j = 0; j < 5; j++)
- A[i][j].y.l[3][3] += 20;
-
- }
-
- for (i = 0; i < 10; i++)
- for (j = 0; j < 5; j++)
- if (A[i][j].y.l[3][3] != 10)
- abort ();
-
- if (a != 28)
- abort ();
-
- if (b != 28)
- abort ();
-}
-
-main()
-{
- parallel (1, 2);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-2.c
deleted file mode 100644
index 56c88ecc7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-2.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <stdio.h>
-#include <omp.h>
-
-extern void abort (void);
-
-void
-parallel (int a, int b)
-{
- int bad, LASTPRIV, LASTPRIV_SEC;
- int i;
-
- a = b = 3;
-
- bad = 0;
-
- #pragma omp parallel firstprivate (a,b) shared (bad) num_threads (5)
- {
- if (a != 3 || b != 3)
- bad = 1;
-
- #pragma omp for lastprivate (LASTPRIV)
- for (i = 0; i < 10; i++)
- LASTPRIV = i;
-
- #pragma omp sections lastprivate (LASTPRIV_SEC)
- {
- #pragma omp section
- { LASTPRIV_SEC = 3; }
-
- #pragma omp section
- { LASTPRIV_SEC = 42; }
- }
-
- }
-
- if (LASTPRIV != 9)
- abort ();
-
- if (LASTPRIV_SEC != 42)
- abort ();
-
- if (bad)
- abort ();
-}
-
-int main()
-{
- parallel (1, 2);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-3.c
deleted file mode 100644
index 494a970ad..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/shared-3.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* { dg-do run } */
-
-void abort (void);
-
-int main()
-{
- int x;
- int *p;
-
- p = &x;
-
- #pragma omp parallel
- {
- if (p != &x)
- abort ();
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/single-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/single-1.c
deleted file mode 100644
index 1ce89118d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/single-1.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Trivial test of single. */
-
-/* { dg-require-effective-target sync_int_long } */
-
-#include <omp.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <assert.h>
-#include "libgomp_g.h"
-
-
-static int test;
-
-static void f_nocopy (void *dummy)
-{
- if (GOMP_single_start ())
- {
- int iam = omp_get_thread_num ();
- int old = __sync_lock_test_and_set (&test, iam);
- assert (old == -1);
- }
-}
-
-static void f_copy (void *dummy)
-{
- int *x = GOMP_single_copy_start ();
- if (x == NULL)
- {
- int iam = omp_get_thread_num ();
- int old = __sync_lock_test_and_set (&test, iam);
- assert (old == -1);
- GOMP_single_copy_end (&test);
- }
- else
- assert (x == &test);
-}
-
-int main()
-{
- omp_set_dynamic (0);
-
- test = -1;
- GOMP_parallel_start (f_nocopy, NULL, 3);
- f_nocopy (NULL);
- GOMP_parallel_end ();
-
- test = -1;
- GOMP_parallel_start (f_copy, NULL, 3);
- f_copy (NULL);
- GOMP_parallel_end ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/single-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/single-2.c
deleted file mode 100644
index b510ce735..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/single-2.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdlib.h>
-
-int
-main (void)
-{
- int i;
- i = 4;
-#pragma omp single copyprivate (i)
- {
- i = 6;
- }
- if (i != 6)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/sort-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/sort-1.c
deleted file mode 100644
index 269d69da1..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/sort-1.c
+++ /dev/null
@@ -1,379 +0,0 @@
-/* Test and benchmark of a couple of parallel sorting algorithms.
- Copyright (C) 2008 Free Software Foundation, Inc.
-
- GCC is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 3, or (at your option) any later
- version.
-
- GCC is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License
- along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
-#include <limits.h>
-#include <omp.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int failures;
-
-#define THRESHOLD 100
-
-static void
-verify (const char *name, double stime, int *array, int count)
-{
- int i;
- double etime = omp_get_wtime ();
-
- printf ("%s: %g\n", name, etime - stime);
- for (i = 1; i < count; i++)
- if (array[i] < array[i - 1])
- {
- printf ("%s: incorrectly sorted\n", name);
- failures = 1;
- }
-}
-
-static void
-insertsort (int *array, int s, int e)
-{
- int i, j, val;
- for (i = s + 1; i <= e; i++)
- {
- val = array[i];
- j = i;
- while (j-- > s && val < array[j])
- array[j + 1] = array[j];
- array[j + 1] = val;
- }
-}
-
-struct int_pair
-{
- int lo;
- int hi;
-};
-
-struct int_pair_stack
-{
- struct int_pair *top;
-#define STACK_SIZE 4 * CHAR_BIT * sizeof (int)
- struct int_pair arr[STACK_SIZE];
-};
-
-static inline void
-init_int_pair_stack (struct int_pair_stack *stack)
-{
- stack->top = &stack->arr[0];
-}
-
-static inline void
-push_int_pair_stack (struct int_pair_stack *stack, int lo, int hi)
-{
- stack->top->lo = lo;
- stack->top->hi = hi;
- stack->top++;
-}
-
-static inline void
-pop_int_pair_stack (struct int_pair_stack *stack, int *lo, int *hi)
-{
- stack->top--;
- *lo = stack->top->lo;
- *hi = stack->top->hi;
-}
-
-static inline int
-size_int_pair_stack (struct int_pair_stack *stack)
-{
- return stack->top - &stack->arr[0];
-}
-
-static inline void
-busy_wait (void)
-{
-#if defined __i386__ || defined __x86_64__
- __asm volatile ("rep; nop" : : : "memory");
-#elif defined __ia64__
- __asm volatile ("hint @pause" : : : "memory");
-#elif defined __sparc__ && (defined __arch64__ || defined __sparc_v9__)
- __asm volatile ("membar #LoadLoad" : : : "memory");
-#else
- __asm volatile ("" : : : "memory");
-#endif
-}
-
-static inline void
-swap (int *array, int a, int b)
-{
- int val = array[a];
- array[a] = array[b];
- array[b] = val;
-}
-
-static inline int
-choose_pivot (int *array, int lo, int hi)
-{
- int mid = (lo + hi) / 2;
-
- if (array[mid] < array[lo])
- swap (array, lo, mid);
- if (array[hi] < array[mid])
- {
- swap (array, mid, hi);
- if (array[mid] < array[lo])
- swap (array, lo, mid);
- }
- return array[mid];
-}
-
-static inline int
-partition (int *array, int lo, int hi)
-{
- int pivot = choose_pivot (array, lo, hi);
- int left = lo;
- int right = hi;
-
- for (;;)
- {
- while (array[++left] < pivot);
- while (array[--right] > pivot);
- if (left >= right)
- break;
- swap (array, left, right);
- }
- return left;
-}
-
-static void
-sort1 (int *array, int count)
-{
- omp_lock_t lock;
- struct int_pair_stack global_stack;
- int busy = 1;
- int num_threads;
-
- omp_init_lock (&lock);
- init_int_pair_stack (&global_stack);
- #pragma omp parallel firstprivate (array, count)
- {
- int lo = 0, hi = 0, mid, next_lo, next_hi;
- bool idle = true;
- struct int_pair_stack local_stack;
-
- init_int_pair_stack (&local_stack);
- if (omp_get_thread_num () == 0)
- {
- num_threads = omp_get_num_threads ();
- hi = count - 1;
- idle = false;
- }
-
- for (;;)
- {
- if (hi - lo < THRESHOLD)
- {
- insertsort (array, lo, hi);
- lo = hi;
- }
- if (lo >= hi)
- {
- if (size_int_pair_stack (&local_stack) == 0)
- {
- again:
- omp_set_lock (&lock);
- if (size_int_pair_stack (&global_stack) == 0)
- {
- if (!idle)
- busy--;
- if (busy == 0)
- {
- omp_unset_lock (&lock);
- break;
- }
- omp_unset_lock (&lock);
- idle = true;
- while (size_int_pair_stack (&global_stack) == 0
- && busy)
- busy_wait ();
- goto again;
- }
- if (idle)
- busy++;
- pop_int_pair_stack (&global_stack, &lo, &hi);
- omp_unset_lock (&lock);
- idle = false;
- }
- else
- pop_int_pair_stack (&local_stack, &lo, &hi);
- }
-
- mid = partition (array, lo, hi);
- if (mid - lo < hi - mid)
- {
- next_lo = mid;
- next_hi = hi;
- hi = mid - 1;
- }
- else
- {
- next_lo = lo;
- next_hi = mid - 1;
- lo = mid;
- }
-
- if (next_hi - next_lo < THRESHOLD)
- insertsort (array, next_lo, next_hi);
- else
- {
- if (size_int_pair_stack (&global_stack) < num_threads - 1)
- {
- int size;
-
- omp_set_lock (&lock);
- size = size_int_pair_stack (&global_stack);
- if (size < num_threads - 1 && size < STACK_SIZE)
- push_int_pair_stack (&global_stack, next_lo, next_hi);
- else
- push_int_pair_stack (&local_stack, next_lo, next_hi);
- omp_unset_lock (&lock);
- }
- else
- push_int_pair_stack (&local_stack, next_lo, next_hi);
- }
- }
- }
- omp_destroy_lock (&lock);
-}
-
-static void
-sort2_1 (int *array, int lo, int hi, int num_threads, int *busy)
-{
- int mid;
-
- if (hi - lo < THRESHOLD)
- {
- insertsort (array, lo, hi);
- return;
- }
-
- mid = partition (array, lo, hi);
-
- if (*busy >= num_threads)
- {
- sort2_1 (array, lo, mid - 1, num_threads, busy);
- sort2_1 (array, mid, hi, num_threads, busy);
- return;
- }
-
- #pragma omp atomic
- *busy += 1;
-
- #pragma omp parallel num_threads (2) \
- firstprivate (array, lo, hi, mid, num_threads, busy)
- {
- if (omp_get_thread_num () == 0)
- sort2_1 (array, lo, mid - 1, num_threads, busy);
- else
- {
- sort2_1 (array, mid, hi, num_threads, busy);
- #pragma omp atomic
- *busy -= 1;
- }
- }
-}
-
-static void
-sort2 (int *array, int count)
-{
- int num_threads;
- int busy = 1;
-
- #pragma omp parallel
- #pragma omp single nowait
- num_threads = omp_get_num_threads ();
-
- sort2_1 (array, 0, count - 1, num_threads, &busy);
-}
-
-#if _OPENMP >= 200805
-static void
-sort3_1 (int *array, int lo, int hi)
-{
- int mid;
-
- if (hi - lo < THRESHOLD)
- {
- insertsort (array, lo, hi);
- return;
- }
-
- mid = partition (array, lo, hi);
- #pragma omp task
- sort3_1 (array, lo, mid - 1);
- sort3_1 (array, mid, hi);
-}
-
-static void
-sort3 (int *array, int count)
-{
- #pragma omp parallel
- #pragma omp single
- sort3_1 (array, 0, count - 1);
-}
-#endif
-
-int
-main (int argc, char **argv)
-{
- int i, count = 1000000;
- double stime;
- int *unsorted, *sorted, num_threads;
- if (argc >= 2)
- count = strtoul (argv[1], NULL, 0);
-
- unsorted = malloc (count * sizeof (int));
- sorted = malloc (count * sizeof (int));
- if (unsorted == NULL || sorted == NULL)
- {
- puts ("allocation failure");
- exit (1);
- }
-
- srand (0xdeadbeef);
- for (i = 0; i < count; i++)
- unsorted[i] = rand ();
-
- omp_set_nested (1);
- omp_set_dynamic (0);
- #pragma omp parallel
- #pragma omp single nowait
- num_threads = omp_get_num_threads ();
- printf ("Threads: %d\n", num_threads);
-
- memcpy (sorted, unsorted, count * sizeof (int));
- stime = omp_get_wtime ();
- sort1 (sorted, count);
- verify ("sort1", stime, sorted, count);
-
- memcpy (sorted, unsorted, count * sizeof (int));
- stime = omp_get_wtime ();
- sort2 (sorted, count);
- verify ("sort2", stime, sorted, count);
-
-#if _OPENMP >= 200805
- memcpy (sorted, unsorted, count * sizeof (int));
- stime = omp_get_wtime ();
- sort3 (sorted, count);
- verify ("sort3", stime, sorted, count);
-#endif
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-1.c
deleted file mode 100644
index 66f58a29b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-1.c
+++ /dev/null
@@ -1,84 +0,0 @@
-extern void abort (void);
-
-int a = 18;
-
-void
-f1 (int i, int j, int k)
-{
- int l = 6, m = 7, n = 8;
-#pragma omp task private(j, m) shared(k, n)
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
-#pragma omp taskwait
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int v1 = 1, v2 = 2, v5 = 5;
-int err;
-
-void
-f2 (void)
-{
- int v3 = 3;
-#pragma omp sections private (v1) firstprivate (v2)
- {
- #pragma omp section
- {
- int v4 = 4;
- v1 = 7;
- #pragma omp task
- {
- if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
- err = 1;
- }
- #pragma omp taskwait
- if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
- abort ();
- if (err)
- abort ();
- }
- }
-}
-
-void
-f3 (int i, int j, int k)
-{
- int l = 6, m = 7, n = 8;
-#pragma omp task private(j, m) shared(k, n) untied
- {
- j = 6;
- m = 5;
- if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9)
- #pragma omp atomic
- k++;
- }
-#pragma omp taskwait
- if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9)
- abort ();
-}
-
-int
-main (void)
-{
- f1 (8, 26, 0);
- f2 ();
- a = 18;
- f3 (8, 26, 0);
- a = 18;
-#pragma omp parallel num_threads(4)
- {
- #pragma omp master
- {
- f1 (8, 26, 0);
- a = 18;
- f3 (8, 26, 0);
- }
- }
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-2.c
deleted file mode 100644
index ed6a09c35..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-2.c
+++ /dev/null
@@ -1,53 +0,0 @@
-extern void abort (void);
-
-int
-f1 (void)
-{
- int a = 6, e = 0;
- int nested (int x)
- {
- return x + a;
- }
- #pragma omp task
- {
- int n = nested (5);
- if (n != 11)
- #pragma omp atomic
- e += 1;
- }
- #pragma omp taskwait
- return e;
-}
-
-int
-f2 (void)
-{
- int a = 6, e = 0;
- int nested (int x)
- {
- return x + a;
- }
- a = nested (4);
- #pragma omp task
- {
- if (a != 10)
- #pragma omp atomic
- e += 1;
- }
- #pragma omp taskwait
- return e;
-}
-
-int
-main (void)
-{
- int e = 0;
- #pragma omp parallel num_threads(4) reduction(+:e)
- {
- e += f1 ();
- e += f2 ();
- }
- if (e)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-3.c
deleted file mode 100644
index 5657346bd..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-3.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-extern void abort ();
-
-int l = 5;
-
-int
-foo (int i)
-{
- int j = 7;
- const int k = 8;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp task firstprivate (i) shared (j, l)
- {
- #pragma omp critical
- {
- j += i;
- l += k;
- }
- }
- i++;
- #pragma omp taskwait
- return (i != 8 * omp_get_thread_num () + 4
- || j != 4 * i - 3
- || k != 8);
-}
-
-int
-main (void)
-{
- int r = 0;
- #pragma omp parallel num_threads (4) reduction(+:r)
- if (omp_get_num_threads () != 4)
- {
- #pragma omp master
- l = 133;
- }
- else if (foo (8 * omp_get_thread_num ()))
- r++;
- if (r || l != 133)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-4.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-4.c
deleted file mode 100644
index 184359300..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/task-4.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int e;
-
-void __attribute__((noinline))
-baz (int i, int *p, int j, int *q)
-{
- if (p[0] != 1 || p[i] != 3 || q[0] != 2 || q[j] != 4)
- #pragma omp atomic
- e++;
-}
-
-void __attribute__((noinline))
-foo (int i, int j)
-{
- int p[i + 1];
- int q[j + 1];
- memset (p, 0, sizeof (p));
- memset (q, 0, sizeof (q));
- p[0] = 1;
- p[i] = 3;
- q[0] = 2;
- q[j] = 4;
- #pragma omp task firstprivate (p, q)
- baz (i, p, j, q);
-}
-
-int
-main (void)
-{
- #pragma omp parallel num_threads (4)
- foo (5 + omp_get_thread_num (), 7 + omp_get_thread_num ());
- if (e)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/vla-1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/vla-1.c
deleted file mode 100644
index bdacdbbe8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/vla-1.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-main (int argc, char **argv[])
-{
- int n = argc < 5 ? 12 : 31, i, m, l;
- char a[n + 3];
- unsigned short b[n / 2 - 1];
- int c[n * 2 + 1];
-
- for (i = 0; i < n + 3; i++)
- a[i] = i;
- for (i = 0; i < n / 2 - 1; i++)
- b[i] = (i << 8) | i;
- for (i = 0; i < n * 2 + 1; i++)
- c[i] = (i << 24) | i;
- l = 0;
- m = n;
-#pragma omp parallel default (shared) num_threads (4) \
- firstprivate (a, m) private (b, i) reduction (+:l)
- {
- for (i = 0; i < m + 3; i++)
- if (a[i] != i)
- l++;
- for (i = 0; i < m * 2 + 1; i++)
- if (c[i] != ((i << 24) | i))
- l++;
-#pragma omp barrier
- memset (a, omp_get_thread_num (), m + 3);
- for (i = 0; i < m / 2 - 1; i++)
- b[i] = a[0] + 7;
-#pragma omp master
- {
- for (i = 0; i < m * 2 + 1; i++)
- c[i] = a[0] + 16;
- }
-#pragma omp barrier
- if (a[0] != omp_get_thread_num ())
- l++;
- for (i = 1; i < m + 3; i++)
- if (a[i] != a[0])
- l++;
- for (i = 0; i < m / 2 - 1; i++)
- if (b[i] != a[0] + 7)
- l++;
- for (i = 0; i < m * 2 + 1; i++)
- if (c[i] != 16)
- l++;
- }
- if (l)
- abort ();
- for (i = 0; i < n * 2 + 1; i++)
- if (c[i] != 16)
- l++;
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable1.f90
deleted file mode 100644
index 1efe2abe9..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable1.f90
+++ /dev/null
@@ -1,81 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- integer, allocatable :: a(:, :)
- integer :: b(6, 3)
- integer :: i, j
- logical :: k, l
- b(:, :) = 16
- l = .false.
- if (allocated (a)) call abort
-!$omp parallel private (a, b) reduction (.or.:l)
- l = l.or.allocated (a)
- allocate (a(3, 6))
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.18.or.size(a,1).ne.3.or.size(a,2).ne.6
- a(3, 2) = 1
- b(3, 2) = 1
- deallocate (a)
- l = l.or.allocated (a)
-!$omp end parallel
- if (allocated (a).or.l) call abort
- allocate (a(6, 3))
- a(:, :) = 3
- if (.not.allocated (a)) call abort
- l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
- if (l) call abort
-!$omp parallel private (a, b) reduction (.or.:l)
- l = l.or..not.allocated (a)
- a(3, 2) = 1
- b(3, 2) = 1
-!$omp end parallel
- if (l.or..not.allocated (a)) call abort
-!$omp parallel firstprivate (a, b) reduction (.or.:l)
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
- do i = 1, 6
- l = l.or.(a(i, 1).ne.3).or.(a(i, 2).ne.3)
- l = l.or.(a(i, 3).ne.3).or.(b(i, 1).ne.16)
- l = l.or.(b(i, 2).ne.16).or.(b(i, 3).ne.16)
- end do
- a(:, :) = omp_get_thread_num ()
- b(:, :) = omp_get_thread_num ()
-!$omp end parallel
- if (any (a.ne.3).or.any (b.ne.16).or.l) call abort
- k = .true.
-!$omp parallel do firstprivate (a, b, k) lastprivate (a, b) &
-!$omp & reduction (.or.:l)
- do i = 1, 36
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
- if (k) then
- do j = 1, 6
- l = l.or.(a(j, 1).ne.3).or.(a(j, 2).ne.3)
- l = l.or.(a(j, 3).ne.3).or.(b(j, 1).ne.16)
- l = l.or.(b(j, 2).ne.16).or.(b(j, 3).ne.16)
- end do
- k = .false.
- end if
- a(:, :) = i + 2
- b(:, :) = i
- end do
- if (any (a.ne.38).or.any (b.ne.36).or.l) call abort
- deallocate (a)
- if (allocated (a)) call abort
- allocate (a (0:1, 0:3))
- a(:, :) = 0
-!$omp parallel do reduction (+:a) reduction (.or.:l) &
-!$omp & num_threads(3) schedule(static)
- do i = 0, 7
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.8.or.size(a,1).ne.2.or.size(a,2).ne.4
- a(modulo (i, 2), i / 2) = a(modulo (i, 2), i / 2) + i
- a(i / 4, modulo (i, 4)) = a(i / 4, modulo (i, 4)) + i
- end do
- if (l) call abort
- do i = 0, 1
- do j = 0, 3
- if (a(i, j) .ne. (5*i + 3*j)) call abort
- end do
- end do
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable2.f90
deleted file mode 100644
index a37616b04..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable2.f90
+++ /dev/null
@@ -1,47 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
-!$ use omp_lib
-
- integer, save, allocatable :: a(:, :)
- integer, allocatable :: b(:, :)
- integer :: n
- logical :: l
-!$omp threadprivate (a)
- if (allocated (a)) call abort
- call omp_set_dynamic (.false.)
- l = .false.
-!$omp parallel num_threads (4) reduction(.or.:l)
- allocate (a(-1:1, 7:10))
- a(:, :) = omp_get_thread_num () + 6
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.12.or.size(a,1).ne.3.or.size(a,2).ne.4
-!$omp end parallel
- if (l.or.any(a.ne.6)) call abort ()
-!$omp parallel num_threads (4) copyin (a) reduction(.or.:l) private (b)
- l = l.or.allocated (b)
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.12.or.size(a,1).ne.3.or.size(a,2).ne.4
- l = l.or.any(a.ne.6)
- allocate (b(1, 3))
- a(:, :) = omp_get_thread_num () + 36
- b(:, :) = omp_get_thread_num () + 66
- !$omp single
- n = omp_get_thread_num ()
- !$omp end single copyprivate (a, b)
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.12.or.size(a,1).ne.3.or.size(a,2).ne.4
- l = l.or.any(a.ne.(n + 36))
- l = l.or..not.allocated (b)
- l = l.or.size(b).ne.3.or.size(b,1).ne.1.or.size(b,2).ne.3
- l = l.or.any(b.ne.(n + 66))
- deallocate (b)
- l = l.or.allocated (b)
-!$omp end parallel
- if (n.lt.0 .or. n.ge.4) call abort
- if (l.or.any(a.ne.(n + 36))) call abort
-!$omp parallel num_threads (4) reduction(.or.:l)
- deallocate (a)
- l = l.or.allocated (a)
-!$omp end parallel
- if (l.or.allocated (a)) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable3.f90
deleted file mode 100644
index fe3714a2b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable3.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! { dg-do run }
-
- integer, allocatable :: a(:)
- integer :: i
- logical :: l
- l = .false.
- if (allocated (a)) call abort
-!$omp parallel private (a) reduction (.or.:l)
- allocate (a (-7:-5))
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.3.or.size(a,1).ne.3
- a(:) = 0
- !$omp do private (a)
- do i = 1, 7
- a(:) = i
- l = l.or.any (a.ne.i)
- end do
- l = l.or.any (a.ne.0)
- deallocate (a)
-!$omp end parallel
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable4.f90
deleted file mode 100644
index 996578c94..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/allocatable4.f90
+++ /dev/null
@@ -1,47 +0,0 @@
-! { dg-do run }
-
- integer, allocatable :: a(:, :)
- integer :: b(6, 3)
- integer :: i, j
- logical :: k, l
- b(:, :) = 16
- l = .false.
- if (allocated (a)) call abort
-!$omp task private (a, b) shared (l)
- l = l.or.allocated (a)
- allocate (a(3, 6))
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.18.or.size(a,1).ne.3.or.size(a,2).ne.6
- a(3, 2) = 1
- b(3, 2) = 1
- deallocate (a)
- l = l.or.allocated (a)
-!$omp end task
-!$omp taskwait
- if (allocated (a).or.l) call abort
- allocate (a(6, 3))
- a(:, :) = 3
- if (.not.allocated (a)) call abort
- l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
- if (l) call abort
-!$omp task private (a, b) shared (l)
- l = l.or..not.allocated (a)
- a(3, 2) = 1
- b(3, 2) = 1
-!$omp end task
-!$omp taskwait
- if (l.or..not.allocated (a)) call abort
-!$omp task firstprivate (a, b) shared (l)
- l = l.or..not.allocated (a)
- l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
- do i = 1, 6
- l = l.or.(a(i, 1).ne.3).or.(a(i, 2).ne.3)
- l = l.or.(a(i, 3).ne.3).or.(b(i, 1).ne.16)
- l = l.or.(b(i, 2).ne.16).or.(b(i, 3).ne.16)
- end do
- a(:, :) = 7
- b(:, :) = 8
-!$omp end task
-!$omp taskwait
- if (any (a.ne.3).or.any (b.ne.16).or.l) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.15.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.15.1.f90
deleted file mode 100644
index 3d95451ea..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.15.1.f90
+++ /dev/null
@@ -1,31 +0,0 @@
-! { dg-do compile }
- SUBROUTINE WORK(N)
- INTEGER N
- END SUBROUTINE WORK
- SUBROUTINE SUB3(N)
- INTEGER N
- CALL WORK(N)
-!$OMP BARRIER
- CALL WORK(N)
- END SUBROUTINE SUB3
- SUBROUTINE SUB2(K)
- INTEGER K
-!$OMP PARALLEL SHARED(K)
- CALL SUB3(K)
-!$OMP END PARALLEL
- END SUBROUTINE SUB2
- SUBROUTINE SUB1(N)
- INTEGER N
- INTEGER I
-!$OMP PARALLEL PRIVATE(I) SHARED(N)
-!$OMP DO
- DO I = 1, N
- CALL SUB2(I)
- END DO
-!$OMP END PARALLEL
- END SUBROUTINE SUB1
- PROGRAM A15
- CALL SUB1(2)
- CALL SUB2(2)
- CALL SUB3(2)
- END PROGRAM A15
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.16.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.16.1.f90
deleted file mode 100644
index 014d4fd5a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.16.1.f90
+++ /dev/null
@@ -1,41 +0,0 @@
-! { dg-do run }
- REAL FUNCTION WORK1(I)
- INTEGER I
- WORK1 = 1.0 * I
- RETURN
- END FUNCTION WORK1
-
- REAL FUNCTION WORK2(I)
- INTEGER I
- WORK2 = 2.0 * I
- RETURN
- END FUNCTION WORK2
-
- SUBROUTINE SUBA16(X, Y, INDEX, N)
- REAL X(*), Y(*)
- INTEGER INDEX(*), N
- INTEGER I
-!$OMP PARALLEL DO SHARED(X, Y, INDEX, N)
- DO I=1,N
-!$OMP ATOMIC
- X(INDEX(I)) = X(INDEX(I)) + WORK1(I)
- Y(I) = Y(I) + WORK2(I)
- ENDDO
- END SUBROUTINE SUBA16
-
- PROGRAM A16
- REAL X(1000), Y(10000)
- INTEGER INDEX(10000)
- INTEGER I
- DO I=1,10000
- INDEX(I) = MOD(I, 1000) + 1
- Y(I) = 0.0
- ENDDO
- DO I = 1,1000
- X(I) = 0.0
- ENDDO
- CALL SUBA16(X, Y, INDEX, 10000)
- DO I = 1,10
- PRINT *, "X(", I, ") = ", X(I), ", Y(", I, ") = ", Y(I)
- ENDDO
- END PROGRAM A16
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.18.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.18.1.f90
deleted file mode 100644
index 3321485ef..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.18.1.f90
+++ /dev/null
@@ -1,59 +0,0 @@
-! { dg-do run }
-! { dg-options "-ffixed-form" }
- REAL FUNCTION FN1(I)
- INTEGER I
- FN1 = I * 2.0
- RETURN
- END FUNCTION FN1
-
- REAL FUNCTION FN2(A, B)
- REAL A, B
- FN2 = A + B
- RETURN
- END FUNCTION FN2
-
- PROGRAM A18
- INCLUDE "omp_lib.h" ! or USE OMP_LIB
- INTEGER ISYNC(256)
- REAL WORK(256)
- REAL RESULT(256)
- INTEGER IAM, NEIGHBOR
-!$OMP PARALLEL PRIVATE(IAM, NEIGHBOR) SHARED(WORK, ISYNC) NUM_THREADS(4)
- IAM = OMP_GET_THREAD_NUM() + 1
- ISYNC(IAM) = 0
-!$OMP BARRIER
-! Do computation into my portion of work array
- WORK(IAM) = FN1(IAM)
-! Announce that I am done with my work.
-! The first flush ensures that my work is made visible before
-! synch. The second flush ensures that synch is made visible.
-!$OMP FLUSH(WORK,ISYNC)
- ISYNC(IAM) = 1
-!$OMP FLUSH(ISYNC)
-
-! Wait until neighbor is done. The first flush ensures that
-! synch is read from memory, rather than from the temporary
-! view of memory. The second flush ensures that work is read
-! from memory, and is done so after the while loop exits.
- IF (IAM .EQ. 1) THEN
- NEIGHBOR = OMP_GET_NUM_THREADS()
- ELSE
- NEIGHBOR = IAM - 1
- ENDIF
- DO WHILE (ISYNC(NEIGHBOR) .EQ. 0)
-!$OMP FLUSH(ISYNC)
- END DO
-!$OMP FLUSH(WORK, ISYNC)
- RESULT(IAM) = FN2(WORK(NEIGHBOR), WORK(IAM))
-!$OMP END PARALLEL
- DO I=1,4
- IF (I .EQ. 1) THEN
- NEIGHBOR = 4
- ELSE
- NEIGHBOR = I - 1
- ENDIF
- IF (RESULT(I) .NE. I * 2 + NEIGHBOR * 2) THEN
- CALL ABORT
- ENDIF
- ENDDO
- END PROGRAM A18
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.19.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.19.1.f90
deleted file mode 100644
index 1fe1c4247..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.19.1.f90
+++ /dev/null
@@ -1,60 +0,0 @@
-! { dg-do run }
- SUBROUTINE F1(Q)
- COMMON /DATA/ P, X
- INTEGER, TARGET :: X
- INTEGER, POINTER :: P
- INTEGER Q
- Q=1
-!$OMP FLUSH
- ! X, P and Q are flushed
- ! because they are shared and accessible
- END SUBROUTINE F1
- SUBROUTINE F2(Q)
- COMMON /DATA/ P, X
- INTEGER, TARGET :: X
- INTEGER, POINTER :: P
- INTEGER Q
-!$OMP BARRIER
- Q=2
-!$OMP BARRIER
- ! a barrier implies a flush
- ! X, P and Q are flushed
- ! because they are shared and accessible
- END SUBROUTINE F2
-
- INTEGER FUNCTION G(N)
- COMMON /DATA/ P, X
- INTEGER, TARGET :: X
- INTEGER, POINTER :: P
- INTEGER N
- INTEGER I, J, SUM
- I=1
- SUM = 0
- P=1
-!$OMP PARALLEL REDUCTION(+: SUM) NUM_THREADS(2)
- CALL F1(J)
- ! I, N and SUM were not flushed
- ! because they were not accessible in F1
- ! J was flushed because it was accessible
- SUM = SUM + J
- CALL F2(J)
- ! I, N, and SUM were not flushed
- ! because they were not accessible in f2
- ! J was flushed because it was accessible
- SUM = SUM + I + J + P + N
-!$OMP END PARALLEL
- G = SUM
- END FUNCTION G
-
- PROGRAM A19
- COMMON /DATA/ P, X
- INTEGER, TARGET :: X
- INTEGER, POINTER :: P
- INTEGER RESULT, G
- P => X
- RESULT = G(10)
- PRINT *, RESULT
- IF (RESULT .NE. 30) THEN
- CALL ABORT
- ENDIF
- END PROGRAM A19
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.2.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.2.1.f90
deleted file mode 100644
index 2b09f5b1f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.2.1.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-! { dg-do run }
-PROGRAM A2
- INCLUDE "omp_lib.h" ! or USE OMP_LIB
- INTEGER X
- X=2
-!$OMP PARALLEL NUM_THREADS(2) SHARED(X)
- IF (OMP_GET_THREAD_NUM() .EQ. 0) THEN
- X=5
- ELSE
- ! PRINT 1: The following read of x has a race
- PRINT *,"1: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X
- ENDIF
-!$OMP BARRIER
- IF (OMP_GET_THREAD_NUM() .EQ. 0) THEN
- ! PRINT 2
- PRINT *,"2: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X
- ELSE
- ! PRINT 3
- PRINT *,"3: THREAD# ", OMP_GET_THREAD_NUM(), "X = ", X
- ENDIF
-!$OMP END PARALLEL
-END PROGRAM A2
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.21.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.21.1.f90
deleted file mode 100644
index c22fa1169..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.21.1.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! { dg-do compile }
- SUBROUTINE WORK(K)
- INTEGER k
-!$OMP ORDERED
- WRITE(*,*) K
-!$OMP END ORDERED
- END SUBROUTINE WORK
- SUBROUTINE SUBA21(LB, UB, STRIDE)
- INTEGER LB, UB, STRIDE
- INTEGER I
-!$OMP PARALLEL DO ORDERED SCHEDULE(DYNAMIC)
- DO I=LB,UB,STRIDE
- CALL WORK(I)
- END DO
-!$OMP END PARALLEL DO
- END SUBROUTINE SUBA21
- PROGRAM A21
- CALL SUBA21(1,100,5)
- END PROGRAM A21
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.7.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.7.f90
deleted file mode 100644
index fff4e6d49..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.7.f90
+++ /dev/null
@@ -1,33 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
-
- PROGRAM A22_7_GOOD
- INTEGER, ALLOCATABLE, SAVE :: A(:)
- INTEGER, POINTER, SAVE :: PTR
- INTEGER, SAVE :: I
- INTEGER, TARGET :: TARG
- LOGICAL :: FIRSTIN = .TRUE.
-!$OMP THREADPRIVATE(A, I, PTR)
- ALLOCATE (A(3))
- A = (/1,2,3/)
- PTR => TARG
- I=5
-!$OMP PARALLEL COPYIN(I, PTR)
-!$OMP CRITICAL
- IF (FIRSTIN) THEN
- TARG = 4 ! Update target of ptr
- I = I + 10
- IF (ALLOCATED(A)) A = A + 10
- FIRSTIN = .FALSE.
- END IF
- IF (ALLOCATED(A)) THEN
- PRINT *, "a = ", A
- ELSE
- PRINT *, "A is not allocated"
- END IF
- PRINT *, "ptr = ", PTR
- PRINT *, "i = ", I
- PRINT *
-!$OMP END CRITICAL
-!$OMP END PARALLEL
- END PROGRAM A22_7_GOOD
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.8.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.8.f90
deleted file mode 100644
index 18c812ac4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.22.8.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
- MODULE A22_MODULE8
- REAL, POINTER :: WORK(:)
- SAVE WORK
-!$OMP THREADPRIVATE(WORK)
- END MODULE A22_MODULE8
- SUBROUTINE SUB1(N)
- USE A22_MODULE8
-!$OMP PARALLEL PRIVATE(THE_SUM)
- ALLOCATE(WORK(N))
- CALL SUB2(THE_SUM)
- WRITE(*,*)THE_SUM
-!$OMP END PARALLEL
- END SUBROUTINE SUB1
- SUBROUTINE SUB2(THE_SUM)
- USE A22_MODULE8
- WORK(:) = 10
- THE_SUM=SUM(WORK)
- END SUBROUTINE SUB2
- PROGRAM A22_8_GOOD
- N = 10
- CALL SUB1(N)
- END PROGRAM A22_8_GOOD
-
-! { dg-final { cleanup-modules "a22_module8" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.26.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.26.1.f90
deleted file mode 100644
index e9ebf87af..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.26.1.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! { dg-do run }
- PROGRAM A26
- INTEGER I, J
- I=1
- J=2
-!$OMP PARALLEL PRIVATE(I) FIRSTPRIVATE(J)
- I=3
- J=J+2
-!$OMP END PARALLEL
- PRINT *, I, J ! I and J are undefined
- END PROGRAM A26
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.1.f90
deleted file mode 100644
index c271333a8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.1.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-! { dg-do run }
-
- SUBROUTINE SUB()
- COMMON /BLOCK/ X
- PRINT *,X ! X is undefined
- END SUBROUTINE SUB
- PROGRAM A28_1
- COMMON /BLOCK/ X
- X = 1.0
-!$OMP PARALLEL PRIVATE (X)
- X = 2.0
- CALL SUB()
-!$OMP END PARALLEL
- END PROGRAM A28_1
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.2.f90
deleted file mode 100644
index 1145e5410..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.2.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! { dg-do run }
-
- PROGRAM A28_2
- COMMON /BLOCK2/ X
- X = 1.0
-!$OMP PARALLEL PRIVATE (X)
- X = 2.0
- CALL SUB()
-!$OMP END PARALLEL
- CONTAINS
- SUBROUTINE SUB()
- COMMON /BLOCK2/ Y
- PRINT *,X ! X is undefined
- PRINT *,Y ! Y is undefined
- END SUBROUTINE SUB
- END PROGRAM A28_2
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.3.f90
deleted file mode 100644
index a337f3bc7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.3.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! { dg-do run }
-
- PROGRAM A28_3
- EQUIVALENCE (X,Y)
- X = 1.0
-!$OMP PARALLEL PRIVATE(X)
- PRINT *,Y ! Y is undefined
- Y = 10
- PRINT *,X ! X is undefined
-!$OMP END PARALLEL
- END PROGRAM A28_3
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f90
deleted file mode 100644
index c5a5cd74c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.4.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-! { dg-do run }
-
- PROGRAM A28_4
- INTEGER I, J
- INTEGER A(100), B(100)
- EQUIVALENCE (A(51), B(1))
-!$OMP PARALLEL DO DEFAULT(PRIVATE) PRIVATE(I,J) LASTPRIVATE(A)
- DO I=1,100
- DO J=1,100
- B(J) = J - 1
- ENDDO
- DO J=1,100
- A(J) = J ! B becomes undefined at this point
- ENDDO
- DO J=1,50
- B(J) = B(J) + 1 ! B is undefined
- ! A becomes undefined at this point
- ENDDO
- ENDDO
-!$OMP END PARALLEL DO ! The LASTPRIVATE write for A has
- ! undefined results
- PRINT *, B ! B is undefined since the LASTPRIVATE
- ! write of A was not defined
- END PROGRAM A28_4
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.5.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.5.f90
deleted file mode 100644
index e3775822f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.28.5.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! { dg-do compile }
-
- SUBROUTINE SUB1(X)
- DIMENSION X(10)
- ! This use of X does not conform to the
- ! specification. It would be legal Fortran 90,
- ! but the OpenMP private directive allows the
- ! compiler to break the sequence association that
- ! A had with the rest of the common block.
- FORALL (I = 1:10) X(I) = I
- END SUBROUTINE SUB1
- PROGRAM A28_5
- COMMON /BLOCK5/ A
- DIMENSION B(10)
- EQUIVALENCE (A,B(1))
- ! the common block has to be at least 10 words
- A=0
-!$OMP PARALLEL PRIVATE(/BLOCK5/)
- ! Without the private clause,
- ! we would be passing a member of a sequence
- ! that is at least ten elements long.
- ! With the private clause, A may no longer be
- ! sequence-associated.
- CALL SUB1(A)
-!$OMP MASTER
- PRINT *, A
-!$OMP END MASTER
-!$OMP END PARALLEL
- END PROGRAM A28_5
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.3.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.3.1.f90
deleted file mode 100644
index 0a1757272..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.3.1.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-! { dg-do run }
-! { dg-options "-ffixed-form" }
- PROGRAM A3
-!234567890
-!$ PRINT *, "Compiled by an OpenMP-compliant implementation."
- END PROGRAM A3
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.4.f90
deleted file mode 100644
index c03ba2adf..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.4.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-! { dg-do run }
- MODULE M
- INTRINSIC MAX
- END MODULE M
- PROGRAM A31_4
- USE M, REN => MAX
- N=0
-!$OMP PARALLEL DO REDUCTION(REN: N) ! still does MAX
- DO I = 1, 100
- N = MAX(N,I)
- END DO
- END PROGRAM A31_4
-
-! { dg-final { cleanup-modules "m" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.5.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.5.f90
deleted file mode 100644
index d81849528..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.31.5.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! { dg-do run }
- MODULE MOD
- INTRINSIC MAX, MIN
- END MODULE MOD
- PROGRAM A31_5
- USE MOD, MIN=>MAX, MAX=>MIN
- REAL :: R
- R = -HUGE(0.0)
- !$OMP PARALLEL DO REDUCTION(MIN: R) ! still does MAX
- DO I = 1, 1000
- R = MIN(R, SIN(REAL(I)))
- END DO
- PRINT *, R
- END PROGRAM A31_5
-
-! { dg-final { cleanup-modules "mod" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.33.3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.33.3.f90
deleted file mode 100644
index adc493fcf..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.33.3.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-! { dg-do compile }
-
- FUNCTION NEW_LOCK()
- USE OMP_LIB ! or INCLUDE "omp_lib.h"
- INTEGER(OMP_LOCK_KIND), POINTER :: NEW_LOCK
-!$OMP SINGLE
- ALLOCATE(NEW_LOCK)
- CALL OMP_INIT_LOCK(NEW_LOCK)
-!$OMP END SINGLE COPYPRIVATE(NEW_LOCK)
- END FUNCTION NEW_LOCK
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.38.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.38.1.f90
deleted file mode 100644
index 55541303c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.38.1.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-! { dg-do compile }
-
- FUNCTION NEW_LOCKS()
- USE OMP_LIB ! or INCLUDE "omp_lib.h"
- INTEGER(OMP_LOCK_KIND), DIMENSION(1000) :: NEW_LOCKS
- INTEGER I
-!$OMP PARALLEL DO PRIVATE(I)
- DO I=1,1000
- CALL OMP_INIT_LOCK(NEW_LOCKS(I))
- END DO
-!$OMP END PARALLEL DO
- END FUNCTION NEW_LOCKS
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.39.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.39.1.f90
deleted file mode 100644
index 540d17f5b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.39.1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! { dg-do run }
-
- SUBROUTINE SKIP(ID)
- END SUBROUTINE SKIP
- SUBROUTINE WORK(ID)
- END SUBROUTINE WORK
- PROGRAM A39
- INCLUDE "omp_lib.h" ! or USE OMP_LIB
- INTEGER(OMP_LOCK_KIND) LCK
- INTEGER ID
- CALL OMP_INIT_LOCK(LCK)
-!$OMP PARALLEL SHARED(LCK) PRIVATE(ID)
- ID = OMP_GET_THREAD_NUM()
- CALL OMP_SET_LOCK(LCK)
- PRINT *, "My thread id is ", ID
- CALL OMP_UNSET_LOCK(LCK)
- DO WHILE (.NOT. OMP_TEST_LOCK(LCK))
- CALL SKIP(ID) ! We do not yet have the lock
- ! so we must do something else
- END DO
- CALL WORK(ID) ! We now have the lock
- ! and can do the work
- CALL OMP_UNSET_LOCK( LCK )
-!$OMP END PARALLEL
- CALL OMP_DESTROY_LOCK( LCK )
- END PROGRAM A39
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.4.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.4.1.f90
deleted file mode 100644
index 3c2a74a4f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.4.1.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! { dg-do run }
- SUBROUTINE SUBDOMAIN(X, ISTART, IPOINTS)
- INTEGER ISTART, IPOINTS
- REAL X(*)
- INTEGER I
- DO 100 I=1,IPOINTS
- X(ISTART+I) = 123.456
- 100 CONTINUE
- END SUBROUTINE SUBDOMAIN
- SUBROUTINE SUB(X, NPOINTS)
- INCLUDE "omp_lib.h" ! or USE OMP_LIB
- REAL X(*)
- INTEGER NPOINTS
- INTEGER IAM, NT, IPOINTS, ISTART
-!$OMP PARALLEL DEFAULT(PRIVATE) SHARED(X,NPOINTS)
- IAM = OMP_GET_THREAD_NUM()
- NT = OMP_GET_NUM_THREADS()
- IPOINTS = NPOINTS/NT
- ISTART = IAM * IPOINTS
- IF (IAM .EQ. NT-1) THEN
- IPOINTS = NPOINTS - ISTART
- ENDIF
- CALL SUBDOMAIN(X,ISTART,IPOINTS)
-!$OMP END PARALLEL
- END SUBROUTINE SUB
- PROGRAM A4
- REAL ARRAY(10000)
- CALL SUB(ARRAY, 10000)
- END PROGRAM A4
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.40.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.40.1.f90
deleted file mode 100644
index c5ecb3c3e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.40.1.f90
+++ /dev/null
@@ -1,54 +0,0 @@
-! { dg-do compile }
-! { dg-options "-ffixed-form" }
- MODULE DATA
- USE OMP_LIB, ONLY: OMP_NEST_LOCK_KIND
- TYPE LOCKED_PAIR
- INTEGER A
- INTEGER B
- INTEGER (OMP_NEST_LOCK_KIND) LCK
- END TYPE
- END MODULE DATA
- SUBROUTINE INCR_A(P, A)
- ! called only from INCR_PAIR, no need to lock
- USE DATA
- TYPE(LOCKED_PAIR) :: P
- INTEGER A
- P%A = P%A + A
- END SUBROUTINE INCR_A
- SUBROUTINE INCR_B(P, B)
- ! called from both INCR_PAIR and elsewhere,
- ! so we need a nestable lock
- USE OMP_LIB ! or INCLUDE "omp_lib.h"
- USE DATA
- TYPE(LOCKED_PAIR) :: P
- INTEGER B
- CALL OMP_SET_NEST_LOCK(P%LCK)
- P%B = P%B + B
- CALL OMP_UNSET_NEST_LOCK(P%LCK)
- END SUBROUTINE INCR_B
- SUBROUTINE INCR_PAIR(P, A, B)
- USE OMP_LIB ! or INCLUDE "omp_lib.h"
- USE DATA
- TYPE(LOCKED_PAIR) :: P
- INTEGER A
- INTEGER B
- CALL OMP_SET_NEST_LOCK(P%LCK)
- CALL INCR_A(P, A)
- CALL INCR_B(P, B)
- CALL OMP_UNSET_NEST_LOCK(P%LCK)
- END SUBROUTINE INCR_PAIR
- SUBROUTINE A40(P)
- USE OMP_LIB ! or INCLUDE "omp_lib.h"
- USE DATA
- TYPE(LOCKED_PAIR) :: P
- INTEGER WORK1, WORK2, WORK3
- EXTERNAL WORK1, WORK2, WORK3
-!$OMP PARALLEL SECTIONS
-!$OMP SECTION
- CALL INCR_PAIR(P, WORK1(), WORK2())
-!$OMP SECTION
- CALL INCR_B(P, WORK3())
-!$OMP END PARALLEL SECTIONS
- END SUBROUTINE A40
-
-! { dg-final { cleanup-modules "data" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.5.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.5.1.f90
deleted file mode 100644
index 13e451e50..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a.5.1.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! { dg-do run }
- PROGRAM A5
- INCLUDE "omp_lib.h" ! or USE OMP_LIB
- CALL OMP_SET_DYNAMIC(.TRUE.)
-!$OMP PARALLEL NUM_THREADS(10)
- ! do work here
-!$OMP END PARALLEL
- END PROGRAM A5
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a10.1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a10.1.f90
deleted file mode 100644
index c1564bf4b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/appendix-a/a10.1.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! { dg-do run }
- SUBROUTINE WORK1()
- END SUBROUTINE WORK1
- SUBROUTINE WORK2()
- END SUBROUTINE WORK2
- PROGRAM A10
-!$OMP PARALLEL
-!$OMP SINGLE
- print *, "Beginning work1."
-!$OMP END SINGLE
- CALL WORK1()
-!$OMP SINGLE
- print *, "Finishing work1."
-!$OMP END SINGLE
-!$OMP SINGLE
- print *, "Finished work1 and beginning work2."
-!$OMP END SINGLE NOWAIT
- CALL WORK2()
-!$OMP END PARALLEL
- END PROGRAM A10
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character1.f90
deleted file mode 100644
index f75ae27e8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character1.f90
+++ /dev/null
@@ -1,72 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- character (len = 8) :: h, i
- character (len = 4) :: j, k
- h = '01234567'
- i = 'ABCDEFGH'
- j = 'IJKL'
- k = 'MN'
- call test (h, j)
-contains
- subroutine test (p, q)
- character (len = 8) :: p
- character (len = 4) :: q, r
- character (len = 16) :: f
- character (len = 32) :: g
- integer, dimension (18) :: s
- logical :: l
- integer :: m
- f = 'test16'
- g = 'abcdefghijklmnopqrstuvwxyz'
- r = ''
- l = .false.
- s = -6
-!$omp parallel firstprivate (f, p, s) private (r, m) reduction (.or.:l) &
-!$omp & num_threads (4)
- m = omp_get_thread_num ()
- if (any (s .ne. -6)) l = .true.
- l = l .or. f .ne. 'test16' .or. p .ne. '01234567'
- l = l .or. g .ne. 'abcdefghijklmnopqrstuvwxyz'
- l = l .or. i .ne. 'ABCDEFGH' .or. q .ne. 'IJKL'
- l = l .or. k .ne. 'MN'
-!$omp barrier
- if (m .eq. 0) then
- f = 'ffffffff0'
- g = 'xyz'
- i = '123'
- k = '9876'
- p = '_abc'
- q = '_def'
- r = '1_23'
- else if (m .eq. 1) then
- f = '__'
- p = 'xxx'
- r = '7575'
- else if (m .eq. 2) then
- f = 'ZZ'
- p = 'm2'
- r = 'M2'
- else if (m .eq. 3) then
- f = 'YY'
- p = 'm3'
- r = 'M3'
- end if
- s = m
-!$omp barrier
- l = l .or. g .ne. 'xyz' .or. i .ne. '123' .or. k .ne. '9876'
- l = l .or. q .ne. '_def'
- if (any (s .ne. m)) l = .true.
- if (m .eq. 0) then
- l = l .or. f .ne. 'ffffffff0' .or. p .ne. '_abc' .or. r .ne. '1_23'
- else if (m .eq. 1) then
- l = l .or. f .ne. '__' .or. p .ne. 'xxx' .or. r .ne. '7575'
- else if (m .eq. 2) then
- l = l .or. f .ne. 'ZZ' .or. p .ne. 'm2' .or. r .ne. 'M2'
- else if (m .eq. 3) then
- l = l .or. f .ne. 'YY' .or. p .ne. 'm3' .or. r .ne. 'M3'
- end if
-!$omp end parallel
- if (l) call abort
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character2.f90
deleted file mode 100644
index d59032b57..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/character2.f90
+++ /dev/null
@@ -1,61 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- character (len = 8) :: h
- character (len = 9) :: i
- h = '01234567'
- i = 'ABCDEFGHI'
- call test (h, i, 9)
-contains
- subroutine test (p, q, n)
- character (len = *) :: p
- character (len = n) :: q
- character (len = n) :: r
- character (len = n) :: t
- character (len = n) :: u
- integer, dimension (n + 4) :: s
- logical :: l
- integer :: m
- r = ''
- if (n .gt. 8) r = 'jklmnopqr'
- do m = 1, n + 4
- s(m) = m
- end do
- u = 'abc'
- l = .false.
-!$omp parallel firstprivate (p, q, r) private (t, m) reduction (.or.:l) &
-!$omp & num_threads (2)
- do m = 1, 13
- if (s(m) .ne. m) l = .true.
- end do
- m = omp_get_thread_num ()
- l = l .or. p .ne. '01234567' .or. q .ne. 'ABCDEFGHI'
- l = l .or. r .ne. 'jklmnopqr' .or. u .ne. 'abc'
-!$omp barrier
- if (m .eq. 0) then
- p = 'A'
- q = 'B'
- r = 'C'
- t = '123'
- u = '987654321'
- else if (m .eq. 1) then
- p = 'D'
- q = 'E'
- r = 'F'
- t = '456'
- s = m
- end if
-!$omp barrier
- l = l .or. u .ne. '987654321'
- if (any (s .ne. 1)) l = .true.
- if (m .eq. 0) then
- l = l .or. p .ne. 'A' .or. q .ne. 'B' .or. r .ne. 'C'
- l = l .or. t .ne. '123'
- else
- l = l .or. p .ne. 'D' .or. q .ne. 'E' .or. r .ne. 'F'
- l = l .or. t .ne. '456'
- end if
-!$omp end parallel
- if (l) call abort
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse1.f90
deleted file mode 100644
index 1ecfa0c93..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! { dg-do run }
-
-program collapse1
- integer :: i, j, k, a(1:3, 4:6, 5:7)
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse(4 - 1) schedule(static, 4)
- do i = 1, 3
- do j = 4, 6
- do k = 5, 7
- a(i, j, k) = i + j + k
- end do
- end do
- end do
- !$omp parallel do collapse(2) reduction(.or.:l)
- do i = 1, 3
- do j = 4, 6
- do k = 5, 7
- if (a(i, j, k) .ne. (i + j + k)) l = .true.
- end do
- end do
- end do
- !$omp end parallel do
- if (l) call abort
-end program collapse1
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse2.f90
deleted file mode 100644
index 77e0dee82..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse2.f90
+++ /dev/null
@@ -1,53 +0,0 @@
-! { dg-do run }
-
-program collapse2
- call test1
- call test2
-contains
- subroutine test1
- integer :: i, j, k, a(1:3, 4:6, 5:7)
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse(4 - 1) schedule(static, 4)
- do 164 i = 1, 3
- do 164 j = 4, 6
- do 164 k = 5, 7
- a(i, j, k) = i + j + k
-164 end do
- !$omp parallel do collapse(2) reduction(.or.:l)
-firstdo: do i = 1, 3
- do j = 4, 6
- do k = 5, 7
- if (a(i, j, k) .ne. (i + j + k)) l = .true.
- end do
- end do
- end do firstdo
- !$omp end parallel do
- if (l) call abort
- end subroutine test1
-
- subroutine test2
- integer :: a(3,3,3), k, kk, kkk, l, ll, lll
- !$omp do collapse(3)
- do 115 k=1,3
- dokk: do kk=1,3
- do kkk=1,3
- a(k,kk,kkk) = 1
- enddo
- enddo dokk
-115 continue
- if (any(a(1:3,1:3,1:3).ne.1)) call abort
-
- !$omp do collapse(3)
- dol: do 120 l=1,3
- doll: do ll=1,3
- do lll=1,3
- a(l,ll,lll) = 2
- enddo
- enddo doll
-120 end do dol
- if (any(a(1:3,1:3,1:3).ne.2)) call abort
- end subroutine test2
-
-end program collapse2
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90
deleted file mode 100644
index eac9eac65..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90
+++ /dev/null
@@ -1,204 +0,0 @@
-! { dg-do run }
-
-program collapse3
- call test1
- call test2 (2, 6, -2, 4, 13, 18)
- call test3 (2, 6, -2, 4, 13, 18, 1, 1, 1)
- call test4
- call test5 (2, 6, -2, 4, 13, 18)
- call test6 (2, 6, -2, 4, 13, 18, 1, 1, 1)
-contains
- subroutine test1
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l)
- do i = 2, 6
- do j = -2, 4
- do k = 13, 18
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test1
-
- subroutine test2(v1, v2, v3, v4, v5, v6)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l)
- do i = v1, v2
- do j = v3, v4
- do k = v5, v6
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test2
-
- subroutine test3(v1, v2, v3, v4, v5, v6, v7, v8, v9)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6, v7, v8, v9
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l)
- do i = v1, v2, v7
- do j = v3, v4, v8
- do k = v5, v6, v9
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test3
-
- subroutine test4
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l) &
- !$omp& schedule (dynamic, 5)
- do i = 2, 6
- do j = -2, 4
- do k = 13, 18
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test4
-
- subroutine test5(v1, v2, v3, v4, v5, v6)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l) &
- !$omp & schedule (guided)
- do i = v1, v2
- do j = v3, v4
- do k = v5, v6
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test5
-
- subroutine test6(v1, v2, v3, v4, v5, v6, v7, v8, v9)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6, v7, v8, v9
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l) &
- !$omp & schedule (dynamic)
- do i = v1, v2, v7
- do j = v3, v4, v8
- do k = v5, v6, v9
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test6
-
-end program collapse3
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse4.f90
deleted file mode 100644
index f19b0f6c6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse4.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-! { dg-do run }
-
- integer :: i, j, k
- !$omp parallel do lastprivate (i, j, k) collapse (3)
- do i = 0, 17
- do j = 0, 6
- do k = 0, 5
- end do
- end do
- end do
- if (i .ne. 18 .or. j .ne. 7 .or. k .ne. 6) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.f
deleted file mode 100644
index d94fe8d0f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.f
+++ /dev/null
@@ -1,7 +0,0 @@
-! { dg-options "-fopenmp" }
- program condinc1
- logical l
- l = .false.
-!$ include 'condinc1.inc'
- stop 2
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.inc b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.inc
deleted file mode 100644
index 4624db7c4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc1.inc
+++ /dev/null
@@ -1,2 +0,0 @@
- if (l) stop 3
- return
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc2.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc2.f
deleted file mode 100644
index 8123be455..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc2.f
+++ /dev/null
@@ -1,7 +0,0 @@
-! { dg-options "-fno-openmp" }
- program condinc2
- logical l
- l = .true.
-C$ include 'condinc1.inc'
- return
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc3.f90
deleted file mode 100644
index 16b937a0a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc3.f90
+++ /dev/null
@@ -1,7 +0,0 @@
- ! { dg-options "-fopenmp" }
-program condinc3
- logical l
- l = .false.
- !$ include 'condinc1.inc'
- stop 2
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc4.f90
deleted file mode 100644
index 33250256b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/condinc4.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-! { dg-options "-fno-openmp" }
- program condinc4
- logical l
- l = .true.
-!$ include 'condinc1.inc'
- return
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr1.f90
deleted file mode 100644
index 57c59f71f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr1.f90
+++ /dev/null
@@ -1,46 +0,0 @@
-! { dg-do run }
-! { dg-options "-fopenmp -fcray-pointer" }
-
- use omp_lib
- integer :: a, b, c, p
- logical :: l
- pointer (ip, p)
- a = 1
- b = 2
- c = 3
- l = .false.
- ip = loc (a)
-
-!$omp parallel num_threads (2) reduction (.or.:l)
- l = p .ne. 1
-!$omp barrier
-!$omp master
- ip = loc (b)
-!$omp end master
-!$omp barrier
- l = l .or. p .ne. 2
-!$omp barrier
- if (omp_get_thread_num () .eq. 1 .or. omp_get_num_threads () .lt. 2) &
- ip = loc (c)
-!$omp barrier
- l = l .or. p .ne. 3
-!$omp end parallel
-
- if (l) call abort
-
- l = .false.
-!$omp parallel num_threads (2) reduction (.or.:l) default (private)
- ip = loc (a)
- a = 3 * omp_get_thread_num () + 4
- b = a + 1
- c = a + 2
- l = p .ne. 3 * omp_get_thread_num () + 4
- ip = loc (c)
- l = l .or. p .ne. 3 * omp_get_thread_num () + 6
- ip = loc (b)
- l = l .or. p .ne. 3 * omp_get_thread_num () + 5
-!$omp end parallel
-
- if (l) call abort
-
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr2.f90
deleted file mode 100644
index d174d0366..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/crayptr2.f90
+++ /dev/null
@@ -1,31 +0,0 @@
-! { dg-do run }
-! { dg-options "-fopenmp -fcray-pointer" }
-! { dg-options "-fopenmp -fcray-pointer -static-libgcc" { target *-*-darwin* } }
-
- use omp_lib
- integer :: a, b, c, d, p
- logical :: l
- pointer (ip, p)
- save ip
-!$omp threadprivate (ip)
- a = 1
- b = 2
- c = 3
- l = .false.
-!$omp parallel num_threads (3) reduction (.or.:l)
- if (omp_get_thread_num () .eq. 0) then
- ip = loc (a)
- elseif (omp_get_thread_num () .eq. 1) then
- ip = loc (b)
- else
- ip = loc (c)
- end if
- l = p .ne. omp_get_thread_num () + 1
-!$omp single
- d = omp_get_thread_num ()
-!$omp end single copyprivate (d, ip)
- l = l .or. (p .ne. d + 1)
-!$omp end parallel
-
- if (l) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do1.f90
deleted file mode 100644
index 2a48c7345..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do1.f90
+++ /dev/null
@@ -1,179 +0,0 @@
-! { dg-do run }
-
- integer, dimension (128) :: a, b
- integer :: i
- a = -1
- b = -1
- do i = 1, 128
- if (i .ge. 8 .and. i .le. 15) then
- b(i) = 1 * 256 + i
- else if (i .ge. 19 .and. i .le. 23) then
- b(i) = 2 * 256 + i
- else if (i .ge. 28 .and. i .le. 38) then
- if (iand (i, 1) .eq. 0) b(i) = 3 * 256 + i
- else if (i .ge. 59 .and. i .le. 79) then
- if (iand (i - 59, 3) .eq. 0) b(i) = 4 * 256 + i
- else if (i .ge. 101 .and. i .le. 125) then
- if (mod (i - 101, 12) .eq. 0) b(i) = 5 * 256 + i
- end if
- end do
-
-!$omp parallel num_threads (4)
-
-!$omp do
- do i = 8, 15
- a(i) = 1 * 256 + i
- end do
-
-!$omp do
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
- end do
-
-!$omp do
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
- end do
-
-!$omp do
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
- end do
-
-!$omp do
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b)) call abort
- a = -1
-
-!$omp parallel num_threads (4)
-
-!$omp do schedule (static)
- do i = 8, 15
- a(i) = 1 * 256 + i
- end do
-
-!$omp do schedule (static, 1)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
- end do
-
-!$omp do schedule (static, 3)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
- end do
-
-!$omp do schedule (static, 6)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
- end do
-
-!$omp do schedule (static, 2)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b)) call abort
- a = -1
-
-!$omp parallel num_threads (4)
-
-!$omp do schedule (dynamic)
- do i = 8, 15
- a(i) = 1 * 256 + i
- end do
-
-!$omp do schedule (dynamic, 4)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
- end do
-
-!$omp do schedule (dynamic, 1)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
- end do
-
-!$omp do schedule (dynamic, 2)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
- end do
-
-!$omp do schedule (dynamic, 3)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b)) call abort
- a = -1
-
-!$omp parallel num_threads (4)
-
-!$omp do schedule (guided)
- do i = 8, 15
- a(i) = 1 * 256 + i
- end do
-
-!$omp do schedule (guided, 4)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
- end do
-
-!$omp do schedule (guided, 1)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
- end do
-
-!$omp do schedule (guided, 2)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
- end do
-
-!$omp do schedule (guided, 3)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b)) call abort
- a = -1
-
-!$omp parallel num_threads (4)
-
-!$omp do schedule (runtime)
- do i = 8, 15
- a(i) = 1 * 256 + i
- end do
-
-!$omp do schedule (runtime)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
- end do
-
-!$omp do schedule (runtime)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
- end do
-
-!$omp do schedule (runtime)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
- end do
-
-!$omp do schedule (runtime)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b)) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do2.f90
deleted file mode 100644
index b90ccddd8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/do2.f90
+++ /dev/null
@@ -1,366 +0,0 @@
-! { dg-do run }
-
- integer, dimension (128) :: a, b
- integer :: i, j
- logical :: k
- a = -1
- b = -1
- do i = 1, 128
- if (i .ge. 8 .and. i .le. 15) then
- b(i) = 1 * 256 + i
- else if (i .ge. 19 .and. i .le. 23) then
- b(i) = 2 * 256 + i
- else if (i .ge. 28 .and. i .le. 38) then
- if (iand (i, 1) .eq. 0) b(i) = 3 * 256 + i
- else if (i .ge. 59 .and. i .le. 79) then
- if (iand (i - 59, 3) .eq. 0) b(i) = 4 * 256 + i
- else if (i .ge. 101 .and. i .le. 125) then
- if (mod (i - 101, 12) .eq. 0) b(i) = 5 * 256 + i
- end if
- end do
-
- k = .false.
- j = 8
-!$omp parallel num_threads (4)
-
-!$omp do ordered
- do i = 8, 15
- a(i) = 1 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 23
-!$omp end single
-
-!$omp do ordered
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 28
-!$omp end single
-
-!$omp do ordered
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 2
-!$omp end ordered
- end do
-
-!$omp single
- j = 79
-!$omp end single
-
-!$omp do ordered
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 4
-!$omp end ordered
- end do
-
-!$omp single
- j = 125
-!$omp end single
-
-!$omp do ordered
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 12
-!$omp end ordered
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b) .or. k) call abort
- a = -1
- k = .false.
- j = 8
-!$omp parallel num_threads (4)
-
-!$omp do ordered schedule (static)
- do i = 8, 15
- a(i) = 1 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 23
-!$omp end single
-
-!$omp do ordered schedule (static, 1)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 28
-!$omp end single
-
-!$omp do ordered schedule (static, 3)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 2
-!$omp end ordered
- end do
-
-!$omp single
- j = 79
-!$omp end single
-
-!$omp do ordered schedule (static, 6)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 4
-!$omp end ordered
- end do
-
-!$omp single
- j = 125
-!$omp end single
-
-!$omp do ordered schedule (static, 2)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 12
-!$omp end ordered
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b) .or. k) call abort
- a = -1
- k = .false.
- j = 8
-!$omp parallel num_threads (4)
-
-!$omp do ordered schedule (dynamic)
- do i = 8, 15
- a(i) = 1 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 23
-!$omp end single
-
-!$omp do ordered schedule (dynamic, 4)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 28
-!$omp end single
-
-!$omp do ordered schedule (dynamic, 1)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 2
-!$omp end ordered
- end do
-
-!$omp single
- j = 79
-!$omp end single
-
-!$omp do ordered schedule (dynamic, 2)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 4
-!$omp end ordered
- end do
-
-!$omp single
- j = 125
-!$omp end single
-
-!$omp do ordered schedule (dynamic, 3)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 12
-!$omp end ordered
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b) .or. k) call abort
- a = -1
- k = .false.
- j = 8
-!$omp parallel num_threads (4)
-
-!$omp do ordered schedule (guided)
- do i = 8, 15
- a(i) = 1 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 23
-!$omp end single
-
-!$omp do ordered schedule (guided, 4)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 28
-!$omp end single
-
-!$omp do ordered schedule (guided, 1)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 2
-!$omp end ordered
- end do
-
-!$omp single
- j = 79
-!$omp end single
-
-!$omp do ordered schedule (guided, 2)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 4
-!$omp end ordered
- end do
-
-!$omp single
- j = 125
-!$omp end single
-
-!$omp do ordered schedule (guided, 3)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 12
-!$omp end ordered
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b) .or. k) call abort
- a = -1
- k = .false.
- j = 8
-!$omp parallel num_threads (4)
-
-!$omp do ordered schedule (runtime)
- do i = 8, 15
- a(i) = 1 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 23
-!$omp end single
-
-!$omp do ordered schedule (runtime)
- do i = 23, 19, -1
- a(i) = 2 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 1
-!$omp end ordered
- end do
-
-!$omp single
- j = 28
-!$omp end single
-
-!$omp do ordered schedule (runtime)
- do i = 28, 39, 2
- a(i) = 3 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j + 2
-!$omp end ordered
- end do
-
-!$omp single
- j = 79
-!$omp end single
-
-!$omp do ordered schedule (runtime)
- do i = 79, 59, -4
- a(i) = 4 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 4
-!$omp end ordered
- end do
-
-!$omp single
- j = 125
-!$omp end single
-
-!$omp do ordered schedule (runtime)
- do i = 125, 90, -12
- a(i) = 5 * 256 + i
-!$omp ordered
- if (i .ne. j) k = .true.
- j = j - 12
-!$omp end ordered
- end do
-
-!$omp end parallel
-
- if (any (a .ne. b) .or. k) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/fortran.exp b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/fortran.exp
deleted file mode 100644
index 0f7ad6e5a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/fortran.exp
+++ /dev/null
@@ -1,42 +0,0 @@
-set lang_library_path "../libgfortran/.libs"
-set lang_link_flags "-lgfortranbegin -lgfortran"
-set lang_test_file_found 0
-
-load_lib libgomp-dg.exp
-
-# Initialize dg.
-dg-init
-
-if { $blddir != "" } {
- if [file exists "${blddir}/${lang_library_path}/libgfortranbegin.a"] {
- set lang_test_file "${lang_library_path}/libgfortranbegin.a"
- set lang_test_file_found 1
- } else {
- puts "No libgfortranbegin library found, will not execute fortran tests"
- }
-} elseif [info exists GFORTRAN_UNDER_TEST] {
- set lang_test_file_found 1
- # Needs to exist for libgomp.exp.
- set lang_test_file ""
-} else {
- puts "GFORTRAN_UNDER_TEST not defined, will not execute fortran tests"
-}
-
-if { $lang_test_file_found } {
- # Gather a list of all tests.
- set tests [lsort [find $srcdir/$subdir *.\[fF\]{,90,95,03,08}]]
-
- if { $blddir != "" } {
- set ld_library_path "$always_ld_library_path:${blddir}/${lang_library_path}"
- } else {
- set ld_library_path "$always_ld_library_path"
- }
- append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
- set_ld_library_path_env_vars
-
- # Main loop.
- gfortran-dg-runtest $tests ""
-}
-
-# All done.
-dg-finish
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/jacobi.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/jacobi.f
deleted file mode 100644
index b27e20f27..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/jacobi.f
+++ /dev/null
@@ -1,261 +0,0 @@
-* { dg-do run }
-
- program main
-************************************************************
-* program to solve a finite difference
-* discretization of Helmholtz equation :
-* (d2/dx2)u + (d2/dy2)u - alpha u = f
-* using Jacobi iterative method.
-*
-* Modified: Sanjiv Shah, Kuck and Associates, Inc. (KAI), 1998
-* Author: Joseph Robicheaux, Kuck and Associates, Inc. (KAI), 1998
-*
-* Directives are used in this code to achieve paralleism.
-* All do loops are parallized with default 'static' scheduling.
-*
-* Input : n - grid dimension in x direction
-* m - grid dimension in y direction
-* alpha - Helmholtz constant (always greater than 0.0)
-* tol - error tolerance for iterative solver
-* relax - Successice over relaxation parameter
-* mits - Maximum iterations for iterative solver
-*
-* On output
-* : u(n,m) - Dependent variable (solutions)
-* : f(n,m) - Right hand side function
-*************************************************************
- implicit none
-
- integer n,m,mits,mtemp
- include "omp_lib.h"
- double precision tol,relax,alpha
-
- common /idat/ n,m,mits,mtemp
- common /fdat/tol,alpha,relax
-*
-* Read info
-*
- write(*,*) "Input n,m - grid dimension in x,y direction "
- n = 64
- m = 64
-* read(5,*) n,m
- write(*,*) n, m
- write(*,*) "Input alpha - Helmholts constant "
- alpha = 0.5
-* read(5,*) alpha
- write(*,*) alpha
- write(*,*) "Input relax - Successive over-relaxation parameter"
- relax = 0.9
-* read(5,*) relax
- write(*,*) relax
- write(*,*) "Input tol - error tolerance for iterative solver"
- tol = 1.0E-12
-* read(5,*) tol
- write(*,*) tol
- write(*,*) "Input mits - Maximum iterations for solver"
- mits = 100
-* read(5,*) mits
- write(*,*) mits
-
- call omp_set_num_threads (2)
-
-*
-* Calls a driver routine
-*
- call driver ()
-
- stop
- end
-
- subroutine driver ( )
-*************************************************************
-* Subroutine driver ()
-* This is where the arrays are allocated and initialzed.
-*
-* Working varaibles/arrays
-* dx - grid spacing in x direction
-* dy - grid spacing in y direction
-*************************************************************
- implicit none
-
- integer n,m,mits,mtemp
- double precision tol,relax,alpha
-
- common /idat/ n,m,mits,mtemp
- common /fdat/tol,alpha,relax
-
- double precision u(n,m),f(n,m),dx,dy
-
-* Initialize data
-
- call initialize (n,m,alpha,dx,dy,u,f)
-
-* Solve Helmholtz equation
-
- call jacobi (n,m,dx,dy,alpha,relax,u,f,tol,mits)
-
-* Check error between exact solution
-
- call error_check (n,m,alpha,dx,dy,u,f)
-
- return
- end
-
- subroutine initialize (n,m,alpha,dx,dy,u,f)
-******************************************************
-* Initializes data
-* Assumes exact solution is u(x,y) = (1-x^2)*(1-y^2)
-*
-******************************************************
- implicit none
-
- integer n,m
- double precision u(n,m),f(n,m),dx,dy,alpha
-
- integer i,j, xx,yy
- double precision PI
- parameter (PI=3.1415926)
-
- dx = 2.0 / (n-1)
- dy = 2.0 / (m-1)
-
-* Initilize initial condition and RHS
-
-!$omp parallel do private(xx,yy)
- do j = 1,m
- do i = 1,n
- xx = -1.0 + dx * dble(i-1) ! -1 < x < 1
- yy = -1.0 + dy * dble(j-1) ! -1 < y < 1
- u(i,j) = 0.0
- f(i,j) = -alpha *(1.0-xx*xx)*(1.0-yy*yy)
- & - 2.0*(1.0-xx*xx)-2.0*(1.0-yy*yy)
- enddo
- enddo
-!$omp end parallel do
-
- return
- end
-
- subroutine jacobi (n,m,dx,dy,alpha,omega,u,f,tol,maxit)
-******************************************************************
-* Subroutine HelmholtzJ
-* Solves poisson equation on rectangular grid assuming :
-* (1) Uniform discretization in each direction, and
-* (2) Dirichlect boundary conditions
-*
-* Jacobi method is used in this routine
-*
-* Input : n,m Number of grid points in the X/Y directions
-* dx,dy Grid spacing in the X/Y directions
-* alpha Helmholtz eqn. coefficient
-* omega Relaxation factor
-* f(n,m) Right hand side function
-* u(n,m) Dependent variable/Solution
-* tol Tolerance for iterative solver
-* maxit Maximum number of iterations
-*
-* Output : u(n,m) - Solution
-*****************************************************************
- implicit none
- integer n,m,maxit
- double precision dx,dy,f(n,m),u(n,m),alpha, tol,omega
-*
-* Local variables
-*
- integer i,j,k,k_local
- double precision error,resid,rsum,ax,ay,b
- double precision error_local, uold(n,m)
-
- real ta,tb,tc,td,te,ta1,ta2,tb1,tb2,tc1,tc2,td1,td2
- real te1,te2
- real second
- external second
-*
-* Initialize coefficients
- ax = 1.0/(dx*dx) ! X-direction coef
- ay = 1.0/(dy*dy) ! Y-direction coef
- b = -2.0/(dx*dx)-2.0/(dy*dy) - alpha ! Central coeff
-
- error = 10.0 * tol
- k = 1
-
- do while (k.le.maxit .and. error.gt. tol)
-
- error = 0.0
-
-* Copy new solution into old
-!$omp parallel
-
-!$omp do
- do j=1,m
- do i=1,n
- uold(i,j) = u(i,j)
- enddo
- enddo
-
-* Compute stencil, residual, & update
-
-!$omp do private(resid) reduction(+:error)
- do j = 2,m-1
- do i = 2,n-1
-* Evaluate residual
- resid = (ax*(uold(i-1,j) + uold(i+1,j))
- & + ay*(uold(i,j-1) + uold(i,j+1))
- & + b * uold(i,j) - f(i,j))/b
-* Update solution
- u(i,j) = uold(i,j) - omega * resid
-* Accumulate residual error
- error = error + resid*resid
- end do
- enddo
-!$omp enddo nowait
-
-!$omp end parallel
-
-* Error check
-
- k = k + 1
-
- error = sqrt(error)/dble(n*m)
-*
- enddo ! End iteration loop
-*
- print *, 'Total Number of Iterations ', k
- print *, 'Residual ', error
-
- return
- end
-
- subroutine error_check (n,m,alpha,dx,dy,u,f)
- implicit none
-************************************************************
-* Checks error between numerical and exact solution
-*
-************************************************************
-
- integer n,m
- double precision u(n,m),f(n,m),dx,dy,alpha
-
- integer i,j
- double precision xx,yy,temp,error
-
- dx = 2.0 / (n-1)
- dy = 2.0 / (m-1)
- error = 0.0
-
-!$omp parallel do private(xx,yy,temp) reduction(+:error)
- do j = 1,m
- do i = 1,n
- xx = -1.0d0 + dx * dble(i-1)
- yy = -1.0d0 + dy * dble(j-1)
- temp = u(i,j) - (1.0-xx*xx)*(1.0-yy*yy)
- error = error + temp*temp
- enddo
- enddo
-
- error = sqrt(error)/dble(n*m)
-
- print *, 'Solution Error : ',error
-
- return
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate1.f90
deleted file mode 100644
index 91bb96ca7..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate1.f90
+++ /dev/null
@@ -1,126 +0,0 @@
-program lastprivate
- integer :: i
- common /c/ i
- !$omp parallel num_threads (4)
- call test1
- !$omp end parallel
- if (i .ne. 21) call abort
- !$omp parallel num_threads (4)
- call test2
- !$omp end parallel
- if (i .ne. 64) call abort
- !$omp parallel num_threads (4)
- call test3
- !$omp end parallel
- if (i .ne. 14) call abort
- call test4
- call test5
- call test6
- call test7
- call test8
- call test9
- call test10
- call test11
- call test12
-contains
- subroutine test1
- integer :: i
- common /c/ i
- !$omp do lastprivate (i)
- do i = 1, 20
- end do
- end subroutine test1
- subroutine test2
- integer :: i
- common /c/ i
- !$omp do lastprivate (i)
- do i = 7, 61, 3
- end do
- end subroutine test2
- function ret3 ()
- integer :: ret3
- ret3 = 3
- end function ret3
- subroutine test3
- integer :: i
- common /c/ i
- !$omp do lastprivate (i)
- do i = -10, 11, ret3 ()
- end do
- end subroutine test3
- subroutine test4
- integer :: j
- !$omp parallel do lastprivate (j) num_threads (4) default (none)
- do j = 1, 20
- end do
- if (j .ne. 21) call abort
- end subroutine test4
- subroutine test5
- integer :: j
- !$omp parallel do lastprivate (j) num_threads (4) default (none)
- do j = 7, 61, 3
- end do
- if (j .ne. 64) call abort
- end subroutine test5
- subroutine test6
- integer :: j
- !$omp parallel do lastprivate (j) num_threads (4) default (none)
- do j = -10, 11, ret3 ()
- end do
- if (j .ne. 14) call abort
- end subroutine test6
- subroutine test7
- integer :: i
- common /c/ i
- !$omp parallel do lastprivate (i) num_threads (4) default (none)
- do i = 1, 20
- end do
- if (i .ne. 21) call abort
- end subroutine test7
- subroutine test8
- integer :: i
- common /c/ i
- !$omp parallel do lastprivate (i) num_threads (4) default (none)
- do i = 7, 61, 3
- end do
- if (i .ne. 64) call abort
- end subroutine test8
- subroutine test9
- integer :: i
- common /c/ i
- !$omp parallel do lastprivate (i) num_threads (4) default (none)
- do i = -10, 11, ret3 ()
- end do
- if (i .ne. 14) call abort
- end subroutine test9
- subroutine test10
- integer :: i
- common /c/ i
- !$omp parallel num_threads (4) default (none) shared (i)
- !$omp do lastprivate (i)
- do i = 1, 20
- end do
- !$omp end parallel
- if (i .ne. 21) call abort
- end subroutine test10
- subroutine test11
- integer :: i
- common /c/ i
- !$omp parallel num_threads (4) default (none) shared (i)
- !$omp do lastprivate (i)
- do i = 7, 61, 3
- end do
- !$omp end parallel
- if (i .ne. 64) call abort
- end subroutine test11
- subroutine test12
- integer :: i
- common /c/ i
- !$omp parallel num_threads (4) default (none) shared (i)
- !$omp do lastprivate (i)
- do i = -10, 11, ret3 ()
- end do
- !$omp end parallel
- if (i .ne. 14) call abort
- end subroutine test12
-end program lastprivate
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate2.f90
deleted file mode 100644
index 6d7e11eab..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lastprivate2.f90
+++ /dev/null
@@ -1,141 +0,0 @@
-program lastprivate
- integer :: i, k
- common /c/ i, k
- !$omp parallel num_threads (4)
- call test1
- !$omp end parallel
- if (i .ne. 21 .or. k .ne. 20) call abort
- !$omp parallel num_threads (4)
- call test2
- !$omp end parallel
- if (i .ne. 64 .or. k .ne. 61) call abort
- !$omp parallel num_threads (4)
- call test3
- !$omp end parallel
- if (i .ne. 14 .or. k .ne. 11) call abort
- call test4
- call test5
- call test6
- call test7
- call test8
- call test9
- call test10
- call test11
- call test12
-contains
- subroutine test1
- integer :: i, k
- common /c/ i, k
- !$omp do lastprivate (i, k)
- do i = 1, 20
- k = i
- end do
- end subroutine test1
- subroutine test2
- integer :: i, k
- common /c/ i, k
- !$omp do lastprivate (i, k)
- do i = 7, 61, 3
- k = i
- end do
- end subroutine test2
- function ret3 ()
- integer :: ret3
- ret3 = 3
- end function ret3
- subroutine test3
- integer :: i, k
- common /c/ i, k
- !$omp do lastprivate (i, k)
- do i = -10, 11, ret3 ()
- k = i
- end do
- end subroutine test3
- subroutine test4
- integer :: j, l
- !$omp parallel do lastprivate (j, l) num_threads (4)
- do j = 1, 20
- l = j
- end do
- if (j .ne. 21 .or. l .ne. 20) call abort
- end subroutine test4
- subroutine test5
- integer :: j, l
- l = 77
- !$omp parallel do lastprivate (j, l) num_threads (4) firstprivate (l)
- do j = 7, 61, 3
- l = j
- end do
- if (j .ne. 64 .or. l .ne. 61) call abort
- end subroutine test5
- subroutine test6
- integer :: j, l
- !$omp parallel do lastprivate (j, l) num_threads (4)
- do j = -10, 11, ret3 ()
- l = j
- end do
- if (j .ne. 14 .or. l .ne. 11) call abort
- end subroutine test6
- subroutine test7
- integer :: i, k
- common /c/ i, k
- !$omp parallel do lastprivate (i, k) num_threads (4)
- do i = 1, 20
- k = i
- end do
- if (i .ne. 21 .or. k .ne. 20) call abort
- end subroutine test7
- subroutine test8
- integer :: i, k
- common /c/ i, k
- !$omp parallel do lastprivate (i, k) num_threads (4)
- do i = 7, 61, 3
- k = i
- end do
- if (i .ne. 64 .or. k .ne. 61) call abort
- end subroutine test8
- subroutine test9
- integer :: i, k
- common /c/ i, k
- k = 77
- !$omp parallel do lastprivate (i, k) num_threads (4) firstprivate (k)
- do i = -10, 11, ret3 ()
- k = i
- end do
- if (i .ne. 14 .or. k .ne. 11) call abort
- end subroutine test9
- subroutine test10
- integer :: i, k
- common /c/ i, k
- !$omp parallel num_threads (4)
- !$omp do lastprivate (i, k)
- do i = 1, 20
- k = i
- end do
- !$omp end parallel
- if (i .ne. 21 .or. k .ne. 20) call abort
- end subroutine test10
- subroutine test11
- integer :: i, k
- common /c/ i, k
- !$omp parallel num_threads (4)
- !$omp do lastprivate (i, k)
- do i = 7, 61, 3
- k = i
- end do
- !$omp end parallel
- if (i .ne. 64 .or. k .ne. 61) call abort
- end subroutine test11
- subroutine test12
- integer :: i, k
- common /c/ i, k
- k = 77
- !$omp parallel num_threads (4)
- !$omp do lastprivate (i, k) firstprivate (k)
- do i = -10, 11, ret3 ()
- k = i
- end do
- !$omp end parallel
- if (i .ne. 14 .or. k .ne. 11) call abort
- end subroutine test12
-end program lastprivate
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib1.f90
deleted file mode 100644
index 884001867..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib1.f90
+++ /dev/null
@@ -1,76 +0,0 @@
-! { dg-do run }
-
- use omp_lib
-
- double precision :: d, e
- logical :: l
- integer (kind = omp_lock_kind) :: lck
- integer (kind = omp_nest_lock_kind) :: nlck
-
- d = omp_get_wtime ()
-
- call omp_init_lock (lck)
- call omp_set_lock (lck)
- if (omp_test_lock (lck)) call abort
- call omp_unset_lock (lck)
- if (.not. omp_test_lock (lck)) call abort
- if (omp_test_lock (lck)) call abort
- call omp_unset_lock (lck)
- call omp_destroy_lock (lck)
-
- call omp_init_nest_lock (nlck)
- if (omp_test_nest_lock (nlck) .ne. 1) call abort
- call omp_set_nest_lock (nlck)
- if (omp_test_nest_lock (nlck) .ne. 3) call abort
- call omp_unset_nest_lock (nlck)
- call omp_unset_nest_lock (nlck)
- if (omp_test_nest_lock (nlck) .ne. 2) call abort
- call omp_unset_nest_lock (nlck)
- call omp_unset_nest_lock (nlck)
- call omp_destroy_nest_lock (nlck)
-
- call omp_set_dynamic (.true.)
- if (.not. omp_get_dynamic ()) call abort
- call omp_set_dynamic (.false.)
- if (omp_get_dynamic ()) call abort
-
- call omp_set_nested (.true.)
- if (.not. omp_get_nested ()) call abort
- call omp_set_nested (.false.)
- if (omp_get_nested ()) call abort
-
- call omp_set_num_threads (5)
- if (omp_get_num_threads () .ne. 1) call abort
- if (omp_get_max_threads () .ne. 5) call abort
- if (omp_get_thread_num () .ne. 0) call abort
- call omp_set_num_threads (3)
- if (omp_get_num_threads () .ne. 1) call abort
- if (omp_get_max_threads () .ne. 3) call abort
- if (omp_get_thread_num () .ne. 0) call abort
- l = .false.
-!$omp parallel reduction (.or.:l)
- l = omp_get_num_threads () .ne. 3
- l = l .or. (omp_get_thread_num () .lt. 0)
- l = l .or. (omp_get_thread_num () .ge. 3)
-!$omp master
- l = l .or. (omp_get_thread_num () .ne. 0)
-!$omp end master
-!$omp end parallel
- if (l) call abort
-
- if (omp_get_num_procs () .le. 0) call abort
- if (omp_in_parallel ()) call abort
-!$omp parallel reduction (.or.:l)
- l = .not. omp_in_parallel ()
-!$omp end parallel
-!$omp parallel reduction (.or.:l) if (.true.)
- l = .not. omp_in_parallel ()
-!$omp end parallel
-
- e = omp_get_wtime ()
- if (d .gt. e) call abort
- d = omp_get_wtick ()
- ! Negative precision is definitely wrong,
- ! bigger than 1s clock resolution is also strange
- if (d .le. 0 .or. d .gt. 1.) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib2.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib2.f
deleted file mode 100644
index 755108270..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib2.f
+++ /dev/null
@@ -1,76 +0,0 @@
-C { dg-do run }
-
- USE OMP_LIB
-
- DOUBLE PRECISION :: D, E
- LOGICAL :: L
- INTEGER (KIND = OMP_LOCK_KIND) :: LCK
- INTEGER (KIND = OMP_NEST_LOCK_KIND) :: NLCK
-
- D = OMP_GET_WTIME ()
-
- CALL OMP_INIT_LOCK (LCK)
- CALL OMP_SET_LOCK (LCK)
- IF (OMP_TEST_LOCK (LCK)) CALL ABORT
- CALL OMP_UNSET_LOCK (LCK)
- IF (.NOT. OMP_TEST_LOCK (LCK)) CALL ABORT
- IF (OMP_TEST_LOCK (LCK)) CALL ABORT
- CALL OMP_UNSET_LOCK (LCK)
- CALL OMP_DESTROY_LOCK (LCK)
-
- CALL OMP_INIT_NEST_LOCK (NLCK)
- IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 1) CALL ABORT
- CALL OMP_SET_NEST_LOCK (NLCK)
- IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 3) CALL ABORT
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 2) CALL ABORT
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- CALL OMP_DESTROY_NEST_LOCK (NLCK)
-
- CALL OMP_SET_DYNAMIC (.TRUE.)
- IF (.NOT. OMP_GET_DYNAMIC ()) CALL ABORT
- CALL OMP_SET_DYNAMIC (.FALSE.)
- IF (OMP_GET_DYNAMIC ()) CALL ABORT
-
- CALL OMP_SET_NESTED (.TRUE.)
- IF (.NOT. OMP_GET_NESTED ()) CALL ABORT
- CALL OMP_SET_NESTED (.FALSE.)
- IF (OMP_GET_NESTED ()) CALL ABORT
-
- CALL OMP_SET_NUM_THREADS (5)
- IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
- IF (OMP_GET_MAX_THREADS () .NE. 5) CALL ABORT
- IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
- CALL OMP_SET_NUM_THREADS (3)
- IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
- IF (OMP_GET_MAX_THREADS () .NE. 3) CALL ABORT
- IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
- L = .FALSE.
-C$OMP PARALLEL REDUCTION (.OR.:L)
- L = OMP_GET_NUM_THREADS () .NE. 3
- L = L .OR. (OMP_GET_THREAD_NUM () .LT. 0)
- L = L .OR. (OMP_GET_THREAD_NUM () .GE. 3)
-C$OMP MASTER
- L = L .OR. (OMP_GET_THREAD_NUM () .NE. 0)
-C$OMP END MASTER
-C$OMP END PARALLEL
- IF (L) CALL ABORT
-
- IF (OMP_GET_NUM_PROCS () .LE. 0) CALL ABORT
- IF (OMP_IN_PARALLEL ()) CALL ABORT
-C$OMP PARALLEL REDUCTION (.OR.:L)
- L = .NOT. OMP_IN_PARALLEL ()
-C$OMP END PARALLEL
-C$OMP PARALLEL REDUCTION (.OR.:L) IF (.TRUE.)
- L = .NOT. OMP_IN_PARALLEL ()
-C$OMP END PARALLEL
-
- E = OMP_GET_WTIME ()
- IF (D .GT. E) CALL ABORT
- D = OMP_GET_WTICK ()
-C Negative precision is definitely wrong,
-C bigger than 1s clock resolution is also strange
- IF (D .LE. 0 .OR. D .GT. 1.) CALL ABORT
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib3.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib3.f
deleted file mode 100644
index fa7b227c0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib3.f
+++ /dev/null
@@ -1,76 +0,0 @@
-C { dg-do run }
-
- INCLUDE "omp_lib.h"
-
- DOUBLE PRECISION :: D, E
- LOGICAL :: L
- INTEGER (KIND = OMP_LOCK_KIND) :: LCK
- INTEGER (KIND = OMP_NEST_LOCK_KIND) :: NLCK
-
- D = OMP_GET_WTIME ()
-
- CALL OMP_INIT_LOCK (LCK)
- CALL OMP_SET_LOCK (LCK)
- IF (OMP_TEST_LOCK (LCK)) CALL ABORT
- CALL OMP_UNSET_LOCK (LCK)
- IF (.NOT. OMP_TEST_LOCK (LCK)) CALL ABORT
- IF (OMP_TEST_LOCK (LCK)) CALL ABORT
- CALL OMP_UNSET_LOCK (LCK)
- CALL OMP_DESTROY_LOCK (LCK)
-
- CALL OMP_INIT_NEST_LOCK (NLCK)
- IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 1) CALL ABORT
- CALL OMP_SET_NEST_LOCK (NLCK)
- IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 3) CALL ABORT
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 2) CALL ABORT
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- CALL OMP_UNSET_NEST_LOCK (NLCK)
- CALL OMP_DESTROY_NEST_LOCK (NLCK)
-
- CALL OMP_SET_DYNAMIC (.TRUE.)
- IF (.NOT. OMP_GET_DYNAMIC ()) CALL ABORT
- CALL OMP_SET_DYNAMIC (.FALSE.)
- IF (OMP_GET_DYNAMIC ()) CALL ABORT
-
- CALL OMP_SET_NESTED (.TRUE.)
- IF (.NOT. OMP_GET_NESTED ()) CALL ABORT
- CALL OMP_SET_NESTED (.FALSE.)
- IF (OMP_GET_NESTED ()) CALL ABORT
-
- CALL OMP_SET_NUM_THREADS (5)
- IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
- IF (OMP_GET_MAX_THREADS () .NE. 5) CALL ABORT
- IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
- CALL OMP_SET_NUM_THREADS (3)
- IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
- IF (OMP_GET_MAX_THREADS () .NE. 3) CALL ABORT
- IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
- L = .FALSE.
-C$OMP PARALLEL REDUCTION (.OR.:L)
- L = OMP_GET_NUM_THREADS () .NE. 3
- L = L .OR. (OMP_GET_THREAD_NUM () .LT. 0)
- L = L .OR. (OMP_GET_THREAD_NUM () .GE. 3)
-C$OMP MASTER
- L = L .OR. (OMP_GET_THREAD_NUM () .NE. 0)
-C$OMP END MASTER
-C$OMP END PARALLEL
- IF (L) CALL ABORT
-
- IF (OMP_GET_NUM_PROCS () .LE. 0) CALL ABORT
- IF (OMP_IN_PARALLEL ()) CALL ABORT
-C$OMP PARALLEL REDUCTION (.OR.:L)
- L = .NOT. OMP_IN_PARALLEL ()
-C$OMP END PARALLEL
-C$OMP PARALLEL REDUCTION (.OR.:L) IF (.TRUE.)
- L = .NOT. OMP_IN_PARALLEL ()
-C$OMP END PARALLEL
-
- E = OMP_GET_WTIME ()
- IF (D .GT. E) CALL ABORT
- D = OMP_GET_WTICK ()
-C Negative precision is definitely wrong,
-C bigger than 1s clock resolution is also strange
- IF (D .LE. 0 .OR. D .GT. 1.) CALL ABORT
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib4.f90
deleted file mode 100644
index cbb984574..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lib4.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! { dg-do run }
-
-program lib4
- use omp_lib
- integer (omp_sched_kind) :: kind
- integer :: modifier
- call omp_set_schedule (omp_sched_static, 32)
- call omp_get_schedule (kind, modifier)
- if (kind.ne.omp_sched_static.or.modifier.ne.32) call abort
- call omp_set_schedule (omp_sched_dynamic, 4)
- call omp_get_schedule (kind, modifier)
- if (kind.ne.omp_sched_dynamic.or.modifier.ne.4) call abort
- if (omp_get_thread_limit ().lt.0) call abort
- call omp_set_max_active_levels (6)
- if (omp_get_max_active_levels ().ne.6) call abort
-end program lib4
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-1.f90
deleted file mode 100644
index d7d3e3fd6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-1.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-! { dg-do run }
-
- use omp_lib
-
- integer (kind = omp_nest_lock_kind) :: lock
- logical :: l
-
- l = .false.
- call omp_init_nest_lock (lock)
- if (omp_test_nest_lock (lock) .ne. 1) call abort
- if (omp_test_nest_lock (lock) .ne. 2) call abort
-!$omp parallel if (.false.) reduction (.or.:l)
- ! In OpenMP 2.5 this was supposed to return 3,
- ! but in OpenMP 3.0 the parallel region has a different
- ! task and omp_*_lock_t are owned by tasks, not by threads.
- if (omp_test_nest_lock (lock) .ne. 0) l = .true.
-!$omp end parallel
- if (l) call abort
- if (omp_test_nest_lock (lock) .ne. 3) call abort
- call omp_unset_nest_lock (lock)
- call omp_unset_nest_lock (lock)
- call omp_unset_nest_lock (lock)
- call omp_destroy_nest_lock (lock)
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-2.f90
deleted file mode 100644
index 9965139b9..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/lock-2.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-! { dg-do run }
-
- use omp_lib
-
- integer (kind = omp_nest_lock_kind) :: lock
- logical :: l
-
- l = .false.
- call omp_init_nest_lock (lock)
-!$omp parallel num_threads (1) reduction (.or.:l)
- if (omp_test_nest_lock (lock) .ne. 1) call abort
- if (omp_test_nest_lock (lock) .ne. 2) call abort
-!$omp task if (.false.) shared (lock, l)
- if (omp_test_nest_lock (lock) .ne. 0) l = .true.
-!$omp end task
-!$omp taskwait
- if (omp_test_nest_lock (lock) .ne. 3) l = .true.
- call omp_unset_nest_lock (lock)
- call omp_unset_nest_lock (lock)
- call omp_unset_nest_lock (lock)
-!$omp end parallel
- if (l) call abort
- call omp_destroy_nest_lock (lock)
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nested1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nested1.f90
deleted file mode 100644
index 98c4322d0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nested1.f90
+++ /dev/null
@@ -1,87 +0,0 @@
-! { dg-do run }
-program nested1
- use omp_lib
- integer :: e1, e2, e3, e
- integer :: tn1, tn2, tn3
- e1 = 0
- e2 = 0
- e3 = 0
- call omp_set_nested (.true.)
- call omp_set_dynamic (.false.)
- if (omp_in_parallel ()) call abort
- if (omp_get_num_threads ().ne.1) call abort
- if (omp_get_level ().ne.0) call abort
- if (omp_get_ancestor_thread_num (0).ne.0) call abort
- if (omp_get_ancestor_thread_num (-1).ne.-1) call abort
- if (omp_get_ancestor_thread_num (1).ne.-1) call abort
- if (omp_get_team_size (0).ne.1) call abort
- if (omp_get_team_size (-1).ne.-1) call abort
- if (omp_get_team_size (1).ne.-1) call abort
- if (omp_get_active_level ().ne.0) call abort
-!$omp parallel num_threads (4) private (e, tn1)
- e = 0
- tn1 = omp_get_thread_num ()
- if (.not.omp_in_parallel ()) e = e + 1
- if (omp_get_num_threads ().ne.4) e = e + 1
- if (tn1.lt.0.or.tn1.ge.4) e = e + 1
- if (omp_get_level ().ne.1) e = e + 1
- if (omp_get_ancestor_thread_num (0).ne.0) e = e + 1
- if (omp_get_ancestor_thread_num (1).ne.tn1) e = e + 1
- if (omp_get_ancestor_thread_num (-1).ne.-1) e = e + 1
- if (omp_get_ancestor_thread_num (2).ne.-1) e = e + 1
- if (omp_get_team_size (0).ne.1) e = e + 1
- if (omp_get_team_size (1).ne.4) e = e + 1
- if (omp_get_team_size (-1).ne.-1) e = e + 1
- if (omp_get_team_size (2).ne.-1) e = e + 1
- if (omp_get_active_level ().ne.1) e = e + 1
- !$omp atomic
- e1 = e1 + e
-!$omp parallel num_threads (5) if (.false.) firstprivate (tn1) &
-!$omp& private (e, tn2)
- e = 0
- tn2 = omp_get_thread_num ()
- if (.not.omp_in_parallel ()) e = e + 1
- if (omp_get_num_threads ().ne.1) e = e + 1
- if (tn2.ne.0) e = e + 1
- if (omp_get_level ().ne.2) e = e + 1
- if (omp_get_ancestor_thread_num (0).ne.0) e = e + 1
- if (omp_get_ancestor_thread_num (1).ne.tn1) e = e + 1
- if (omp_get_ancestor_thread_num (2).ne.tn2) e = e + 1
- if (omp_get_ancestor_thread_num (-1).ne.-1) e = e + 1
- if (omp_get_ancestor_thread_num (3).ne.-1) e = e + 1
- if (omp_get_team_size (0).ne.1) e = e + 1
- if (omp_get_team_size (1).ne.4) e = e + 1
- if (omp_get_team_size (2).ne.1) e = e + 1
- if (omp_get_team_size (-1).ne.-1) e = e + 1
- if (omp_get_team_size (3).ne.-1) e = e + 1
- if (omp_get_active_level ().ne.1) e = e + 1
- !$omp atomic
- e2 = e2 + e
-!$omp parallel num_threads (2) firstprivate (tn1, tn2) &
-!$omp& private (e, tn3)
- e = 0
- tn3 = omp_get_thread_num ()
- if (.not.omp_in_parallel ()) e = e + 1
- if (omp_get_num_threads ().ne.2) e = e + 1
- if (tn3.lt.0.or.tn3.ge.2) e = e + 1
- if (omp_get_level ().ne.3) e = e + 1
- if (omp_get_ancestor_thread_num (0).ne.0) e = e + 1
- if (omp_get_ancestor_thread_num (1).ne.tn1) e = e + 1
- if (omp_get_ancestor_thread_num (2).ne.tn2) e = e + 1
- if (omp_get_ancestor_thread_num (3).ne.tn3) e = e + 1
- if (omp_get_ancestor_thread_num (-1).ne.-1) e = e + 1
- if (omp_get_ancestor_thread_num (4).ne.-1) e = e + 1
- if (omp_get_team_size (0).ne.1) e = e + 1
- if (omp_get_team_size (1).ne.4) e = e + 1
- if (omp_get_team_size (2).ne.1) e = e + 1
- if (omp_get_team_size (3).ne.2) e = e + 1
- if (omp_get_team_size (-1).ne.-1) e = e + 1
- if (omp_get_team_size (4).ne.-1) e = e + 1
- if (omp_get_active_level ().ne.2) e = e + 1
- !$omp atomic
- e3 = e3 + e
-!$omp end parallel
-!$omp end parallel
-!$omp end parallel
- if (e1.ne.0.or.e2.ne.0.or.e3.ne.0) call abort
-end program nested1
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn1.f90
deleted file mode 100644
index 67dadd6df..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn1.f90
+++ /dev/null
@@ -1,43 +0,0 @@
-! { dg-do run }
-
- integer :: a, b, c
- a = 1
- b = 2
- c = 3
- call foo
- if (a .ne. 7) call abort
-contains
- subroutine foo
- use omp_lib
- logical :: l
- l = .false.
-!$omp parallel shared (a) private (b) firstprivate (c) &
-!$omp num_threads (2) reduction (.or.:l)
- if (a .ne. 1 .or. c .ne. 3) l = .true.
-!$omp barrier
- if (omp_get_thread_num () .eq. 0) then
- a = 4
- b = 5
- c = 6
- end if
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) then
- if (a .ne. 4 .or. c .ne. 3) l = .true.
- a = 7
- b = 8
- c = 9
- else if (omp_get_num_threads () .eq. 1) then
- a = 7
- end if
-!$omp barrier
- if (omp_get_thread_num () .eq. 0) then
- if (a .ne. 7 .or. b .ne. 5 .or. c .ne. 6) l = .true.
- end if
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) then
- if (a .ne. 7 .or. b .ne. 8 .or. c .ne. 9) l = .true.
- end if
-!$omp end parallel
- if (l) call abort
- end subroutine foo
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn2.f90
deleted file mode 100644
index dfb12ae66..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn2.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-! { dg-do run }
-
- integer :: i
- common /c/ i
- i = -1
-!$omp parallel shared (i) num_threads (4)
- call test1
-!$omp end parallel
-end
-subroutine test1
- integer :: vari
- call test2
- call test3
-contains
- subroutine test2
- use omp_lib
- integer :: i
- common /c/ i
-!$omp single
- i = omp_get_thread_num ()
- call test4
-!$omp end single copyprivate (vari)
- end subroutine test2
- subroutine test3
- integer :: i
- common /c/ i
- if (i .lt. 0 .or. i .ge. 4) call abort
- if (i + 10 .ne. vari) call abort
- end subroutine test3
- subroutine test4
- use omp_lib
- vari = omp_get_thread_num () + 10
- end subroutine test4
-end subroutine test1
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn3.f90
deleted file mode 100644
index 454749c54..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn3.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-! PR middle-end/28790
-! { dg-do run }
-
-program nestomp
- integer :: j
- j = 8
- call bar
- if (j.ne.10) call abort
-contains
- subroutine foo (i)
- integer :: i
- !$omp atomic
- j = j + i - 5
- end subroutine
- subroutine bar
- use omp_lib
- integer :: i
- i = 6
- call omp_set_dynamic (.false.)
- !$omp parallel num_threads (2)
- call foo(i)
- !$omp end parallel
- end subroutine
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn4.f90
deleted file mode 100644
index c987bf440..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/nestedfn4.f90
+++ /dev/null
@@ -1,41 +0,0 @@
-program foo
- integer :: i, j, k
- integer :: a(10), c(10)
- k = 2
- a(:) = 0
- call test1
- call test2
- do i = 1, 10
- if (a(i) .ne. 10 * i) call abort
- end do
- !$omp parallel do reduction (+:c)
- do i = 1, 10
- c = c + a
- end do
- do i = 1, 10
- if (c(i) .ne. 10 * a(i)) call abort
- end do
- !$omp parallel do lastprivate (j)
- do j = 1, 10, k
- end do
- if (j .ne. 11) call abort
-contains
- subroutine test1
- integer :: i
- integer :: b(10)
- do i = 1, 10
- b(i) = i
- end do
- c(:) = 0
- !$omp parallel do reduction (+:a)
- do i = 1, 10
- a = a + b
- end do
- end subroutine test1
- subroutine test2
- !$omp parallel do lastprivate (j)
- do j = 1, 10, k
- end do
- if (j .ne. 11) call abort
- end subroutine test2
-end program foo
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic1.f90
deleted file mode 100644
index f9ce94b9a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic1.f90
+++ /dev/null
@@ -1,39 +0,0 @@
-! { dg-do run }
- integer (kind = 4) :: a
- integer (kind = 2) :: b
- real :: c, f
- double precision :: d
- integer, dimension (10) :: e
- a = 1
- b = 2
- c = 3
- d = 4
- e = 5
- f = 6
-!$omp atomic
- a = a + 4
-!$omp atomic
- b = 4 - b
-!$omp atomic
- c = c * 2
-!$omp atomic
- d = 2 / d
- if (a .ne. 5 .or. b .ne. 2 .or. c .ne. 6 .or. d .ne. 0.5) call abort
- d = 1.2
-!$omp atomic
- a = a + c + d
-!$omp atomic
- b = b - (a + c + d)
- if (a .ne. 12 .or. b .ne. -17) call abort
-!$omp atomic
- a = c + d + a
-!$omp atomic
- b = a + c + d - b
- if (a .ne. 19 .or. b .ne. 43) call abort
-!$omp atomic
- b = (a + c + d) - b
- a = 32
-!$omp atomic
- a = a / 3.4
- if (a .ne. 9 .or. b .ne. -16) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic2.f90
deleted file mode 100644
index 1dea2c8eb..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_atomic2.f90
+++ /dev/null
@@ -1,54 +0,0 @@
-! { dg-do run }
- real, dimension (20) :: r
- integer, dimension (20) :: d
- integer :: i, j, k, n
- integer (kind = 2) :: a, b, c
-
- do 10 i = 1, 20
- r(i) = i
-10 d(i) = 21 - i
-
- n = 20
- call foo (r, d, n)
-
- if (n .ne. 22) call abort
- if (any (r .ne. 33)) call abort
-
- i = 1
- j = 18
- k = 23
-!$omp atomic
- i = min (i, j, k, n)
- if (i .ne. 1) call abort
-!$omp atomic
- i = max (j, n, k, i)
- if (i .ne. 23) call abort
-
- a = 1
- b = 18
- c = 23
-!$omp atomic
- a = min (a, b, c)
- if (a .ne. 1) call abort
-!$omp atomic
- a = max (a, b, c)
- if (a .ne. 23) call abort
-
-contains
- function bar (i)
- real bar
- integer i
- bar = 12.0 + i
- end function bar
-
- subroutine foo (x, y, n)
- integer i, y (*), n
- real x (*)
- do i = 1, n
-!$omp atomic
- x(y(i)) = x(y(i)) + bar (i)
- end do
-!$omp atomic
- n = n + 2
- end subroutine foo
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond1.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond1.f
deleted file mode 100644
index b557d9080..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond1.f
+++ /dev/null
@@ -1,22 +0,0 @@
-C Test conditional compilation in fixed form if -fopenmp
-! { dg-options "-fopenmp" }
- 10 foo = 2
- &56
- if (foo.ne.256) call abort
- bar = 26
-!$2 0 ba
-c$ +r = 42
- !$ bar = 62
-!$ bar = bar + 1
- if (bar.ne.43) call abort
- baz = bar
-*$ 0baz = 5
-C$ +12! Comment
-c$ !4
-!$ +!Another comment
-*$ &2
-!$ X baz = 0 ! Not valid OpenMP conditional compilation lines
-! $ baz = 1
-c$ 10&baz = 2
- if (baz.ne.51242) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond2.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond2.f
deleted file mode 100644
index 6df891c6c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond2.f
+++ /dev/null
@@ -1,22 +0,0 @@
-c Test conditional compilation in fixed form if -fno-openmp
-! { dg-options "-fno-openmp" }
- 10 foo = 2
- &56
- if (foo.ne.256) call abort
- bar = 26
-!$2 0 ba
-c$ +r = 42
- !$ bar = 62
-!$ bar = bar + 1
- if (bar.ne.26) call abort
- baz = bar
-*$ 0baz = 5
-C$ +12! Comment
-c$ !4
-!$ +!Another comment
-*$ &2
-!$ X baz = 0 ! Not valid OpenMP conditional compilation lines
-! $ baz = 1
-c$ 10&baz = 2
- if (baz.ne.26) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond3.F90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond3.F90
deleted file mode 100644
index 6c4e36e22..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond3.F90
+++ /dev/null
@@ -1,24 +0,0 @@
-! Test conditional compilation in free form if -fopenmp
-! { dg-options "-fopenmp" }
- 10 foo = 2&
- &56
- if (foo.ne.256) call abort
- bar = 26
- !$ 20 ba&
-!$ &r = 4&
- !$2
- !$bar = 62
- !$ bar = bar + 2
-#ifdef _OPENMP
-bar = bar - 1
-#endif
- if (bar.ne.43) call abort
- baz = bar
-!$ 30 baz = 5& ! Comment
-!$12 &
- !$ + 2
-!$X baz = 0 ! Not valid OpenMP conditional compilation lines
-! $ baz = 1
-baz = baz + 1 !$ baz = 2
- if (baz.ne.515) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond4.F90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond4.F90
deleted file mode 100644
index aa4c5cb76..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_cond4.F90
+++ /dev/null
@@ -1,24 +0,0 @@
-! Test conditional compilation in free form if -fno-openmp
-! { dg-options "-fno-openmp" }
- 10 foo = 2&
- &56
- if (foo.ne.256) call abort
- bar = 26
- !$ 20 ba&
-!$ &r = 4&
- !$2
- !$bar = 62
- !$ bar = bar + 2
-#ifdef _OPENMP
-bar = bar - 1
-#endif
- if (bar.ne.26) call abort
- baz = bar
-!$ 30 baz = 5& ! Comment
-!$12 &
- !$ + 2
-!$X baz = 0 ! Not valid OpenMP conditional compilation lines
-! $ baz = 1
-baz = baz + 1 !$ baz = 2
- if (baz.ne.27) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_hello.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_hello.f
deleted file mode 100644
index ba4453126..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_hello.f
+++ /dev/null
@@ -1,36 +0,0 @@
-C******************************************************************************
-C FILE: omp_hello.f
-C DESCRIPTION:
-C OpenMP Example - Hello World - Fortran Version
-C In this simple example, the master thread forks a parallel region.
-C All threads in the team obtain their unique thread number and print it.
-C The master thread only prints the total number of threads. Two OpenMP
-C library routines are used to obtain the number of threads and each
-C thread's number.
-C AUTHOR: Blaise Barney 5/99
-C LAST REVISED:
-C******************************************************************************
-
- PROGRAM HELLO
-
- INTEGER NTHREADS, TID, OMP_GET_NUM_THREADS,
- + OMP_GET_THREAD_NUM
-
-C Fork a team of threads giving them their own copies of variables
-!$OMP PARALLEL PRIVATE(NTHREADS, TID)
-
-
-C Obtain thread number
- TID = OMP_GET_THREAD_NUM()
- PRINT *, 'Hello World from thread = ', TID
-
-C Only master thread does this
- IF (TID .EQ. 0) THEN
- NTHREADS = OMP_GET_NUM_THREADS()
- PRINT *, 'Number of threads = ', NTHREADS
- END IF
-
-C All threads join master thread and disband
-!$OMP END PARALLEL
-
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_orphan.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_orphan.f
deleted file mode 100644
index 7653c78d2..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_orphan.f
+++ /dev/null
@@ -1,44 +0,0 @@
-C******************************************************************************
-C FILE: omp_orphan.f
-C DESCRIPTION:
-C OpenMP Example - Parallel region with an orphaned directive - Fortran
-C Version
-C This example demonstrates a dot product being performed by an orphaned
-C loop reduction construct. Scoping of the reduction variable is critical.
-C AUTHOR: Blaise Barney 5/99
-C LAST REVISED:
-C******************************************************************************
-
- PROGRAM ORPHAN
- COMMON /DOTDATA/ A, B, SUM
- INTEGER I, VECLEN
- PARAMETER (VECLEN = 100)
- REAL*8 A(VECLEN), B(VECLEN), SUM
-
- DO I=1, VECLEN
- A(I) = 1.0 * I
- B(I) = A(I)
- ENDDO
- SUM = 0.0
-!$OMP PARALLEL
- CALL DOTPROD
-!$OMP END PARALLEL
- WRITE(*,*) "Sum = ", SUM
- END
-
-
-
- SUBROUTINE DOTPROD
- COMMON /DOTDATA/ A, B, SUM
- INTEGER I, TID, OMP_GET_THREAD_NUM, VECLEN
- PARAMETER (VECLEN = 100)
- REAL*8 A(VECLEN), B(VECLEN), SUM
-
- TID = OMP_GET_THREAD_NUM()
-!$OMP DO REDUCTION(+:SUM)
- DO I=1, VECLEN
- SUM = SUM + (A(I)*B(I))
- PRINT *, ' TID= ',TID,'I= ',I
- ENDDO
- RETURN
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse1.f90
deleted file mode 100644
index 9cd8cc2ba..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse1.f90
+++ /dev/null
@@ -1,185 +0,0 @@
-! { dg-do run }
-use omp_lib
- call test_parallel
- call test_do
- call test_sections
- call test_single
-
-contains
- subroutine test_parallel
- integer :: a, b, c, e, f, g, i, j
- integer, dimension (20) :: d
- logical :: h
- a = 6
- b = 8
- c = 11
- d(:) = -1
- e = 13
- f = 24
- g = 27
- h = .false.
- i = 1
- j = 16
-!$omp para&
-!$omp&llel &
-!$omp if (a .eq. 6) private (b, c) shared (d) private (e) &
- !$omp firstprivate(f) num_threads (a - 1) first&
-!$ompprivate(g)default (shared) reduction (.or. : h) &
-!$omp reduction(*:i)
- if (i .ne. 1) h = .true.
- i = 2
- if (f .ne. 24) h = .true.
- if (g .ne. 27) h = .true.
- e = 7
- b = omp_get_thread_num ()
- if (b .eq. 0) j = 24
- f = b
- g = f
- c = omp_get_num_threads ()
- if (c .gt. a - 1 .or. c .le. 0) h = .true.
- if (b .ge. c) h = .true.
- d(b + 1) = c
- if (f .ne. g .or. f .ne. b) h = .true.
-!$omp endparallel
- if (h) call abort
- if (a .ne. 6) call abort
- if (j .ne. 24) call abort
- if (d(1) .eq. -1) call abort
- e = 1
- do g = 1, d(1)
- if (d(g) .ne. d(1)) call abort
- e = e * 2
- end do
- if (e .ne. i) call abort
- end subroutine test_parallel
-
- subroutine test_do_orphan
- integer :: k, l
-!$omp parallel do private (l)
- do 600 k = 1, 16, 2
-600 l = k
- end subroutine test_do_orphan
-
- subroutine test_do
- integer :: i, j, k, l, n
- integer, dimension (64) :: d
- logical :: m
-
- j = 16
- d(:) = -1
- m = .true.
- n = 24
-!$omp parallel num_threads (4) shared (i, k, d) private (l) &
-!$omp&reduction (.and. : m)
- if (omp_get_thread_num () .eq. 0) then
- k = omp_get_num_threads ()
- end if
- call test_do_orphan
-!$omp do schedule (static) firstprivate (n)
- do 200 i = 1, j
- if (i .eq. 1 .and. n .ne. 24) call abort
- n = i
-200 d(n) = omp_get_thread_num ()
-!$omp enddo nowait
-
-!$omp do lastprivate (i) schedule (static, 5)
- do 201 i = j + 1, 2 * j
-201 d(i) = omp_get_thread_num () + 1024
- ! Implied omp end do here
-
- if (i .ne. 33) m = .false.
-
-!$omp do private (j) schedule (dynamic)
- do i = 33, 48
- d(i) = omp_get_thread_num () + 2048
- end do
-!$omp end do nowait
-
-!$omp do schedule (runtime)
- do i = 49, 4 * j
- d(i) = omp_get_thread_num () + 4096
- end do
- ! Implied omp end do here
-!$omp end parallel
- if (.not. m) call abort
-
- j = 0
- do i = 1, 64
- if (d(i) .lt. j .or. d(i) .ge. j + k) call abort
- if (i .eq. 16) j = 1024
- if (i .eq. 32) j = 2048
- if (i .eq. 48) j = 4096
- end do
- end subroutine test_do
-
- subroutine test_sections
- integer :: i, j, k, l, m, n
- i = 9
- j = 10
- k = 11
- l = 0
- m = 0
- n = 30
- call omp_set_dynamic (.false.)
- call omp_set_num_threads (4)
-!$omp parallel num_threads (4)
-!$omp sections private (i) firstprivate (j, k) lastprivate (j) &
-!$omp& reduction (+ : l, m)
-!$omp section
- i = 24
- if (j .ne. 10 .or. k .ne. 11 .or. m .ne. 0) l = 1
- m = m + 4
-!$omp section
- i = 25
- if (j .ne. 10 .or. k .ne. 11) l = 1
- m = m + 6
-!$omp section
- i = 26
- if (j .ne. 10 .or. k .ne. 11) l = 1
- m = m + 8
-!$omp section
- i = 27
- if (j .ne. 10 .or. k .ne. 11) l = 1
- m = m + 10
- j = 271
-!$omp end sections nowait
-!$omp sections lastprivate (n)
-!$omp section
- n = 6
-!$omp section
- n = 7
-!$omp endsections
-!$omp end parallel
- if (j .ne. 271 .or. l .ne. 0) call abort
- if (m .ne. 4 + 6 + 8 + 10) call abort
- if (n .ne. 7) call abort
- end subroutine test_sections
-
- subroutine test_single
- integer :: i, j, k, l
- logical :: m
- i = 200
- j = 300
- k = 400
- l = 500
- m = .false.
-!$omp parallel num_threads (4), private (i, j), reduction (.or. : m)
- i = omp_get_thread_num ()
- j = omp_get_thread_num ()
-!$omp single private (k)
- k = 64
-!$omp end single nowait
-!$omp single private (k) firstprivate (l)
- if (i .ne. omp_get_thread_num () .or. i .ne. j) then
- j = -1
- else
- j = -2
- end if
- if (l .ne. 500) j = -1
- l = 265
-!$omp end single copyprivate (j)
- if (i .ne. omp_get_thread_num () .or. j .ne. -2) m = .true.
-!$omp endparallel
- if (m) call abort
- end subroutine test_single
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90
deleted file mode 100644
index da54a9872..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90
+++ /dev/null
@@ -1,102 +0,0 @@
-! { dg-do run }
-use omp_lib
- call test_master
- call test_critical
- call test_barrier
- call test_atomic
-
-contains
- subroutine test_master
- logical :: i, j
- i = .false.
- j = .false.
-!$omp parallel num_threads (4)
-!$omp master
- i = .true.
- j = omp_get_thread_num () .eq. 0
-!$omp endmaster
-!$omp end parallel
- if (.not. (i .or. j)) call abort
- end subroutine test_master
-
- subroutine test_critical_1 (i, j)
- integer :: i, j
-!$omp critical(critical_foo)
- i = i + 1
-!$omp end critical (critical_foo)
-!$omp critical
- j = j + 1
-!$omp end critical
- end subroutine test_critical_1
-
- subroutine test_critical
- integer :: i, j, n
- n = -1
- i = 0
- j = 0
-!$omp parallel num_threads (4)
- if (omp_get_thread_num () .eq. 0) n = omp_get_num_threads ()
- call test_critical_1 (i, j)
- call test_critical_1 (i, j)
-!$omp critical
- j = j + 1
-!$omp end critical
-!$omp critical (critical_foo)
- i = i + 1
-!$omp endcritical (critical_foo)
-!$omp end parallel
- if (n .lt. 1 .or. i .ne. n * 3 .or. j .ne. n * 3) call abort
- end subroutine test_critical
-
- subroutine test_barrier
- integer :: i
- logical :: j
- i = 23
- j = .false.
-!$omp parallel num_threads (4)
- if (omp_get_thread_num () .eq. 0) i = 5
-!$omp flush (i)
-!$omp barrier
- if (i .ne. 5) then
-!$omp atomic
- j = j .or. .true.
- end if
-!$omp end parallel
- if (i .ne. 5 .or. j) call abort
- end subroutine test_barrier
-
- subroutine test_atomic
- integer :: a, b, c, d, e, f, g
- a = 0
- b = 1
- c = 0
- d = 1024
- e = 1024
- f = -1
- g = -1
-!$omp parallel num_threads (8)
-!$omp atomic
- a = a + 2 + 4
-!$omp atomic
- b = 3 * b
-!$omp atomic
- c = 8 - c
-!$omp atomic
- d = d / 2
-!$omp atomic
- e = min (e, omp_get_thread_num ())
-!$omp atomic
- f = max (omp_get_thread_num (), f)
- if (omp_get_thread_num () .eq. 0) g = omp_get_num_threads ()
-!$omp end parallel
- if (g .le. 0 .or. g .gt. 8) call abort
- if (a .ne. 6 * g .or. b .ne. 3 ** g) call abort
- if (iand (g, 1) .eq. 1) then
- if (c .ne. 8) call abort
- else if (c .ne. 0) then
- call abort
- end if
- if (d .ne. 1024 / (2 ** g)) call abort
- if (e .ne. 0 .or. f .ne. g - 1) call abort
- end subroutine test_atomic
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse3.f90
deleted file mode 100644
index a39ff103e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse3.f90
+++ /dev/null
@@ -1,96 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
-use omp_lib
- common /tlsblock/ x, y
- integer :: x, y, z
- save z
-!$omp threadprivate (/tlsblock/, z)
-
- call test_flush
- call test_ordered
- call test_threadprivate
-
-contains
- subroutine test_flush
- integer :: i, j
- i = 0
- j = 0
-!$omp parallel num_threads (4)
- if (omp_get_thread_num () .eq. 0) i = omp_get_num_threads ()
- if (omp_get_thread_num () .eq. 0) j = j + 1
-!$omp flush (i, j)
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) j = j + 2
-!$omp flush
-!$omp barrier
- if (omp_get_thread_num () .eq. 2) j = j + 3
-!$omp flush (i)
-!$omp flush (j)
-!$omp barrier
- if (omp_get_thread_num () .eq. 3) j = j + 4
-!$omp end parallel
- end subroutine test_flush
-
- subroutine test_ordered
- integer :: i, j
- integer, dimension (100) :: d
- d(:) = -1
-!$omp parallel do ordered schedule (dynamic) num_threads (4)
- do i = 1, 100, 5
-!$omp ordered
- d(i) = i
-!$omp end ordered
- end do
- j = 1
- do 100 i = 1, 100
- if (i .eq. j) then
- if (d(i) .ne. i) call abort
- j = i + 5
- else
- if (d(i) .ne. -1) call abort
- end if
-100 d(i) = -1
- end subroutine test_ordered
-
- subroutine test_threadprivate
- common /tlsblock/ x, y
-!$omp threadprivate (/tlsblock/)
- integer :: i, j, x, y
- logical :: m, n
- call omp_set_num_threads (4)
- call omp_set_dynamic (.false.)
- i = -1
- x = 6
- y = 7
- z = 8
- n = .false.
- m = .false.
-!$omp parallel copyin (/tlsblock/, z) reduction (.or.:m) &
-!$omp& num_threads (4)
- if (omp_get_thread_num () .eq. 0) i = omp_get_num_threads ()
- if (x .ne. 6 .or. y .ne. 7 .or. z .ne. 8) call abort
- x = omp_get_thread_num ()
- y = omp_get_thread_num () + 1024
- z = omp_get_thread_num () + 4096
-!$omp end parallel
- if (x .ne. 0 .or. y .ne. 1024 .or. z .ne. 4096) call abort
-!$omp parallel num_threads (4), private (j) reduction (.or.:n)
- if (omp_get_num_threads () .eq. i) then
- j = omp_get_thread_num ()
- if (x .ne. j .or. y .ne. j + 1024 .or. z .ne. j + 4096) &
-& call abort
- end if
-!$omp end parallel
- m = m .or. n
- n = .false.
-!$omp parallel num_threads (4), copyin (z) reduction (.or. : n) &
-!$omp&private (j)
- if (z .ne. 4096) n = .true.
- if (omp_get_num_threads () .eq. i) then
- j = omp_get_thread_num ()
- if (x .ne. j .or. y .ne. j + 1024) call abort
- end if
-!$omp end parallel
- if (m .or. n) call abort
- end subroutine test_threadprivate
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse4.f90
deleted file mode 100644
index ba35bcb2a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_parse4.f90
+++ /dev/null
@@ -1,72 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
- call test_workshare
-
-contains
- subroutine test_workshare
- integer :: i, j, k, l, m
- double precision, dimension (64) :: d, e
- integer, dimension (10) :: f, g
- integer, dimension (16, 16) :: a, b, c
- integer, dimension (16) :: n
- d(:) = 1
- e = 7
- f = 10
- l = 256
- m = 512
- g(1:3) = -1
- g(4:6) = 0
- g(7:8) = 5
- g(9:10) = 10
- forall (i = 1:16, j = 1:16) a (i, j) = i * 16 + j
- forall (j = 1:16) n (j) = j
-!$omp parallel num_threads (4) private (j, k)
-!$omp barrier
-!$omp workshare
- i = 6
- e(:) = d(:)
- where (g .lt. 0)
- f = 100
- elsewhere (g .eq. 0)
- f = 200 + f
- elsewhere
- where (g .gt. 6) f = f + sum (g)
- f = 300 + f
- end where
- where (f .gt. 210) g = 0
-!$omp end workshare nowait
-!$omp workshare
- forall (j = 1:16, k = 1:16) b (k, j) = a (j, k)
- forall (k = 1:16) c (k, 1:16) = a (1:16, k)
- forall (j = 2:16, n (17 - j) / 4 * 4 .ne. n (17 - j))
- n (j) = n (j - 1) * n (j)
- end forall
-!$omp endworkshare
-!$omp workshare
-!$omp atomic
- i = i + 8 + 6
-!$omp critical
-!$omp critical (critical_foox)
- l = 128
-!$omp end critical (critical_foox)
-!$omp endcritical
-!$omp parallel num_threads (2)
-!$ if (omp_get_thread_num () .eq. 0) m = omp_get_num_threads ()
-!$omp atomic
- l = 1 + l
-!$omp end parallel
-!$omp end workshare
-!$omp end parallel
-
- if (any (f .ne. (/100, 100, 100, 210, 210, 210, 310, 310, 337, 337/))) &
-& call abort
- if (any (g .ne. (/-1, -1, -1, 0, 0, 0, 0, 0, 0, 0/))) call abort
- if (i .ne. 20) call abort
-!$ if (l .ne. 128 + m) call abort
- if (any (d .ne. 1 .or. e .ne. 1)) call abort
- if (any (b .ne. transpose (a))) call abort
- if (any (c .ne. b)) call abort
- if (any (n .ne. (/1, 2, 6, 12, 5, 30, 42, 56, 9, 90, &
-& 110, 132, 13, 182, 210, 240/))) call abort
- end subroutine test_workshare
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_reduction.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_reduction.f
deleted file mode 100644
index 0560bd896..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_reduction.f
+++ /dev/null
@@ -1,33 +0,0 @@
-C******************************************************************************
-C FILE: omp_reduction.f
-C DESCRIPTION:
-C OpenMP Example - Combined Parallel Loop Reduction - Fortran Version
-C This example demonstrates a sum reduction within a combined parallel loop
-C construct. Notice that default data element scoping is assumed - there
-C are no clauses specifying shared or private variables. OpenMP will
-C automatically make loop index variables private within team threads, and
-C global variables shared.
-C AUTHOR: Blaise Barney 5/99
-C LAST REVISED:
-C******************************************************************************
-
- PROGRAM REDUCTION
-
- INTEGER I, N
- REAL A(100), B(100), SUM
-
-! Some initializations
- N = 100
- DO I = 1, N
- A(I) = I *1.0
- B(I) = A(I)
- ENDDO
- SUM = 0.0
-
-!$OMP PARALLEL DO REDUCTION(+:SUM)
- DO I = 1, N
- SUM = SUM + (A(I) * B(I))
- ENDDO
-
- PRINT *, ' Sum = ', SUM
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare1.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare1.f
deleted file mode 100644
index 8aef69406..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare1.f
+++ /dev/null
@@ -1,48 +0,0 @@
-C******************************************************************************
-C FILE: omp_workshare1.f
-C DESCRIPTION:
-C OpenMP Example - Loop Work-sharing - Fortran Version
-C In this example, the iterations of a loop are scheduled dynamically
-C across the team of threads. A thread will perform CHUNK iterations
-C at a time before being scheduled for the next CHUNK of work.
-C AUTHOR: Blaise Barney 5/99
-C LAST REVISED: 01/09/04
-C******************************************************************************
-
- PROGRAM WORKSHARE1
-
- INTEGER NTHREADS, TID, OMP_GET_NUM_THREADS,
- + OMP_GET_THREAD_NUM, N, CHUNKSIZE, CHUNK, I
- PARAMETER (N=100)
- PARAMETER (CHUNKSIZE=10)
- REAL A(N), B(N), C(N)
-
-! Some initializations
- DO I = 1, N
- A(I) = I * 1.0
- B(I) = A(I)
- ENDDO
- CHUNK = CHUNKSIZE
-
-!$OMP PARALLEL SHARED(A,B,C,NTHREADS,CHUNK) PRIVATE(I,TID)
-
- TID = OMP_GET_THREAD_NUM()
- IF (TID .EQ. 0) THEN
- NTHREADS = OMP_GET_NUM_THREADS()
- PRINT *, 'Number of threads =', NTHREADS
- END IF
- PRINT *, 'Thread',TID,' starting...'
-
-!$OMP DO SCHEDULE(DYNAMIC,CHUNK)
- DO I = 1, N
- C(I) = A(I) + B(I)
- WRITE(*,100) TID,I,C(I)
- 100 FORMAT(' Thread',I2,': C(',I3,')=',F8.2)
- ENDDO
-!$OMP END DO NOWAIT
-
- PRINT *, 'Thread',TID,' done.'
-
-!$OMP END PARALLEL
-
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare2.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare2.f
deleted file mode 100644
index 9e61da91e..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/omp_workshare2.f
+++ /dev/null
@@ -1,56 +0,0 @@
-C******************************************************************************
-C FILE: omp_workshare2.f
-C DESCRIPTION:
-C OpenMP Example - Sections Work-sharing - Fortran Version
-C In this example, the OpenMP SECTION directive is used to assign
-C different array operations to threads that execute a SECTION. Each
-C thread receives its own copy of the result array to work with.
-C AUTHOR: Blaise Barney 5/99
-C LAST REVISED: 01/09/04
-C******************************************************************************
-
- PROGRAM WORKSHARE2
-
- INTEGER N, I, NTHREADS, TID, OMP_GET_NUM_THREADS,
- + OMP_GET_THREAD_NUM
- PARAMETER (N=50)
- REAL A(N), B(N), C(N)
-
-! Some initializations
- DO I = 1, N
- A(I) = I * 1.0
- B(I) = A(I)
- ENDDO
-
-!$OMP PARALLEL SHARED(A,B,NTHREADS), PRIVATE(C,I,TID)
- TID = OMP_GET_THREAD_NUM()
- IF (TID .EQ. 0) THEN
- NTHREADS = OMP_GET_NUM_THREADS()
- PRINT *, 'Number of threads =', NTHREADS
- END IF
- PRINT *, 'Thread',TID,' starting...'
-
-!$OMP SECTIONS
-
-!$OMP SECTION
- PRINT *, 'Thread',TID,' doing section 1'
- DO I = 1, N
- C(I) = A(I) + B(I)
- WRITE(*,100) TID,I,C(I)
- 100 FORMAT(' Thread',I2,': C(',I2,')=',F8.2)
- ENDDO
-
-!$OMP SECTION
- PRINT *, 'Thread',TID,' doing section 2'
- DO I = 1+N/2, N
- C(I) = A(I) * B(I)
- WRITE(*,100) TID,I,C(I)
- ENDDO
-
-!$OMP END SECTIONS NOWAIT
-
- PRINT *, 'Thread',TID,' done.'
-
-!$OMP END PARALLEL
-
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25162.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25162.f
deleted file mode 100644
index a868ea4c9..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25162.f
+++ /dev/null
@@ -1,40 +0,0 @@
-C PR fortran/25162
-C { dg-do run }
-C { dg-require-effective-target tls_runtime }
- PROGRAM PR25162
- CALL TEST1
- CALL TEST2
- END
- SUBROUTINE TEST1
- DOUBLE PRECISION BPRIM
- COMMON /TESTCOM/ BPRIM(100)
-C$OMP THREADPRIVATE(/TESTCOM/)
- INTEGER I
- DO I = 1, 100
- BPRIM( I ) = DBLE( I )
- END DO
- RETURN
- END
- SUBROUTINE TEST2
- DOUBLE PRECISION BPRIM
- COMMON /TESTCOM/ BPRIM(100)
-C$OMP THREADPRIVATE(/TESTCOM/)
- INTEGER I, IDUM(50)
- DO I = 1, 50
- IDUM(I) = I
- END DO
-C$OMP PARALLEL COPYIN(/TESTCOM/) NUM_THREADS(4)
- CALL TEST3
-C$OMP END PARALLEL
- RETURN
- END
- SUBROUTINE TEST3
- DOUBLE PRECISION BPRIM
- COMMON /TESTCOM/ BPRIM(100)
-C$OMP THREADPRIVATE(/TESTCOM/)
- INTEGER K
- DO K = 1, 10
- IF (K.NE.BPRIM(K)) CALL ABORT
- END DO
- RETURN
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25219.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25219.f90
deleted file mode 100644
index 7fe1a53aa..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr25219.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! PR fortran/25219
-
- implicit none
- save
- integer :: i, k
- k = 3
-!$omp parallel
-!$omp do lastprivate (k)
- do i = 1, 100
- k = i
- end do
-!$omp end do
-!$omp end parallel
- if (k .ne. 100) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-1.f90
deleted file mode 100644
index 380a10776..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-1.f90
+++ /dev/null
@@ -1,31 +0,0 @@
-! PR fortran/27395
-! { dg-do run }
-
-program pr27395_1
- implicit none
- integer, parameter :: n=10,m=1001
- integer :: i
- integer, dimension(n) :: sumarray
- call foo(n,m,sumarray)
- do i=1,n
- if (sumarray(i).ne.m*i) call abort
- end do
-end program pr27395_1
-
-subroutine foo(n,m,sumarray)
- use omp_lib, only : omp_get_thread_num
- implicit none
- integer, intent(in) :: n,m
- integer, dimension(n), intent(out) :: sumarray
- integer :: i,j
- sumarray(:)=0
-!$OMP PARALLEL DEFAULT(shared) NUM_THREADS(4)
-!$OMP DO PRIVATE(j,i), REDUCTION(+:sumarray)
- do j=1,m
- do i=1,n
- sumarray(i)=sumarray(i)+i
- end do
- end do
-!$OMP END DO
-!$OMP END PARALLEL
-end subroutine foo
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-2.f90
deleted file mode 100644
index b3cb255f6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27395-2.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-! PR fortran/27395
-! { dg-do run }
-
-program pr27395_2
- implicit none
- integer, parameter :: n=10,m=1001
- integer :: i
- call foo(n,m)
-end program pr27395_2
-
-subroutine foo(n,m)
- use omp_lib, only : omp_get_thread_num
- implicit none
- integer, intent(in) :: n,m
- integer :: i,j
- integer, dimension(n) :: sumarray
- sumarray(:)=0
-!$OMP PARALLEL DEFAULT(shared) NUM_THREADS(4)
-!$OMP DO PRIVATE(j,i), REDUCTION(+:sumarray)
- do j=1,m
- do i=1,n
- sumarray(i)=sumarray(i)+i
- end do
- end do
-!$OMP END DO
-!$OMP END PARALLEL
- do i=1,n
- if (sumarray(i).ne.m*i) call abort
- end do
-end subroutine foo
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27416-1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27416-1.f90
deleted file mode 100644
index d42e1ef19..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27416-1.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! PR middle-end/27416
-! { dg-do run }
-
- integer :: j
- j = 6
-!$omp parallel num_threads (4)
- call foo (j)
-!$omp end parallel
- if (j.ne.6+16) call abort
-end
-
-subroutine foo (j)
- integer :: i, j
-
-!$omp do firstprivate (j) lastprivate (j)
- do i = 1, 16
- if (i.eq.16) j = j + i
- end do
-end subroutine foo
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-1.f90
deleted file mode 100644
index 7f6b51d08..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! PR fortran/27916
-! Test whether allocatable privatized arrays has "not currently allocated"
-! status at the start of OpenMP constructs.
-! { dg-do run }
-
-program pr27916
- integer :: n, i
- logical :: r
- integer, dimension(:), allocatable :: a
-
- r = .false.
-!$omp parallel do num_threads (4) private (n, a, i) &
-!$omp & reduction (.or.: r) schedule (static)
- do n = 1, 16
- r = r .or. allocated (a)
- allocate (a (16))
- r = r .or. .not. allocated (a)
- do i = 1, 16
- a (i) = i
- end do
- deallocate (a)
- r = r .or. allocated (a)
- end do
- !$omp end parallel do
- if (r) call abort
-end program pr27916
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-2.f90
deleted file mode 100644
index aa8bb0aec..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr27916-2.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! PR fortran/27916
-! Test whether allocatable privatized arrays has "not currently allocated"
-! status at the start of OpenMP constructs.
-! { dg-do run }
-
-program pr27916
- integer :: n, i
- logical :: r
- integer, dimension(:), allocatable :: a
-
- r = .false.
-!$omp parallel do num_threads (4) default (private) &
-!$omp & reduction (.or.: r) schedule (static)
- do n = 1, 16
- r = r .or. allocated (a)
- allocate (a (16))
- r = r .or. .not. allocated (a)
- do i = 1, 16
- a (i) = i
- end do
- deallocate (a)
- r = r .or. allocated (a)
- end do
- !$omp end parallel do
- if (r) call abort
-end program pr27916
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr28390.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr28390.f
deleted file mode 100644
index 68fc32b6f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr28390.f
+++ /dev/null
@@ -1,8 +0,0 @@
-! PR fortran/28390
- program pr28390
- integer i
-!$omp parallel do lastprivate(i)
- do i=1,100
- end do
- if (i.ne.101) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr29629.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr29629.f90
deleted file mode 100644
index 9ccddffb0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr29629.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! PR fortran/29629
-! { dg-do run }
-
-program pr29629
- integer :: n
- n = 10000
- if (any (func(n).ne.10000)) call abort
- contains
- function func(n)
- integer, intent(in) :: n
- integer, dimension(n) :: func
- integer :: k
- func = 0
-!$omp parallel do private(k), reduction(+:func), num_threads(4)
- do k = 1, n
- func = func + 1
- end do
-!$omp end parallel do
- end function
-end program
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32359.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32359.f90
deleted file mode 100644
index e48a8a704..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32359.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-! { dg-do compile }
-!
-! PR fortran/32359
-! Contributed by Bill Long <longb@cray.com>
-
-subroutine test
- use omp_lib
- implicit none
- integer, parameter :: NT = 4
- integer :: a
- save
-!$omp threadprivate(a)
- a = 1
-
-!$ call omp_set_num_threads(NT)
-!$omp parallel
- print *, omp_get_thread_num(), a
-!$omp end parallel
-
-end subroutine test
-
-! Derived from OpenMP test omp1/F2_6_2_8_5i.f90
- use omp_lib
- implicit none
- integer, parameter :: NT = 4
- integer :: a = 1
-!$omp threadprivate(a)
-
-!$ call omp_set_num_threads(NT)
-!$omp parallel
- print *, omp_get_thread_num(), a
-!$omp end parallel
-
- END
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32550.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32550.f90
deleted file mode 100644
index 3a49dcf0a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr32550.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! PR fortran/32550
-! { dg-do run }
-! { dg-options "-static-libgcc" { target *-*-darwin* } }
-
- integer, pointer, save :: ptr
- integer, target :: targ
- integer :: e
-!$omp threadprivate(ptr)
- e = 0
- targ = 42
-!$omp parallel shared(targ)
-!$omp single
- ptr => targ
-!$omp end single copyprivate(ptr)
- if (ptr.ne.42) then
-!$omp atomic
- e = e + 1
- end if
-!$omp end parallel
- if (e.ne.0) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr33880.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr33880.f90
deleted file mode 100644
index 679cab682..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr33880.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-! PR middle-end/33880
-! { dg-do run }
-
-program pr33880
- integer :: i, j
- call something ()
- !$omp parallel do
- do i = 1, 1000
- !$omp atomic
- j = j + 1
- end do
- if (j .ne. 1000) call abort
-contains
- subroutine something()
- i = 0
- j = 0
- end subroutine something
-end program pr33880
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr34020.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr34020.f90
deleted file mode 100644
index 3bb14f5fe..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr34020.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! PR fortran/34020
-! { dg-do run }
-
- subroutine atomic_add(lhs, rhs)
- real lhs, rhs
-!$omp atomic
- lhs = rhs + lhs
- end
-
- real lhs, rhs
- integer i
- lhs = 0
- rhs = 1
-!$omp parallel do num_threads(8) shared(lhs, rhs)
- do i = 1, 300000
- call atomic_add(lhs, rhs)
- enddo
- if (lhs .ne. 300000) call abort
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr35130.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr35130.f90
deleted file mode 100644
index 50ff35152..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr35130.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! PR middle-end/35130
-
-program pr35130
- implicit none
- real, dimension(20) :: a
- integer :: k
- a(:) = 0.0
-!$omp parallel do private(k)
- do k=1,size(a)
- call inner(k)
- end do
-!$omp end parallel do
- if (any (a.ne.42)) call abort
-contains
- subroutine inner(i)
- implicit none
- integer :: i
- a(i) = 42
- end subroutine inner
-end program pr35130
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr42162.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr42162.f90
deleted file mode 100644
index dbcc3b71d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/pr42162.f90
+++ /dev/null
@@ -1,53 +0,0 @@
-! PR fortran/42162
-! { dg-do run }
-
-subroutine sub1(k, a)
- implicit none
- integer :: k, a(3)
- !$omp do
- do k=1,3
- a(k) = a(k) + 1
- enddo
- !$omp end do
-end subroutine sub1
-
-subroutine sub2(k, a)
- implicit none
- integer :: k, a(3)
- !$omp do private (k)
- do k=1,3
- a(k) = a(k) + 1
- enddo
- !$omp end do
-end subroutine sub2
-
-subroutine sub3(k, a)
- implicit none
- integer :: k, a(3)
- !$omp do lastprivate (k)
- do k=1,3
- a(k) = a(k) + 1
- enddo
- !$omp end do
-end subroutine sub3
-
-program pr42162
- implicit none
- integer :: k, a(3), b(3), c(3)
- a = 1
- b = 2
- c = 3
- k = 3
- !$omp parallel num_threads(3)
- call sub1 (k, a)
- !$omp end parallel
- k = 4
- !$omp parallel num_threads(3)
- call sub2 (k, b)
- !$omp end parallel
- k = 10
- !$omp parallel num_threads(3)
- call sub3 (k, c)
- !$omp end parallel
- if (k.ne.4.or.any(a.ne.2).or.any(b.ne.3).or.any(c.ne.4)) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction1.f90
deleted file mode 100644
index d6ceb0814..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction1.f90
+++ /dev/null
@@ -1,181 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- integer :: i, ia (6), n, cnt
- real :: r, ra (4)
- double precision :: d, da (5)
- complex :: c, ca (3)
- logical :: v
-
- i = 1
- ia = 2
- r = 3
- ra = 4
- d = 5.5
- da = 6.5
- c = cmplx (7.5, 1.5)
- ca = cmplx (8.5, -3.0)
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (+:i, ia, r, ra, d, da, c, ca)
-!$ if (i .ne. 0 .or. any (ia .ne. 0)) v = .true.
-!$ if (r .ne. 0 .or. any (ra .ne. 0)) v = .true.
-!$ if (d .ne. 0 .or. any (da .ne. 0)) v = .true.
-!$ if (c .ne. cmplx (0) .or. any (ca .ne. cmplx (0))) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- i = 4
- ia(3:5) = -2
- r = 5
- ra(1:2) = 6.5
- d = -2.5
- da(2:4) = 8.5
- c = cmplx (2.5, -3.5)
- ca(1) = cmplx (4.5, 5)
- else if (n .eq. 1) then
- i = 2
- ia(4:6) = 5
- r = 1
- ra(2:4) = -1.5
- d = 8.5
- da(1:3) = 2.5
- c = cmplx (0.5, -3)
- ca(2:3) = cmplx (-1, 6)
- else
- i = 1
- ia = 1
- r = -1
- ra = -1
- d = 1
- da = -1
- c = 1
- ca = cmplx (-1, 0)
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (i .ne. 8 .or. any (ia .ne. (/3, 3, 1, 6, 6, 8/))) call abort
- if (r .ne. 8 .or. any (ra .ne. (/9.5, 8.0, 1.5, 1.5/))) call abort
- if (d .ne. 12.5 .or. any (da .ne. (/8.0, 16.5, 16.5, 14.0, 5.5/))) call abort
- if (c .ne. cmplx (11.5, -5)) call abort
- if (ca(1) .ne. cmplx (12, 2)) call abort
- if (ca(2) .ne. cmplx (6.5, 3) .or. ca(2) .ne. ca(3)) call abort
- end if
-
- i = 1
- ia = 2
- r = 3
- ra = 4
- d = 5.5
- da = 6.5
- c = cmplx (7.5, 1.5)
- ca = cmplx (8.5, -3.0)
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (-:i, ia, r, ra, d, da, c, ca)
-!$ if (i .ne. 0 .or. any (ia .ne. 0)) v = .true.
-!$ if (r .ne. 0 .or. any (ra .ne. 0)) v = .true.
-!$ if (d .ne. 0 .or. any (da .ne. 0)) v = .true.
-!$ if (c .ne. cmplx (0) .or. any (ca .ne. cmplx (0))) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- i = 4
- ia(3:5) = -2
- r = 5
- ra(1:2) = 6.5
- d = -2.5
- da(2:4) = 8.5
- c = cmplx (2.5, -3.5)
- ca(1) = cmplx (4.5, 5)
- else if (n .eq. 1) then
- i = 2
- ia(4:6) = 5
- r = 1
- ra(2:4) = -1.5
- d = 8.5
- da(1:3) = 2.5
- c = cmplx (0.5, -3)
- ca(2:3) = cmplx (-1, 6)
- else
- i = 1
- ia = 1
- r = -1
- ra = -1
- d = 1
- da = -1
- c = 1
- ca = cmplx (-1, 0)
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (i .ne. 8 .or. any (ia .ne. (/3, 3, 1, 6, 6, 8/))) call abort
- if (r .ne. 8 .or. any (ra .ne. (/9.5, 8.0, 1.5, 1.5/))) call abort
- if (d .ne. 12.5 .or. any (da .ne. (/8.0, 16.5, 16.5, 14.0, 5.5/))) call abort
- if (c .ne. cmplx (11.5, -5)) call abort
- if (ca(1) .ne. cmplx (12, 2)) call abort
- if (ca(2) .ne. cmplx (6.5, 3) .or. ca(2) .ne. ca(3)) call abort
- end if
-
- i = 1
- ia = 2
- r = 4
- ra = 8
- d = 16
- da = 32
- c = 2
- ca = cmplx (0, 2)
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (*:i, ia, r, ra, d, da, c, ca)
-!$ if (i .ne. 1 .or. any (ia .ne. 1)) v = .true.
-!$ if (r .ne. 1 .or. any (ra .ne. 1)) v = .true.
-!$ if (d .ne. 1 .or. any (da .ne. 1)) v = .true.
-!$ if (c .ne. cmplx (1) .or. any (ca .ne. cmplx (1))) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- i = 3
- ia(3:5) = 2
- r = 0.5
- ra(1:2) = 2
- d = -1
- da(2:4) = -2
- c = 2.5
- ca(1) = cmplx (-5, 0)
- else if (n .eq. 1) then
- i = 2
- ia(4:6) = -2
- r = 8
- ra(2:4) = -0.5
- da(1:3) = -1
- c = -3
- ca(2:3) = cmplx (0, -1)
- else
- ia = 2
- r = 0.5
- ra = 0.25
- d = 2.5
- da = -1
- c = cmplx (0, -1)
- ca = cmplx (-1, 0)
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (i .ne. 6 .or. any (ia .ne. (/4, 4, 8, -16, -16, -8/))) call abort
- if (r .ne. 8 .or. any (ra .ne. (/4., -2., -1., -1./))) call abort
- if (d .ne. -40 .or. any (da .ne. (/32., -64., -64., 64., -32./))) call abort
- if (c .ne. cmplx (0, 15)) call abort
- if (ca(1) .ne. cmplx (0, 10)) call abort
- if (ca(2) .ne. cmplx (-2, 0) .or. ca(2) .ne. ca(3)) call abort
- end if
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction2.f90
deleted file mode 100644
index 9bdeb77de..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction2.f90
+++ /dev/null
@@ -1,73 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- logical :: l, la (4), m, ma (4), v
- integer :: n, cnt
-
- l = .true.
- la = (/.true., .false., .true., .true./)
- m = .false.
- ma = (/.false., .false., .false., .true./)
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (.and.:l, la) reduction (.or.:m, ma)
-!$ if (.not. l .or. any (.not. la)) v = .true.
-!$ if (m .or. any (ma)) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- l = .false.
- la(3) = .false.
- ma(2) = .true.
- else if (n .eq. 1) then
- l = .false.
- la(4) = .false.
- ma(1) = .true.
- else
- la(3) = .false.
- m = .true.
- ma(1) = .true.
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (l .or. any (la .neqv. (/.true., .false., .false., .false./))) call abort
- if (.not. m .or. any (ma .neqv. (/.true., .true., .false., .true./))) call abort
- end if
-
- l = .true.
- la = (/.true., .false., .true., .true./)
- m = .false.
- ma = (/.false., .false., .false., .true./)
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (.eqv.:l, la) reduction (.neqv.:m, ma)
-!$ if (.not. l .or. any (.not. la)) v = .true.
-!$ if (m .or. any (ma)) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- l = .false.
- la(3) = .false.
- ma(2) = .true.
- else if (n .eq. 1) then
- l = .false.
- la(4) = .false.
- ma(1) = .true.
- else
- la(3) = .false.
- m = .true.
- ma(1) = .true.
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (.not. l .or. any (la .neqv. (/.true., .false., .true., .false./))) call abort
- if (.not. m .or. any (ma .neqv. (/.false., .true., .false., .true./))) call abort
- end if
-
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction3.f90
deleted file mode 100644
index 89b9d1af6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction3.f90
+++ /dev/null
@@ -1,103 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- integer (kind = 4) :: i, ia (6), n, cnt
- real :: r, ra (4)
- double precision :: d, da (5)
- logical :: v
-
- i = 1
- ia = 2
- r = 3
- ra = 4
- d = 5.5
- da = 6.5
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (max:i, ia, r, ra, d, da)
-!$ if (i .ne. -huge(i)-1 .or. any (ia .ne. -huge(ia)-1)) v = .true.
-!$ if (r .ge. -1.0d38 .or. any (ra .ge. -1.0d38)) v = .true.
-!$ if (d .ge. -1.0d300 .or. any (da .ge. -1.0d300)) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- i = 4
- ia(3:5) = -2
- ia(1) = 7
- r = 5
- ra(1:2) = 6.5
- d = -2.5
- da(2:4) = 8.5
- else if (n .eq. 1) then
- i = 2
- ia(4:6) = 5
- r = 1
- ra(2:4) = -1.5
- d = 8.5
- da(1:3) = 2.5
- else
- i = 1
- ia = 1
- r = -1
- ra = -1
- d = 1
- da = -1
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (i .ne. 4 .or. any (ia .ne. (/7, 2, 2, 5, 5, 5/))) call abort
- if (r .ne. 5 .or. any (ra .ne. (/6.5, 6.5, 4., 4./))) call abort
- if (d .ne. 8.5 .or. any (da .ne. (/6.5, 8.5, 8.5, 8.5, 6.5/))) call abort
- end if
-
- i = 1
- ia = 2
- r = 3
- ra = 4
- d = 5.5
- da = 6.5
- v = .false.
- cnt = -1
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (min:i, ia, r, ra, d, da)
-!$ if (i .ne. 2147483647 .or. any (ia .ne. 2147483647)) v = .true.
-!$ if (r .le. 1.0d38 .or. any (ra .le. 1.0d38)) v = .true.
-!$ if (d .le. 1.0d300 .or. any (da .le. 1.0d300)) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- i = 4
- ia(3:5) = -2
- ia(1) = 7
- r = 5
- ra(1:2) = 6.5
- d = -2.5
- da(2:4) = 8.5
- else if (n .eq. 1) then
- i = 2
- ia(4:6) = 5
- r = 1
- ra(2:4) = -1.5
- d = 8.5
- da(1:3) = 2.5
- else
- i = 1
- ia = 1
- r = -1
- ra = 7
- ra(3) = -8.5
- d = 1
- da(1:4) = 6
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- if (i .ne. 1 .or. any (ia .ne. (/1, 1, -2, -2, -2, 1/))) call abort
- if (r .ne. -1 .or. any (ra .ne. (/4., -1.5, -8.5, -1.5/))) call abort
- if (d .ne. -2.5 .or. any (da .ne. (/2.5, 2.5, 2.5, 6., 6.5/))) call abort
- end if
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction4.f90
deleted file mode 100644
index bb1ed0e20..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction4.f90
+++ /dev/null
@@ -1,56 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- integer (kind = 4) :: i, ia (6), j, ja (6), k, ka (6), ta (6), n, cnt, x
- logical :: v
-
- i = Z'ffff0f'
- ia = Z'f0ff0f'
- j = Z'0f0000'
- ja = Z'0f5a00'
- k = Z'055aa0'
- ka = Z'05a5a5'
- v = .false.
- cnt = -1
- x = not(0)
-
-!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
-!$omp & reduction (iand:i, ia) reduction (ior:j, ja) reduction (ieor:k, ka)
-!$ if (i .ne. x .or. any (ia .ne. x)) v = .true.
-!$ if (j .ne. 0 .or. any (ja .ne. 0)) v = .true.
-!$ if (k .ne. 0 .or. any (ka .ne. 0)) v = .true.
- n = omp_get_thread_num ()
- if (n .eq. 0) then
- cnt = omp_get_num_threads ()
- i = Z'ff7fff'
- ia(3:5) = Z'fffff1'
- j = Z'078000'
- ja(1:3) = 1
- k = Z'78'
- ka(3:6) = Z'f0f'
- else if (n .eq. 1) then
- i = Z'ffff77'
- ia(2:5) = Z'ffafff'
- j = Z'007800'
- ja(2:5) = 8
- k = Z'57'
- ka(3:4) = Z'f0108'
- else
- i = Z'777fff'
- ia(1:2) = Z'fffff3'
- j = Z'000780'
- ja(5:6) = Z'f00'
- k = Z'1000'
- ka(6:6) = Z'777'
- end if
-!$omp end parallel
- if (v) call abort
- if (cnt .eq. 3) then
- ta = (/Z'f0ff03', Z'f0af03', Z'f0af01', Z'f0af01', Z'f0af01', Z'f0ff0f'/)
- if (i .ne. Z'777f07' .or. any (ia .ne. ta)) call abort
- ta = (/Z'f5a01', Z'f5a09', Z'f5a09', Z'f5a08', Z'f5f08', Z'f5f00'/)
- if (j .ne. Z'fff80' .or. any (ja .ne. ta)) call abort
- ta = (/Z'5a5a5', Z'5a5a5', Z'aaba2', Z'aaba2', Z'5aaaa', Z'5addd'/)
- if (k .ne. Z'54a8f' .or. any (ka .ne. ta)) call abort
- end if
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction5.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction5.f90
deleted file mode 100644
index 24c2ff612..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction5.f90
+++ /dev/null
@@ -1,43 +0,0 @@
-! { dg-do run }
-
-module reduction5
- intrinsic ior, min, max
-end module reduction5
-
- call test1
- call test2
-contains
- subroutine test1
- use reduction5, bitwise_or => ior
- integer :: n
- n = Z'f'
-!$omp parallel sections num_threads (3) reduction (bitwise_or: n)
- n = ior (n, Z'20')
-!$omp section
- n = bitwise_or (Z'410', n)
-!$omp section
- n = bitwise_or (n, Z'2000')
-!$omp end parallel sections
- if (n .ne. Z'243f') call abort
- end subroutine
- subroutine test2
- use reduction5, min => max, max => min
- integer :: m, n
- m = 8
- n = 4
-!$omp parallel sections num_threads (3) reduction (min: n) &
-!$omp & reduction (max: m)
- if (m .gt. 13) m = 13
- if (n .lt. 11) n = 11
-!$omp section
- if (m .gt. 5) m = 5
- if (n .lt. 15) n = 15
-!$omp section
- if (m .gt. 3) m = 3
- if (n .lt. -1) n = -1
-!$omp end parallel sections
- if (m .ne. 3 .or. n .ne. 15) call abort
- end subroutine test2
-end
-
-! { dg-final { cleanup-modules "reduction5" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction6.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction6.f90
deleted file mode 100644
index 9f3ec6ca8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reduction6.f90
+++ /dev/null
@@ -1,32 +0,0 @@
-! { dg-do run }
-
- integer, dimension (6, 6) :: a
- character (36) :: c
- integer nthreads
- a = 9
- nthreads = -1
- call foo (a (2:4, 3:5), nthreads)
- if (nthreads .eq. 3) then
- write (c, '(36i1)') a
- if (c .ne. '999999999999966699966699966699999999') call abort
- end if
-contains
- subroutine foo (b, nthreads)
- use omp_lib
- integer, dimension (3:, 5:) :: b
- integer :: err, nthreads
- b = 0
- err = 0
-!$omp parallel num_threads (3) reduction (+:b)
- if (any (b .ne. 0)) then
-!$omp atomic
- err = err + 1
- end if
-!$omp master
- nthreads = omp_get_num_threads ()
-!$omp end master
- b = 2
-!$omp end parallel
- if (err .gt. 0) call abort
- end subroutine foo
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference1.f90
deleted file mode 100644
index b959e2716..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference1.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-! { dg-do run }
-!$ use omp_lib
-
- integer :: i, j, k
- double precision :: d
- i = 6
- j = 19
- k = 0
- d = 24.5
- call test (i, j, k, d)
- if (i .ne. 38) call abort
- if (iand (k, 255) .ne. 0) call abort
- if (iand (k, 65280) .eq. 0) then
- if (k .ne. 65536 * 4) call abort
- end if
-contains
- subroutine test (i, j, k, d)
- integer :: i, j, k
- double precision :: d
-
-!$omp parallel firstprivate (d) private (j) num_threads (4) reduction (+:k)
- if (i .ne. 6 .or. d .ne. 24.5 .or. k .ne. 0) k = k + 1
- if (omp_get_num_threads () .ne. 4) k = k + 256
- d = d / 2
- j = 8
- k = k + 65536
-!$omp barrier
- if (d .ne. 12.25 .or. j .ne. 8) k = k + 1
-!$omp single
- i = i + 32
-!$omp end single nowait
-!$omp end parallel
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference2.f90
deleted file mode 100644
index 1232b6926..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/reference2.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! { dg-do run }
- real, dimension (5) :: b
- b = 5
- call foo (b)
-contains
- subroutine foo (a)
- real, dimension (5) :: a
- logical :: l
- l = .false.
-!$omp parallel private (a) reduction (.or.:l)
- a = 15
- l = bar (a)
-!$omp end parallel
- if (l) call abort
- end subroutine
- function bar (a)
- real, dimension (5) :: a
- logical :: bar
- bar = any (a .ne. 15)
- end function
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval1.f90
deleted file mode 100644
index 8bb07f8fc..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval1.f90
+++ /dev/null
@@ -1,120 +0,0 @@
-! { dg-do run }
-
-function f1 ()
- use omp_lib
- real :: f1
- logical :: l
- f1 = 6.5
- l = .false.
-!$omp parallel firstprivate (f1) num_threads (2) reduction (.or.:l)
- l = f1 .ne. 6.5
- if (omp_get_thread_num () .eq. 0) f1 = 8.5
- if (omp_get_thread_num () .eq. 1) f1 = 14.5
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. f1 .ne. 8.5)
- l = l .or. (omp_get_thread_num () .eq. 1 .and. f1 .ne. 14.5)
-!$omp end parallel
- if (l) call abort
- f1 = -2.5
-end function f1
-function f2 ()
- use omp_lib
- real :: f2, e2
- logical :: l
-entry e2 ()
- f2 = 6.5
- l = .false.
-!$omp parallel firstprivate (e2) num_threads (2) reduction (.or.:l)
- l = e2 .ne. 6.5
- if (omp_get_thread_num () .eq. 0) e2 = 8.5
- if (omp_get_thread_num () .eq. 1) e2 = 14.5
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. e2 .ne. 8.5)
- l = l .or. (omp_get_thread_num () .eq. 1 .and. e2 .ne. 14.5)
-!$omp end parallel
- if (l) call abort
- e2 = 7.5
-end function f2
-function f3 ()
- use omp_lib
- real :: f3, e3
- logical :: l
-entry e3 ()
- f3 = 6.5
- l = .false.
-!$omp parallel firstprivate (f3, e3) num_threads (2) reduction (.or.:l)
- l = e3 .ne. 6.5
- l = l .or. f3 .ne. 6.5
- if (omp_get_thread_num () .eq. 0) e3 = 8.5
- if (omp_get_thread_num () .eq. 1) e3 = 14.5
- f3 = e3 - 4.5
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. e3 .ne. 8.5)
- l = l .or. (omp_get_thread_num () .eq. 1 .and. e3 .ne. 14.5)
- l = l .or. f3 .ne. e3 - 4.5
-!$omp end parallel
- if (l) call abort
- e3 = 0.5
-end function f3
-function f4 () result (r4)
- use omp_lib
- real :: r4, s4
- logical :: l
-entry e4 () result (s4)
- r4 = 6.5
- l = .false.
-!$omp parallel firstprivate (r4, s4) num_threads (2) reduction (.or.:l)
- l = s4 .ne. 6.5
- l = l .or. r4 .ne. 6.5
- if (omp_get_thread_num () .eq. 0) s4 = 8.5
- if (omp_get_thread_num () .eq. 1) s4 = 14.5
- r4 = s4 - 4.5
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. s4 .ne. 8.5)
- l = l .or. (omp_get_thread_num () .eq. 1 .and. s4 .ne. 14.5)
- l = l .or. r4 .ne. s4 - 4.5
-!$omp end parallel
- if (l) call abort
- s4 = -0.5
-end function f4
-function f5 (is_f5)
- use omp_lib
- real :: f5
- integer :: e5
- logical :: l, is_f5
-entry e5 (is_f5)
- if (is_f5) then
- f5 = 6.5
- else
- e5 = 8
- end if
- l = .false.
-!$omp parallel firstprivate (f5, e5) shared (is_f5) num_threads (2) &
-!$omp reduction (.or.:l)
- l = .not. is_f5 .and. e5 .ne. 8
- l = l .or. (is_f5 .and. f5 .ne. 6.5)
- if (omp_get_thread_num () .eq. 0) e5 = 8
- if (omp_get_thread_num () .eq. 1) e5 = 14
- f5 = e5 - 4.5
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. e5 .ne. 8)
- l = l .or. (omp_get_thread_num () .eq. 1 .and. e5 .ne. 14)
- l = l .or. f5 .ne. e5 - 4.5
-!$omp end parallel
- if (l) call abort
- if (is_f5) f5 = -2.5
- if (.not. is_f5) e5 = 8
-end function f5
-
- real :: f1, f2, e2, f3, e3, f4, e4, f5
- integer :: e5
- if (f1 () .ne. -2.5) call abort
- if (f2 () .ne. 7.5) call abort
- if (e2 () .ne. 7.5) call abort
- if (f3 () .ne. 0.5) call abort
- if (e3 () .ne. 0.5) call abort
- if (f4 () .ne. -0.5) call abort
- if (e4 () .ne. -0.5) call abort
- if (f5 (.true.) .ne. -2.5) call abort
- if (e5 (.false.) .ne. 8) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval2.f90
deleted file mode 100644
index 92da15f58..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/retval2.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-! { dg-do run }
-
-function f1 ()
- real :: f1
- f1 = 6.5
- call sub1
-contains
- subroutine sub1
- use omp_lib
- logical :: l
- l = .false.
-!$omp parallel firstprivate (f1) num_threads (2) reduction (.or.:l)
- l = f1 .ne. 6.5
- if (omp_get_thread_num () .eq. 0) f1 = 8.5
- if (omp_get_thread_num () .eq. 1) f1 = 14.5
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. f1 .ne. 8.5)
- l = l .or. (omp_get_thread_num () .eq. 1 .and. f1 .ne. 14.5)
-!$omp end parallel
- if (l) call abort
- f1 = -2.5
- end subroutine sub1
-end function f1
-
- real :: f1
- if (f1 () .ne. -2.5) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing1.f90
deleted file mode 100644
index 063e7db83..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing1.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! { dg-do run }
-
- use omp_lib
- integer :: i, j, k
- logical :: l
- common /b/ i, j
- i = 4
- j = 8
- l = .false.
-!$omp parallel private (k) firstprivate (i) shared (j) num_threads (2) &
-!$omp& reduction (.or.:l)
- if (i .ne. 4 .or. j .ne. 8) l = .true.
-!$omp barrier
- k = omp_get_thread_num ()
- if (k .eq. 0) then
- i = 14
- j = 15
- end if
-!$omp barrier
- if (k .eq. 1) then
- if (i .ne. 4 .or. j .ne. 15) l = .true.
- i = 24
- j = 25
- end if
-!$omp barrier
- if (j .ne. 25 .or. i .ne. (k * 10 + 14)) l = .true.
-!$omp end parallel
- if (l .or. j .ne. 25) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing2.f90
deleted file mode 100644
index 266dd46fa..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/sharing2.f90
+++ /dev/null
@@ -1,32 +0,0 @@
-! { dg-do run }
-
- use omp_lib
- integer :: i, j, k, m, n
- logical :: l
- equivalence (i, m)
- equivalence (j, n)
- i = 4
- j = 8
- l = .false.
-!$omp parallel private (k) firstprivate (i) shared (j) num_threads (2) &
-!$omp& reduction (.or.:l)
- l = l .or. i .ne. 4
- l = l .or. j .ne. 8
-!$omp barrier
- k = omp_get_thread_num ()
- if (k .eq. 0) then
- i = 14
- j = 15
- end if
-!$omp barrier
- if (k .eq. 1) then
- if (i .ne. 4 .or. j .ne. 15) l = .true.
- i = 24
- j = 25
- end if
-!$omp barrier
- if (j .ne. 25 .or. i .ne. (k * 10 + 14)) l = .true.
-!$omp end parallel
- if (l) call abort
- if (j .ne. 25) call abort
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90
deleted file mode 100644
index b27673d01..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! { dg-do run }
-program stack
- implicit none
- integer id
- integer ilocs(2)
- integer omp_get_thread_num, foo
- call omp_set_num_threads (2)
-!$omp parallel private (id)
- id = omp_get_thread_num() + 1
- ilocs(id) = foo()
-!$omp end parallel
- ! Check that the two threads are not sharing a location for
- ! the array x in foo()
- if (ilocs(1) .eq. ilocs(2)) call abort
-end program stack
-
-integer function foo ()
- implicit none
- real x(100,100)
- foo = loc(x)
-end function foo
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/strassen.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/strassen.f90
deleted file mode 100644
index b44982665..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/strassen.f90
+++ /dev/null
@@ -1,75 +0,0 @@
-! { dg-options "-O2" }
-
-program strassen_matmul
- use omp_lib
- integer, parameter :: N = 1024
- double precision, save :: A(N,N), B(N,N), C(N,N), D(N,N)
- double precision :: start, end
-
- call random_seed
- call random_number (A)
- call random_number (B)
- start = omp_get_wtime ()
- C = matmul (A, B)
- end = omp_get_wtime ()
- write(*,'(a, f10.6)') ' Time for matmul = ', end - start
- D = 0
- start = omp_get_wtime ()
- call strassen (A, B, D, N)
- end = omp_get_wtime ()
- write(*,'(a, f10.6)') ' Time for Strassen = ', end - start
- if (sqrt (sum ((C - D) ** 2)) / N .gt. 0.1) call abort
- D = 0
- start = omp_get_wtime ()
-!$omp parallel
-!$omp single
- call strassen (A, B, D, N)
-!$omp end single nowait
-!$omp end parallel
- end = omp_get_wtime ()
- write(*,'(a, f10.6)') ' Time for Strassen MP = ', end - start
- if (sqrt (sum ((C - D) ** 2)) / N .gt. 0.1) call abort
-
-contains
-
- recursive subroutine strassen (A, B, C, N)
- integer, intent(in) :: N
- double precision, intent(in) :: A(N,N), B(N,N)
- double precision, intent(out) :: C(N,N)
- double precision :: T(N/2,N/2,7)
- integer :: K, L
-
- if (iand (N,1) .ne. 0 .or. N < 64) then
- C = matmul (A, B)
- return
- end if
- K = N / 2
- L = N / 2 + 1
-!$omp task shared (A, B, T)
- call strassen (A(:K,:K) + A(L:,L:), B(:K,:K) + B(L:,L:), T(:,:,1), K)
-!$omp end task
-!$omp task shared (A, B, T)
- call strassen (A(L:,:K) + A(L:,L:), B(:K,:K), T(:,:,2), K)
-!$omp end task
-!$omp task shared (A, B, T)
- call strassen (A(:K,:K), B(:K,L:) - B(L:,L:), T(:,:,3), K)
-!$omp end task
-!$omp task shared (A, B, T)
- call strassen (A(L:,L:), B(L:,:K) - B(:K,:K), T(:,:,4), K)
-!$omp end task
-!$omp task shared (A, B, T)
- call strassen (A(:K,:K) + A(:K,L:), B(L:,L:), T(:,:,5), K)
-!$omp end task
-!$omp task shared (A, B, T)
- call strassen (A(L:,:K) - A(:K,:K), B(:K,:K) + B(:K,L:), T(:,:,6), K)
-!$omp end task
-!$omp task shared (A, B, T)
- call strassen (A(:K,L:) - A(L:,L:), B(L:,:K) + B(L:,L:), T(:,:,7), K)
-!$omp end task
-!$omp taskwait
- C(:K,:K) = T(:,:,1) + T(:,:,4) - T(:,:,5) + T(:,:,7)
- C(L:,:K) = T(:,:,2) + T(:,:,4)
- C(:K,L:) = T(:,:,3) + T(:,:,5)
- C(L:,L:) = T(:,:,1) - T(:,:,2) + T(:,:,3) + T(:,:,6)
- end subroutine strassen
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs1.f90
deleted file mode 100644
index 4f3d4f5b4..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs1.f90
+++ /dev/null
@@ -1,12 +0,0 @@
- if (b().ne.2) call abort
-contains
-subroutine a
-!$omp parallel
- !$omp end parallel
- end subroutine a
-function b()
- integer :: b
- b = 1
- !$ b = 2
-end function b
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs2.f b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs2.f
deleted file mode 100644
index 7aed5498d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/tabs2.f
+++ /dev/null
@@ -1,13 +0,0 @@
-! { dg-options "-ffixed-form" }
- if (b().ne.2) call abort
- contains
- subroutine a
-!$omp parallel
-!$omp end parallel
- end subroutine a
- function b()
- integer :: b
- b = 1
-!$ b = 2
- end function b
- end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task1.f90
deleted file mode 100644
index df57cb831..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-! { dg-do run }
-
-program tasktest
- use omp_lib
- integer :: i, j
- common /tasktest_j/ j
- j = 0
- !$omp parallel private (i)
- i = omp_get_thread_num ()
- if (i.lt.2) then
- !$omp task if (.false.) default(firstprivate)
- call subr (i + 1)
- !$omp end task
- end if
- !$omp end parallel
- if (j.gt.0) call abort
-contains
- subroutine subr (i)
- use omp_lib
- integer :: i, j
- common /tasktest_j/ j
- if (omp_get_thread_num ().ne.(i - 1)) then
- !$omp atomic
- j = j + 1
- end if
- end subroutine subr
-end program tasktest
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task2.f90
deleted file mode 100644
index 24ffee53a..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/task2.f90
+++ /dev/null
@@ -1,142 +0,0 @@
- integer :: err
- err = 0
-!$omp parallel num_threads (4) default (none) shared (err)
-!$omp single
- call test
-!$omp end single
-!$omp end parallel
- if (err.ne.0) call abort
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x, z
- character (len = 1) :: y
- s = 'PQRSTUV'
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = '_+|/Oo_'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = '///|||!'
-!$omp task default (none) firstprivate (c, d, e, f, g, h, i, j, k) &
-!$omp & firstprivate (s, t, u, v) private (l, p, q, r, w, x, y) shared (err)
- l = .false.
- l = l .or. c .ne. 'abcdefghijkl'
- l = l .or. d .ne. 'ABCDEFG'
- l = l .or. s .ne. 'PQRSTUV'
- do 100, p = 1, 2
- do 100, q = 3, 7
- do 100, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. '0123456789AB'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. '9876543210ZY'
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. '0123456'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. '9876543'
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. '_+|/Oo_'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. '///|||!'
-100 continue
- do 101, p = 3, 5
- do 101, q = 2, 6
- do 101, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. 7.5 * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. 9.5 * p * q * r
-101 continue
- do 102, p = 1, 5
- do 102, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + p + 7 + 3 * q
-102 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
- if (l) then
-!$omp atomic
- err = err + 1
- end if
-!$omp end task
- c = ''
- d = ''
- e(:, :, :) = 199
- f(:, :, :) = 198
- g(:, :) = ''
- h(:, :) = ''
- i(:, :, :) = 7.0
- j(:, :, :) = 8.0
- k(:, :, :) = 9
- s = ''
- t(:, :, :) = 10
- u(:, :, :) = 11
- v(:, :) = ''
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- c = 'abcdefghijkl'
- d = 'ABCDEFG'
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = '0123456789AB'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = '9876543210ZY'
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = '0123456'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = '9876543'
- forall (p = 3:5, q = 2:6, r = 1:7) i(p, q, r) = 7.5 * p * q * r
- forall (p = 3:6, q = 2:6, r = 1:7) j(p, q, r) = 9.5 * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q, r) = 19 + p + q + 3 * r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate1.f90
deleted file mode 100644
index 32161426b..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate1.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
-
-module threadprivate1
- double precision :: d
-!$omp threadprivate (d)
-end module threadprivate1
-
-!$ use omp_lib
- use threadprivate1
- logical :: l
- l = .false.
-!$omp parallel num_threads (4) reduction (.or.:l)
- d = omp_get_thread_num () + 6.5
-!$omp barrier
- if (d .ne. omp_get_thread_num () + 6.5) l = .true.
-!$omp end parallel
- if (l) call abort ()
-end
-
-! { dg-final { cleanup-modules "threadprivate1" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate2.f90
deleted file mode 100644
index fb3f7ae8f..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate2.f90
+++ /dev/null
@@ -1,96 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
-
-module threadprivate2
- integer, dimension(:,:), allocatable :: foo
-!$omp threadprivate (foo)
-end module threadprivate2
-
- use omp_lib
- use threadprivate2
-
- integer, dimension(:), pointer :: bar1
- integer, dimension(2), target :: bar2
- common /thrc/ bar1, bar2
-!$omp threadprivate (/thrc/)
-
- integer, dimension(:), pointer, save :: bar3 => NULL()
-!$omp threadprivate (bar3)
-
- logical :: l
- type tt
- integer :: a
- integer :: b = 32
- end type tt
- type (tt), save :: baz
-!$omp threadprivate (baz)
-
- l = .false.
- call omp_set_dynamic (.false.)
- call omp_set_num_threads (4)
-
-!$omp parallel num_threads (4) reduction (.or.:l)
- l = allocated (foo)
- allocate (foo (6 + omp_get_thread_num (), 3))
- l = l.or..not.allocated (foo)
- l = l.or.size (foo).ne.(18 + 3 * omp_get_thread_num ())
- foo = omp_get_thread_num () + 1
-
- bar2 = omp_get_thread_num ()
- l = l.or.associated (bar3)
- bar1 => bar2
- l = l.or..not.associated (bar1)
- l = l.or..not.associated (bar1, bar2)
- l = l.or.any (bar1.ne.omp_get_thread_num ())
- nullify (bar1)
- l = l.or.associated (bar1)
- allocate (bar3 (4))
- l = l.or..not.associated (bar3)
- bar3 = omp_get_thread_num () - 2
-
- l = l.or.(baz%b.ne.32)
- baz%a = omp_get_thread_num () * 2
- baz%b = omp_get_thread_num () * 2 + 1
-!$omp end parallel
-
- if (l) call abort
- if (.not.allocated (foo)) call abort
- if (size (foo).ne.18) call abort
- if (any (foo.ne.1)) call abort
-
- if (associated (bar1)) call abort
- if (.not.associated (bar3)) call abort
- if (any (bar3 .ne. -2)) call abort
- deallocate (bar3)
- if (associated (bar3)) call abort
-
-!$omp parallel num_threads (4) reduction (.or.:l)
- l = l.or..not.allocated (foo)
- l = l.or.size (foo).ne.(18 + 3 * omp_get_thread_num ())
- l = l.or.any (foo.ne.(omp_get_thread_num () + 1))
- if (omp_get_thread_num () .ne. 0) then
- deallocate (foo)
- l = l.or.allocated (foo)
- end if
-
- l = l.or.associated (bar1)
- if (omp_get_thread_num () .ne. 0) then
- l = l.or..not.associated (bar3)
- l = l.or.any (bar3 .ne. omp_get_thread_num () - 2)
- deallocate (bar3)
- end if
- l = l.or.associated (bar3)
-
- l = l.or.(baz%a.ne.(omp_get_thread_num () * 2))
- l = l.or.(baz%b.ne.(omp_get_thread_num () * 2 + 1))
-!$omp end parallel
-
- if (l) call abort
- if (.not.allocated (foo)) call abort
- if (size (foo).ne.18) call abort
- if (any (foo.ne.1)) call abort
- deallocate (foo)
- if (allocated (foo)) call abort
-end
-
-! { dg-final { cleanup-modules "threadprivate2" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate3.f90
deleted file mode 100644
index 7edfbf680..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/threadprivate3.f90
+++ /dev/null
@@ -1,108 +0,0 @@
-! { dg-do run }
-! { dg-require-effective-target tls_runtime }
-
-module threadprivate3
- integer, dimension(:,:), pointer :: foo => NULL()
-!$omp threadprivate (foo)
-end module threadprivate3
-
- use omp_lib
- use threadprivate3
-
- integer, dimension(:), pointer :: bar1
- integer, dimension(2), target :: bar2, var
- common /thrc/ bar1, bar2
-!$omp threadprivate (/thrc/)
-
- integer, dimension(:), pointer, save :: bar3 => NULL()
-!$omp threadprivate (bar3)
-
- logical :: l
- type tt
- integer :: a
- integer :: b = 32
- end type tt
- type (tt), save :: baz
-!$omp threadprivate (baz)
-
- l = .false.
- call omp_set_dynamic (.false.)
- call omp_set_num_threads (4)
- var = 6
-
-!$omp parallel num_threads (4) reduction (.or.:l)
- bar2 = omp_get_thread_num ()
- l = associated (bar3)
- bar1 => bar2
- l = l.or..not.associated (bar1)
- l = l.or..not.associated (bar1, bar2)
- l = l.or.any (bar1.ne.omp_get_thread_num ())
- nullify (bar1)
- l = l.or.associated (bar1)
- allocate (bar3 (4))
- l = l.or..not.associated (bar3)
- bar3 = omp_get_thread_num () - 2
- if (omp_get_thread_num () .ne. 0) then
- deallocate (bar3)
- if (associated (bar3)) call abort
- else
- bar1 => var
- end if
- bar2 = omp_get_thread_num () * 6 + 130
-
- l = l.or.(baz%b.ne.32)
- baz%a = omp_get_thread_num () * 2
- baz%b = omp_get_thread_num () * 2 + 1
-!$omp end parallel
-
- if (l) call abort
- if (.not.associated (bar1)) call abort
- if (any (bar1.ne.6)) call abort
- if (.not.associated (bar3)) call abort
- if (any (bar3 .ne. -2)) call abort
- deallocate (bar3)
- if (associated (bar3)) call abort
-
- allocate (bar3 (10))
- bar3 = 17
-
-!$omp parallel copyin (bar1, bar2, bar3, baz) num_threads (4) &
-!$omp& reduction (.or.:l)
- l = l.or..not.associated (bar1)
- l = l.or.any (bar1.ne.6)
- l = l.or.any (bar2.ne.130)
- l = l.or..not.associated (bar3)
- l = l.or.size (bar3).ne.10
- l = l.or.any (bar3.ne.17)
- allocate (bar1 (4))
- bar1 = omp_get_thread_num ()
- bar2 = omp_get_thread_num () + 8
-
- l = l.or.(baz%a.ne.0)
- l = l.or.(baz%b.ne.1)
- baz%a = omp_get_thread_num () * 3 + 4
- baz%b = omp_get_thread_num () * 3 + 5
-
-!$omp barrier
- if (omp_get_thread_num () .eq. 0) then
- deallocate (bar3)
- end if
- bar3 => bar2
-!$omp barrier
-
- l = l.or..not.associated (bar1)
- l = l.or..not.associated (bar3)
- l = l.or.any (bar1.ne.omp_get_thread_num ())
- l = l.or.size (bar1).ne.4
- l = l.or.any (bar2.ne.omp_get_thread_num () + 8)
- l = l.or.any (bar3.ne.omp_get_thread_num () + 8)
- l = l.or.size (bar3).ne.2
-
- l = l.or.(baz%a .ne. omp_get_thread_num () * 3 + 4)
- l = l.or.(baz%b .ne. omp_get_thread_num () * 3 + 5)
-!$omp end parallel
-
- if (l) call abort
-end
-
-! { dg-final { cleanup-modules "threadprivate3" } }
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla1.f90
deleted file mode 100644
index c22165ee0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla1.f90
+++ /dev/null
@@ -1,185 +0,0 @@
-! { dg-do run }
-
- call test
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x
- character (len = 1) :: y
- s = 'PQRSTUV'
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = '_+|/Oo_'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = '///|||!'
- l = .false.
-!$omp parallel default (none) firstprivate (c, d, e, f, g, h, i, j, k) &
-!$omp & firstprivate (s, t, u, v) reduction (.or.:l) num_threads (6) &
-!$omp private (p, q, r, w, x, y)
- l = l .or. c .ne. 'abcdefghijkl'
- l = l .or. d .ne. 'ABCDEFG'
- l = l .or. s .ne. 'PQRSTUV'
- do 100, p = 1, 2
- do 100, q = 3, 7
- do 100, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. '0123456789AB'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. '9876543210ZY'
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. '0123456'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. '9876543'
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. '_+|/Oo_'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. '///|||!'
-100 continue
- do 101, p = 3, 5
- do 101, q = 2, 6
- do 101, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. 7.5 * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. 9.5 * p * q * r
-101 continue
- do 102, p = 1, 5
- do 102, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + p + 7 + 3 * q
-102 continue
- x = omp_get_thread_num ()
- w = ''
- if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- c = w(8:19)
- d = w(1:7)
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)
- forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r
- forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r
- s = w(20:26)
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
-!$omp barrier
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 103, p = 1, 2
- do 103, q = 3, 7
- do 103, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-103 continue
- do 104, p = 3, 5
- do 104, q = 2, 6
- do 104, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-104 continue
- do 105, p = 1, 5
- do 105, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-105 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
-!$omp end parallel
- if (l) call abort
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- c = 'abcdefghijkl'
- d = 'ABCDEFG'
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = '0123456789AB'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = '9876543210ZY'
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = '0123456'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = '9876543'
- forall (p = 3:5, q = 2:6, r = 1:7) i(p, q, r) = 7.5 * p * q * r
- forall (p = 3:6, q = 2:6, r = 1:7) j(p, q, r) = 9.5 * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q, r) = 19 + p + q + 3 * r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla2.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla2.f90
deleted file mode 100644
index a9510fd38..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla2.f90
+++ /dev/null
@@ -1,142 +0,0 @@
-! { dg-do run }
-
- call test
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x
- character (len = 1) :: y
- l = .false.
-!$omp parallel default (none) private (c, d, e, f, g, h, i, j, k) &
-!$omp & private (s, t, u, v) reduction (.or.:l) num_threads (6) &
-!$omp private (p, q, r, w, x, y)
- x = omp_get_thread_num ()
- w = ''
- if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- c = w(8:19)
- d = w(1:7)
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)
- forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r
- forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r
- s = w(20:26)
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
-!$omp barrier
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 103, p = 1, 2
- do 103, q = 3, 7
- do 103, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-103 continue
- do 104, p = 3, 5
- do 104, q = 2, 6
- do 104, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-104 continue
- do 105, p = 1, 5
- do 105, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-105 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
-!$omp end parallel
- if (l) call abort
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla3.f90
deleted file mode 100644
index bfafc4f7d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla3.f90
+++ /dev/null
@@ -1,191 +0,0 @@
-! { dg-do run }
-
- call test
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x, z
- character (len = 1) :: y
- s = 'PQRSTUV'
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = '_+|/Oo_'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = '///|||!'
- l = .false.
-!$omp parallel default (none) shared (c, d, e, f, g, h, i, j, k) &
-!$omp & shared (s, t, u, v) reduction (.or.:l) num_threads (6) &
-!$omp private (p, q, r, w, x, y)
- l = l .or. c .ne. 'abcdefghijkl'
- l = l .or. d .ne. 'ABCDEFG'
- l = l .or. s .ne. 'PQRSTUV'
- do 100, p = 1, 2
- do 100, q = 3, 7
- do 100, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. '0123456789AB'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. '9876543210ZY'
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. '0123456'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. '9876543'
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. '_+|/Oo_'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. '///|||!'
-100 continue
- do 101, p = 3, 5
- do 101, q = 2, 6
- do 101, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. 7.5 * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. 9.5 * p * q * r
-101 continue
- do 102, p = 1, 5
- do 102, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + p + 7 + 3 * q
-102 continue
- do 110 z = 0, omp_get_num_threads () - 1
-!$omp barrier
- x = omp_get_thread_num ()
- w = ''
- if (z .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (z .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (z .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (z .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (z .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (z .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- if (x .eq. z) then
- c = w(8:19)
- d = w(1:7)
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)
- forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r
- forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r
- s = w(20:26)
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
- end if
-!$omp barrier
- x = z
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 103, p = 1, 2
- do 103, q = 3, 7
- do 103, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-103 continue
- do 104, p = 3, 5
- do 104, q = 2, 6
- do 104, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-104 continue
- do 105, p = 1, 5
- do 105, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-105 continue
-110 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
-!$omp end parallel
- if (l) call abort
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- c = 'abcdefghijkl'
- d = 'ABCDEFG'
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = '0123456789AB'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = '9876543210ZY'
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = '0123456'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = '9876543'
- forall (p = 3:5, q = 2:6, r = 1:7) i(p, q, r) = 7.5 * p * q * r
- forall (p = 3:6, q = 2:6, r = 1:7) j(p, q, r) = 9.5 * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q, r) = 19 + p + q + 3 * r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla4.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla4.f90
deleted file mode 100644
index cdd4849b6..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla4.f90
+++ /dev/null
@@ -1,228 +0,0 @@
-! { dg-do run }
-
- call test
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x, z, z2
- character (len = 1) :: y
- s = 'PQRSTUV'
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = '_+|/Oo_'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = '///|||!'
- l = .false.
- call omp_set_dynamic (.false.)
- call omp_set_num_threads (6)
-!$omp parallel do default (none) firstprivate (c, d, e, f, g, h, i, j, k) &
-!$omp & firstprivate (s, t, u, v) reduction (.or.:l) num_threads (6) &
-!$omp private (p, q, r, w, x, y) schedule (static) shared (z2) &
-!$omp lastprivate (c, d, e, f, g, h, i, j, k, s, t, u, v)
- do 110 z = 0, omp_get_num_threads () - 1
- if (omp_get_thread_num () .eq. 0) z2 = omp_get_num_threads ()
- l = l .or. c .ne. 'abcdefghijkl'
- l = l .or. d .ne. 'ABCDEFG'
- l = l .or. s .ne. 'PQRSTUV'
- do 100, p = 1, 2
- do 100, q = 3, 7
- do 100, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. '0123456789AB'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. '9876543210ZY'
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. '0123456'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. '9876543'
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. '_+|/Oo_'
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. '///|||!'
-100 continue
- do 101, p = 3, 5
- do 101, q = 2, 6
- do 101, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. 7.5 * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. 9.5 * p * q * r
-101 continue
- do 102, p = 1, 5
- do 102, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + p + 7 + 3 * q
-102 continue
- x = omp_get_thread_num ()
- w = ''
- if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- c = w(8:19)
- d = w(1:7)
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)
- forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r
- forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r
- s = w(20:26)
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
-!$omp barrier ! { dg-warning "may not be closely nested" }
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 103, p = 1, 2
- do 103, q = 3, 7
- do 103, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-103 continue
- do 104, p = 3, 5
- do 104, q = 2, 6
- do 104, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-104 continue
- do 105, p = 1, 5
- do 105, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-105 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
-110 continue
-!$omp end parallel do
- if (l) call abort
- if (z2 == 6) then
- x = 5
- w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 113, p = 1, 2
- do 113, q = 3, 7
- do 113, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-113 continue
- do 114, p = 3, 5
- do 114, q = 2, 6
- do 114, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-114 continue
- do 115, p = 1, 5
- do 115, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-115 continue
- if (l) call abort
- end if
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- c = 'abcdefghijkl'
- d = 'ABCDEFG'
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = '0123456789AB'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = '9876543210ZY'
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = '0123456'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = '9876543'
- forall (p = 3:5, q = 2:6, r = 1:7) i(p, q, r) = 7.5 * p * q * r
- forall (p = 3:6, q = 2:6, r = 1:7) j(p, q, r) = 9.5 * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q, r) = 19 + p + q + 3 * r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla5.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla5.f90
deleted file mode 100644
index 9b6115052..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla5.f90
+++ /dev/null
@@ -1,200 +0,0 @@
-! { dg-do run }
-
- call test
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x, z, z2
- character (len = 1) :: y
- s = 'PQRSTUV'
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = '_+|/Oo_'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = '///|||!'
- l = .false.
- call omp_set_dynamic (.false.)
- call omp_set_num_threads (6)
-!$omp parallel do default (none) lastprivate (c, d, e, f, g, h, i, j, k) &
-!$omp & lastprivate (s, t, u, v) reduction (.or.:l) num_threads (6) &
-!$omp private (p, q, r, w, x, y) schedule (static) shared (z2)
- do 110 z = 0, omp_get_num_threads () - 1
- if (omp_get_thread_num () .eq. 0) z2 = omp_get_num_threads ()
- x = omp_get_thread_num ()
- w = ''
- if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- c = w(8:19)
- d = w(1:7)
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)
- forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r
- forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r
- s = w(20:26)
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
-!$omp barrier ! { dg-warning "may not be closely nested" }
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 103, p = 1, 2
- do 103, q = 3, 7
- do 103, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-103 continue
- do 104, p = 3, 5
- do 104, q = 2, 6
- do 104, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-104 continue
- do 105, p = 1, 5
- do 105, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-105 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
-110 continue
-!$omp end parallel do
- if (l) call abort
- if (z2 == 6) then
- x = 5
- w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 113, p = 1, 2
- do 113, q = 3, 7
- do 113, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-113 continue
- do 114, p = 3, 5
- do 114, q = 2, 6
- do 114, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-114 continue
- do 115, p = 1, 5
- do 115, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-115 continue
- if (l) call abort
- end if
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- c = 'abcdefghijkl'
- d = 'ABCDEFG'
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = '0123456789AB'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = '9876543210ZY'
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = '0123456'
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = '9876543'
- forall (p = 3:5, q = 2:6, r = 1:7) i(p, q, r) = 7.5 * p * q * r
- forall (p = 3:6, q = 2:6, r = 1:7) j(p, q, r) = 9.5 * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q, r) = 19 + p + q + 3 * r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla6.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla6.f90
deleted file mode 100644
index bb9c4916d..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla6.f90
+++ /dev/null
@@ -1,191 +0,0 @@
-! { dg-do run }
-
- call test
-contains
- subroutine check (x, y, l)
- integer :: x, y
- logical :: l
- l = l .or. x .ne. y
- end subroutine check
-
- subroutine foo (c, d, e, f, g, h, i, j, k, n)
- use omp_lib
- integer :: n
- character (len = *) :: c
- character (len = n) :: d
- integer, dimension (2, 3:5, n) :: e
- integer, dimension (2, 3:n, n) :: f
- character (len = *), dimension (5, 3:n) :: g
- character (len = n), dimension (5, 3:n) :: h
- real, dimension (:, :, :) :: i
- double precision, dimension (3:, 5:, 7:) :: j
- integer, dimension (:, :, :) :: k
- logical :: l
- integer :: p, q, r
- character (len = n) :: s
- integer, dimension (2, 3:5, n) :: t
- integer, dimension (2, 3:n, n) :: u
- character (len = n), dimension (5, 3:n) :: v
- character (len = 2 * n + 24) :: w
- integer :: x, z
- character (len = 1) :: y
- l = .false.
-!$omp parallel default (none) private (c, d, e, f, g, h, i, j, k) &
-!$omp & private (s, t, u, v) reduction (.or.:l) num_threads (6) &
-!$omp private (p, q, r, w, x, y) shared (z)
- x = omp_get_thread_num ()
- w = ''
- if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- c = w(8:19)
- d = w(1:7)
- forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)
- forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)
- forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r
- forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r
- forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r
- s = w(20:26)
- forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r
- forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r
- forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)
- forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)
-!$omp barrier
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 103, p = 1, 2
- do 103, q = 3, 7
- do 103, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-103 continue
- do 104, p = 3, 5
- do 104, q = 2, 6
- do 104, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-104 continue
- do 105, p = 1, 5
- do 105, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-105 continue
- call check (size (e, 1), 2, l)
- call check (size (e, 2), 3, l)
- call check (size (e, 3), 7, l)
- call check (size (e), 42, l)
- call check (size (f, 1), 2, l)
- call check (size (f, 2), 5, l)
- call check (size (f, 3), 7, l)
- call check (size (f), 70, l)
- call check (size (g, 1), 5, l)
- call check (size (g, 2), 5, l)
- call check (size (g), 25, l)
- call check (size (h, 1), 5, l)
- call check (size (h, 2), 5, l)
- call check (size (h), 25, l)
- call check (size (i, 1), 3, l)
- call check (size (i, 2), 5, l)
- call check (size (i, 3), 7, l)
- call check (size (i), 105, l)
- call check (size (j, 1), 4, l)
- call check (size (j, 2), 5, l)
- call check (size (j, 3), 7, l)
- call check (size (j), 140, l)
- call check (size (k, 1), 5, l)
- call check (size (k, 2), 1, l)
- call check (size (k, 3), 3, l)
- call check (size (k), 15, l)
-!$omp single
- z = omp_get_thread_num ()
-!$omp end single copyprivate (c, d, e, f, g, h, i, j, k, s, t, u, v)
- w = ''
- x = z
- if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'
- if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'
- if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'
- if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'
- if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'
- if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'
- y = ''
- if (x .eq. 0) y = '0'
- if (x .eq. 1) y = '1'
- if (x .eq. 2) y = '2'
- if (x .eq. 3) y = '3'
- if (x .eq. 4) y = '4'
- if (x .eq. 5) y = '5'
- l = l .or. w(7:7) .ne. y
- l = l .or. w(19:19) .ne. y
- l = l .or. w(26:26) .ne. y
- l = l .or. w(38:38) .ne. y
- l = l .or. c .ne. w(8:19)
- l = l .or. d .ne. w(1:7)
- l = l .or. s .ne. w(20:26)
- do 113, p = 1, 2
- do 113, q = 3, 7
- do 113, r = 1, 7
- if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r
- l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)
- if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r
- l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r
- if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)
- if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)
-113 continue
- do 114, p = 3, 5
- do 114, q = 2, 6
- do 114, r = 1, 7
- l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r
- l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r
-114 continue
- do 115, p = 1, 5
- do 115, q = 4, 6
- l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q
-115 continue
-!$omp end parallel
- if (l) call abort
- end subroutine foo
-
- subroutine test
- character (len = 12) :: c
- character (len = 7) :: d
- integer, dimension (2, 3:5, 7) :: e
- integer, dimension (2, 3:7, 7) :: f
- character (len = 12), dimension (5, 3:7) :: g
- character (len = 7), dimension (5, 3:7) :: h
- real, dimension (3:5, 2:6, 1:7) :: i
- double precision, dimension (3:6, 2:6, 1:7) :: j
- integer, dimension (1:5, 7:7, 4:6) :: k
- integer :: p, q, r
- call foo (c, d, e, f, g, h, i, j, k, 7)
- end subroutine test
-end
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla7.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla7.f90
deleted file mode 100644
index 29a669644..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/vla7.f90
+++ /dev/null
@@ -1,143 +0,0 @@
-! { dg-do run }
-! { dg-options "-w" }
-
- character (6) :: c, f2
- character (6) :: d(2)
- c = f1 (6)
- if (c .ne. 'opqrst') call abort
- c = f2 (6)
- if (c .ne. '_/!!/_') call abort
- d = f3 (6)
- if (d(1) .ne. 'opqrst' .or. d(2) .ne. 'a') call abort
- d = f4 (6)
- if (d(1) .ne. 'Opqrst' .or. d(2) .ne. 'A') call abort
-contains
- function f1 (n)
- use omp_lib
- character (n) :: f1
- logical :: l
- f1 = 'abcdef'
- l = .false.
-!$omp parallel firstprivate (f1) reduction (.or.:l) num_threads (2)
- l = f1 .ne. 'abcdef'
- if (omp_get_thread_num () .eq. 0) f1 = 'ijklmn'
- if (omp_get_thread_num () .eq. 1) f1 = 'IJKLMN'
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. f1 .ne. 'ijklmn')
- l = l .or. (omp_get_thread_num () .eq. 1 .and. f1 .ne. 'IJKLMN')
-!$omp end parallel
- f1 = 'zZzz_z'
-!$omp parallel shared (f1) reduction (.or.:l) num_threads (2)
- l = l .or. f1 .ne. 'zZzz_z'
-!$omp barrier
-!$omp master
- f1 = 'abc'
-!$omp end master
-!$omp barrier
- l = l .or. f1 .ne. 'abc'
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) f1 = 'def'
-!$omp barrier
- l = l .or. f1 .ne. 'def'
-!$omp end parallel
- if (l) call abort
- f1 = 'opqrst'
- end function f1
- function f3 (n)
- use omp_lib
- character (n), dimension (2) :: f3
- logical :: l
- f3 = 'abcdef'
- l = .false.
-!$omp parallel firstprivate (f3) reduction (.or.:l) num_threads (2)
- l = any (f3 .ne. 'abcdef')
- if (omp_get_thread_num () .eq. 0) f3 = 'ijklmn'
- if (omp_get_thread_num () .eq. 1) f3 = 'IJKLMN'
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. any (f3 .ne. 'ijklmn'))
- l = l .or. (omp_get_thread_num () .eq. 1 .and. any (f3 .ne. 'IJKLMN'))
-!$omp end parallel
- f3 = 'zZzz_z'
-!$omp parallel shared (f3) reduction (.or.:l) num_threads (2)
- l = l .or. any (f3 .ne. 'zZzz_z')
-!$omp barrier
-!$omp master
- f3 = 'abc'
-!$omp end master
-!$omp barrier
- l = l .or. any (f3 .ne. 'abc')
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) f3 = 'def'
-!$omp barrier
- l = l .or. any (f3 .ne. 'def')
-!$omp end parallel
- if (l) call abort
- f3(1) = 'opqrst'
- f3(2) = 'a'
- end function f3
- function f4 (n)
- use omp_lib
- character (n), dimension (n - 4) :: f4
- logical :: l
- f4 = 'abcdef'
- l = .false.
-!$omp parallel firstprivate (f4) reduction (.or.:l) num_threads (2)
- l = any (f4 .ne. 'abcdef')
- if (omp_get_thread_num () .eq. 0) f4 = 'ijklmn'
- if (omp_get_thread_num () .eq. 1) f4 = 'IJKLMN'
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. any (f4 .ne. 'ijklmn'))
- l = l .or. (omp_get_thread_num () .eq. 1 .and. any (f4 .ne. 'IJKLMN'))
- l = l .or. size (f4) .ne. 2
-!$omp end parallel
- f4 = 'zZzz_z'
-!$omp parallel shared (f4) reduction (.or.:l) num_threads (2)
- l = l .or. any (f4 .ne. 'zZzz_z')
-!$omp barrier
-!$omp master
- f4 = 'abc'
-!$omp end master
-!$omp barrier
- l = l .or. any (f4 .ne. 'abc')
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) f4 = 'def'
-!$omp barrier
- l = l .or. any (f4 .ne. 'def')
- l = l .or. size (f4) .ne. 2
-!$omp end parallel
- if (l) call abort
- f4(1) = 'Opqrst'
- f4(2) = 'A'
- end function f4
-end
-function f2 (n)
- use omp_lib
- character (*) :: f2
- logical :: l
- f2 = 'abcdef'
- l = .false.
-!$omp parallel firstprivate (f2) reduction (.or.:l) num_threads (2)
- l = f2 .ne. 'abcdef'
- if (omp_get_thread_num () .eq. 0) f2 = 'ijklmn'
- if (omp_get_thread_num () .eq. 1) f2 = 'IJKLMN'
-!$omp barrier
- l = l .or. (omp_get_thread_num () .eq. 0 .and. f2 .ne. 'ijklmn')
- l = l .or. (omp_get_thread_num () .eq. 1 .and. f2 .ne. 'IJKLMN')
-!$omp end parallel
- f2 = 'zZzz_z'
-!$omp parallel shared (f2) reduction (.or.:l) num_threads (2)
- l = l .or. f2 .ne. 'zZzz_z'
-!$omp barrier
-!$omp master
- f2 = 'abc'
-!$omp end master
-!$omp barrier
- l = l .or. f2 .ne. 'abc'
-!$omp barrier
- if (omp_get_thread_num () .eq. 1) f2 = 'def'
-!$omp barrier
- l = l .or. f2 .ne. 'def'
-!$omp end parallel
- if (l) call abort
- f2 = '_/!!/_'
-end function f2
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/workshare1.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/workshare1.f90
deleted file mode 100644
index a0e6ff919..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/workshare1.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-function foo ()
- integer :: foo
- logical :: foo_seen
- common /foo_seen/ foo_seen
- foo_seen = .true.
- foo = 3
-end
-function bar ()
- integer :: bar
- logical :: bar_seen
- common /bar_seen/ bar_seen
- bar_seen = .true.
- bar = 3
-end
- integer :: a (10), b (10), foo, bar
- logical :: foo_seen, bar_seen
- common /foo_seen/ foo_seen
- common /bar_seen/ bar_seen
-
- foo_seen = .false.
- bar_seen = .false.
-!$omp parallel workshare if (foo () .gt. 2) num_threads (bar () + 1)
- a = 10
- b = 20
- a(1:5) = max (a(1:5), b(1:5))
-!$omp end parallel workshare
- if (any (a(1:5) .ne. 20)) call abort
- if (any (a(6:10) .ne. 10)) call abort
- if (.not. foo_seen .or. .not. bar_seen) call abort
-end
diff --git a/gcc-4.4.3/libgomp/work.c b/gcc-4.4.3/libgomp/work.c
deleted file mode 100644
index 6bd9c245b..000000000
--- a/gcc-4.4.3/libgomp/work.c
+++ /dev/null
@@ -1,264 +0,0 @@
-/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- This file is part of the GNU OpenMP Library (libgomp).
-
- Libgomp is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains routines to manage the work-share queue for a team
- of threads. */
-
-#include "libgomp.h"
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-/* Allocate a new work share structure, preferably from current team's
- free gomp_work_share cache. */
-
-static struct gomp_work_share *
-alloc_work_share (struct gomp_team *team)
-{
- struct gomp_work_share *ws;
- unsigned int i;
-
- /* This is called in a critical section. */
- if (team->work_share_list_alloc != NULL)
- {
- ws = team->work_share_list_alloc;
- team->work_share_list_alloc = ws->next_free;
- return ws;
- }
-
-#ifdef HAVE_SYNC_BUILTINS
- ws = team->work_share_list_free;
- /* We need atomic read from work_share_list_free,
- as free_work_share can be called concurrently. */
- __asm ("" : "+r" (ws));
-
- if (ws && ws->next_free)
- {
- struct gomp_work_share *next = ws->next_free;
- ws->next_free = NULL;
- team->work_share_list_alloc = next->next_free;
- return next;
- }
-#else
- gomp_mutex_lock (&team->work_share_list_free_lock);
- ws = team->work_share_list_free;
- if (ws)
- {
- team->work_share_list_alloc = ws->next_free;
- team->work_share_list_free = NULL;
- gomp_mutex_unlock (&team->work_share_list_free_lock);
- return ws;
- }
- gomp_mutex_unlock (&team->work_share_list_free_lock);
-#endif
-
- team->work_share_chunk *= 2;
- ws = gomp_malloc (team->work_share_chunk * sizeof (struct gomp_work_share));
- ws->next_alloc = team->work_shares[0].next_alloc;
- team->work_shares[0].next_alloc = ws;
- team->work_share_list_alloc = &ws[1];
- for (i = 1; i < team->work_share_chunk - 1; i++)
- ws[i].next_free = &ws[i + 1];
- ws[i].next_free = NULL;
- return ws;
-}
-
-/* Initialize an already allocated struct gomp_work_share.
- This shouldn't touch the next_alloc field. */
-
-void
-gomp_init_work_share (struct gomp_work_share *ws, bool ordered,
- unsigned nthreads)
-{
- gomp_mutex_init (&ws->lock);
- if (__builtin_expect (ordered, 0))
- {
-#define INLINE_ORDERED_TEAM_IDS_CNT \
- ((sizeof (struct gomp_work_share) \
- - offsetof (struct gomp_work_share, inline_ordered_team_ids)) \
- / sizeof (((struct gomp_work_share *) 0)->inline_ordered_team_ids[0]))
-
- if (nthreads > INLINE_ORDERED_TEAM_IDS_CNT)
- ws->ordered_team_ids
- = gomp_malloc (nthreads * sizeof (*ws->ordered_team_ids));
- else
- ws->ordered_team_ids = ws->inline_ordered_team_ids;
- memset (ws->ordered_team_ids, '\0',
- nthreads * sizeof (*ws->ordered_team_ids));
- ws->ordered_num_used = 0;
- ws->ordered_owner = -1;
- ws->ordered_cur = 0;
- }
- else
- ws->ordered_team_ids = NULL;
- gomp_ptrlock_init (&ws->next_ws, NULL);
- ws->threads_completed = 0;
-}
-
-/* Do any needed destruction of gomp_work_share fields before it
- is put back into free gomp_work_share cache or freed. */
-
-void
-gomp_fini_work_share (struct gomp_work_share *ws)
-{
- gomp_mutex_destroy (&ws->lock);
- if (ws->ordered_team_ids != ws->inline_ordered_team_ids)
- free (ws->ordered_team_ids);
- gomp_ptrlock_destroy (&ws->next_ws);
-}
-
-/* Free a work share struct, if not orphaned, put it into current
- team's free gomp_work_share cache. */
-
-static inline void
-free_work_share (struct gomp_team *team, struct gomp_work_share *ws)
-{
- gomp_fini_work_share (ws);
- if (__builtin_expect (team == NULL, 0))
- free (ws);
- else
- {
- struct gomp_work_share *next_ws;
-#ifdef HAVE_SYNC_BUILTINS
- do
- {
- next_ws = team->work_share_list_free;
- ws->next_free = next_ws;
- }
- while (!__sync_bool_compare_and_swap (&team->work_share_list_free,
- next_ws, ws));
-#else
- gomp_mutex_lock (&team->work_share_list_free_lock);
- next_ws = team->work_share_list_free;
- ws->next_free = next_ws;
- team->work_share_list_free = ws;
- gomp_mutex_unlock (&team->work_share_list_free_lock);
-#endif
- }
-}
-
-/* The current thread is ready to begin the next work sharing construct.
- In all cases, thr->ts.work_share is updated to point to the new
- structure. In all cases the work_share lock is locked. Return true
- if this was the first thread to reach this point. */
-
-bool
-gomp_work_share_start (bool ordered)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws;
-
- /* Work sharing constructs can be orphaned. */
- if (team == NULL)
- {
- ws = gomp_malloc (sizeof (*ws));
- gomp_init_work_share (ws, ordered, 1);
- thr->ts.work_share = ws;
- return ws;
- }
-
- ws = thr->ts.work_share;
- thr->ts.last_work_share = ws;
- ws = gomp_ptrlock_get (&ws->next_ws);
- if (ws == NULL)
- {
- /* This thread encountered a new ws first. */
- struct gomp_work_share *ws = alloc_work_share (team);
- gomp_init_work_share (ws, ordered, team->nthreads);
- thr->ts.work_share = ws;
- return true;
- }
- else
- {
- thr->ts.work_share = ws;
- return false;
- }
-}
-
-/* The current thread is done with its current work sharing construct.
- This version does imply a barrier at the end of the work-share. */
-
-void
-gomp_work_share_end (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- gomp_barrier_state_t bstate;
-
- /* Work sharing constructs can be orphaned. */
- if (team == NULL)
- {
- free_work_share (NULL, thr->ts.work_share);
- thr->ts.work_share = NULL;
- return;
- }
-
- bstate = gomp_barrier_wait_start (&team->barrier);
-
- if (gomp_barrier_last_thread (bstate))
- {
- if (__builtin_expect (thr->ts.last_work_share != NULL, 1))
- free_work_share (team, thr->ts.last_work_share);
- }
-
- gomp_team_barrier_wait_end (&team->barrier, bstate);
- thr->ts.last_work_share = NULL;
-}
-
-/* The current thread is done with its current work sharing construct.
- This version does NOT imply a barrier at the end of the work-share. */
-
-void
-gomp_work_share_end_nowait (void)
-{
- struct gomp_thread *thr = gomp_thread ();
- struct gomp_team *team = thr->ts.team;
- struct gomp_work_share *ws = thr->ts.work_share;
- unsigned completed;
-
- /* Work sharing constructs can be orphaned. */
- if (team == NULL)
- {
- free_work_share (NULL, ws);
- thr->ts.work_share = NULL;
- return;
- }
-
- if (__builtin_expect (thr->ts.last_work_share == NULL, 0))
- return;
-
-#ifdef HAVE_SYNC_BUILTINS
- completed = __sync_add_and_fetch (&ws->threads_completed, 1);
-#else
- gomp_mutex_lock (&ws->lock);
- completed = ++ws->threads_completed;
- gomp_mutex_unlock (&ws->lock);
-#endif
-
- if (completed == team->nthreads)
- free_work_share (team, thr->ts.last_work_share);
- thr->ts.last_work_share = NULL;
-}