]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Do not bail out for multiple PREVAILING_DEF_IRONLY for common symbols.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
a0e1df88
JJ
12018-04-19 Jakub Jelinek <jakub@redhat.com>
2
3 * configure: Regenerated.
4
001ddaa8
DM
52018-04-18 David Malcolm <dmalcolm@redhat.com>
6
7 PR jit/85384
8 * configure: Regenerate.
9
05e0af43
CP
102018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11 Tom de Vries <tom@codesourcery.com>
12
13 PR middle-end/84955
14 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
15 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
16
bc436e10
TK
172018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
18
19 PR fortran/83064
20 PR testsuite/85346
21 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
22 test from gfortran.dg to here.
23
2ba16fd2
TV
242018-04-05 Tom de Vries <tom@codesourcery.com>
25
26 PR target/85204
27 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
28
46dbeb40
TV
292018-03-26 Tom de Vries <tom@codesourcery.com>
30
31 PR tree-optimization/85063
32 * testsuite/libgomp.c/switch-conversion-2.c: New test.
33 * testsuite/libgomp.c/switch-conversion.c: New test.
34 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
35 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
36
bfc24e32
TK
372018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
38
39 PR fortran/84381
40 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
41 call abort by STOP n.
42 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
43 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
44 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
45 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
46 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
47 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
48 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
49 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
50 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
51 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
52 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
53 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
54 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
55 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
56 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
57 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
58 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
59 * testsuite/libgomp.fortran/associate1.f90: Likewise.
60 * testsuite/libgomp.fortran/associate2.f90: Likewise.
61 * testsuite/libgomp.fortran/associate3.f90: Likewise.
62 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
63 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
64 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
65 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
66 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
67 * testsuite/libgomp.fortran/character1.f90: Likewise.
68 * testsuite/libgomp.fortran/character2.f90: Likewise.
69 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
70 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
71 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
72 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
73 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
74 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
75 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
76 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
77 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
78 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
79 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
80 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
81 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
82 * testsuite/libgomp.fortran/do1.f90: Likewise.
83 * testsuite/libgomp.fortran/do2.f90: Likewise.
84 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
85 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
86 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
87 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
88 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
89 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
90 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
91 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
92 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
93 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
94 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
95 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
96 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
97 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
98 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
99 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
100 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
101 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
102 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
103 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
104 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
105 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
106 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
107 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
108 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
109 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
110 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
111 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
112 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
113 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
114 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
115 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
116 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
117 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
118 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
119 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
120 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
121 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
122 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
123 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
124 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
125 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
126 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
127 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
128 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
129 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
130 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
131 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
132 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
133 * testsuite/libgomp.fortran/lib1.f90: Likewise.
134 * testsuite/libgomp.fortran/lib2.f: Likewise.
135 * testsuite/libgomp.fortran/lib3.f: Likewise.
136 * testsuite/libgomp.fortran/lib4.f90: Likewise.
137 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
138 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
139 * testsuite/libgomp.fortran/nested1.f90: Likewise.
140 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
141 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
142 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
143 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
144 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
145 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
146 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
147 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
148 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
149 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
150 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
151 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
152 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
153 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
154 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
155 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
156 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
157 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
158 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
159 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
160 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
161 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
162 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
163 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
164 * testsuite/libgomp.fortran/pr25162.f: Likewise.
165 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
166 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
167 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
168 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
169 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
170 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
171 * testsuite/libgomp.fortran/pr28390.f: Likewise.
172 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
173 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
174 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
175 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
176 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
177 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
178 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
179 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
180 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
181 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
182 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
183 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
184 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
185 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
186 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
187 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
188 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
189 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
190 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
191 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
192 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
193 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
194 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
195 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
196 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
197 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
198 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
199 * testsuite/libgomp.fortran/reference1.f90: Likewise.
200 * testsuite/libgomp.fortran/reference2.f90: Likewise.
201 * testsuite/libgomp.fortran/retval1.f90: Likewise.
202 * testsuite/libgomp.fortran/retval2.f90: Likewise.
203 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
204 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
205 * testsuite/libgomp.fortran/simd1.f90: Likewise.
206 * testsuite/libgomp.fortran/simd2.f90: Likewise.
207 * testsuite/libgomp.fortran/simd3.f90: Likewise.
208 * testsuite/libgomp.fortran/simd4.f90: Likewise.
209 * testsuite/libgomp.fortran/simd5.f90: Likewise.
210 * testsuite/libgomp.fortran/simd6.f90: Likewise.
211 * testsuite/libgomp.fortran/simd7.f90: Likewise.
212 * testsuite/libgomp.fortran/stack.f90: Likewise.
213 * testsuite/libgomp.fortran/strassen.f90: Likewise.
214 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
215 * testsuite/libgomp.fortran/tabs2.f: Likewise.
216 * testsuite/libgomp.fortran/target1.f90: Likewise.
217 * testsuite/libgomp.fortran/target2.f90: Likewise.
218 * testsuite/libgomp.fortran/target3.f90: Likewise.
219 * testsuite/libgomp.fortran/target4.f90: Likewise.
220 * testsuite/libgomp.fortran/target5.f90: Likewise.
221 * testsuite/libgomp.fortran/target6.f90: Likewise.
222 * testsuite/libgomp.fortran/target7.f90: Likewise.
223 * testsuite/libgomp.fortran/target8.f90: Likewise.
224 * testsuite/libgomp.fortran/task1.f90: Likewise.
225 * testsuite/libgomp.fortran/task2.f90: Likewise.
226 * testsuite/libgomp.fortran/task3.f90: Likewise.
227 * testsuite/libgomp.fortran/task4.f90: Likewise.
228 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
229 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
230 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
231 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
232 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
233 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
234 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
235 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
236 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
237 * testsuite/libgomp.fortran/udr1.f90: Likewise.
238 * testsuite/libgomp.fortran/udr10.f90: Likewise.
239 * testsuite/libgomp.fortran/udr11.f90: Likewise.
240 * testsuite/libgomp.fortran/udr12.f90: Likewise.
241 * testsuite/libgomp.fortran/udr13.f90: Likewise.
242 * testsuite/libgomp.fortran/udr14.f90: Likewise.
243 * testsuite/libgomp.fortran/udr15.f90: Likewise.
244 * testsuite/libgomp.fortran/udr2.f90: Likewise.
245 * testsuite/libgomp.fortran/udr3.f90: Likewise.
246 * testsuite/libgomp.fortran/udr4.f90: Likewise.
247 * testsuite/libgomp.fortran/udr5.f90: Likewise.
248 * testsuite/libgomp.fortran/udr6.f90: Likewise.
249 * testsuite/libgomp.fortran/udr7.f90: Likewise.
250 * testsuite/libgomp.fortran/udr8.f90: Likewise.
251 * testsuite/libgomp.fortran/udr9.f90: Likewise.
252 * testsuite/libgomp.fortran/vla1.f90: Likewise.
253 * testsuite/libgomp.fortran/vla2.f90: Likewise.
254 * testsuite/libgomp.fortran/vla3.f90: Likewise.
255 * testsuite/libgomp.fortran/vla4.f90: Likewise.
256 * testsuite/libgomp.fortran/vla5.f90: Likewise.
257 * testsuite/libgomp.fortran/vla6.f90: Likewise.
258 * testsuite/libgomp.fortran/vla7.f90: Likewise.
259 * testsuite/libgomp.fortran/vla8.f90: Likewise.
260 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
261 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
262 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
263 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
264 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
265 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
266 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
267 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
268 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
269 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
270 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
271 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
272 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
273 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
274 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
275 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
276 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
277 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
278 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
279 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
280 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
281 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
282 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
283 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
284 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
285 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
286 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
287 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
288 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
289 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
290 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
291 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
292 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
293 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
294 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
295 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
296 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
297 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
298 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
299 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
300 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
301 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
302 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
303 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
304 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
305 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
306 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
307 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
308 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
309 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
310 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
311 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
312 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
313 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
314 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
315 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
316 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
317 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
318 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
319 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
320 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
321 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
322 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
323 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
324 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
325 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
326 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
327 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
328 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
329 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
330 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
331 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
332 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
333 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
334 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
335 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
336 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
337 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
338 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
339 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
340 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
341 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
342 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
343 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
344 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
345 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
346 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
347 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
348 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
349 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
350 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
351 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
352 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
353 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
354
79cf14ae
RB
3552018-03-20 Richard Biener <rguenther@suse.de>
356
357 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
358 parallelizable loop.
359
14e335ed
IT
3602018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
361
362 PR target/84148
363 * configure: Regenerate.
364
83d9be55
JJ
3652018-02-16 Jakub Jelinek <jakub@redhat.com>
366
367 PR fortran/84418
368 * libgomp.fortran/pr84418-1.f90: New test.
369 * libgomp.fortran/pr84418-2.f90: New test.
370
d1fe6124
JJ
3712018-02-14 Jakub Jelinek <jakub@redhat.com>
372
373 PR fortran/84313
374 * testsuite/libgomp.fortran/threadprivate4.f90: Add
375 -std=f2003 -fall-intrinsics into dg-additional-options.
376
3d224921
MJ
3772018-02-08 Martin Jambor <mjambor@suse.cz>
378
379 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
380 clonable.
381
c7c30edd
MJ
3822018-02-08 Martin Jambor <mjambor@suse.cz>
383
384 * testsuite/libgomp.hsa.c/staticvar.c: New test.
385
f320fdfd
RO
3862018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
387
388 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
389 [__cplusplus]: Declare extern "C".
390
c31bc4ac
TV
3912018-02-07 Tom de Vries <tom@codesourcery.com>
392
393 PR libgomp/84217
394 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
395
99ae7ce5
CS
3962018-01-29 Christoph Spiel <cspiel@freenet.de>
397 Jakub Jelinek <jakub@redhat.com>
398
399 PR libgomp/84096
400 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
401 instead of omp_lock_t.
402
e77a1236
TV
4032018-01-25 Tom de Vries <tom@codesourcery.com>
404
405 PR target/84028
406 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
407
3dede32b
TV
4082018-01-24 Tom de Vries <tom@codesourcery.com>
409
410 PR target/83589
411 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
412
be606483
TV
4132018-01-24 Tom de Vries <tom@codesourcery.com>
414
415 PR target/81352
416 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
417
8c8e9a6b
TV
4182018-01-19 Tom de Vries <tom@codesourcery.com>
419 Cesar Philippidis <cesar@codesourcery.com>
420
421 PR target/83920
422 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
423 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
424
65e6aea3
JJ
4252018-01-03 Jakub Jelinek <jakub@redhat.com>
426
85ec4feb
JJ
427 Update copyright years.
428
65e6aea3
JJ
429 * libgomp.texi: Bump @copying's copyright year.
430
60bf575c
TV
4312017-12-30 Tom de Vries <tom@codesourcery.com>
432
433 PR libgomp/83046
434 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
435 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
436
7ec16b79
TV
4372017-12-27 Tom de Vries <tom@codesourcery.com>
438
439 PR c++/83046
440 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
441 (test_nonstatic): Fix return type to workaround PR83046.
442
ac550b9a
JJ
4432017-12-05 Jakub Jelinek <jakub@redhat.com>
444
445 PR testsuite/83281
446 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
447 j suffix instead of i.
448 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
449 Likewise.
450
ebdc83f0
CP
4512017-12-01 Cesar Philippidis <cesar@codesourcery.com>
452
453 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
454 call to acc_wait (1).
455
3b3e6283
JJ
4562017-11-24 Jakub Jelinek <jakub@redhat.com>
457
458 PR fortran/81304
459 * testsuite/libgomp.fortran/pr81304.f90: New test.
460
3b575376
JJ
4612017-11-23 Jakub Jelinek <jakub@redhat.com>
462
463 PR fortran/81841
464 * libgomp.fortran/pr81841.f90: New test.
465
b13547d8
JJ
4662017-11-22 Jakub Jelinek <jakub@redhat.com>
467
468 PR libgomp/83106
469 * target.c (gomp_target_init): Compute lengths just once and
470 use them in both malloc size and subsequent copying.
471
efe33ced
IT
4722017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
473
474 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
475 * acinclude.m4: Add cet.m4.
476 * configure: Regenerate.
477 * Makefile.in: Likewise.
478 * testsuite/Makefile.in: Likewise.
479
a7cf2612
TV
4802017-11-15 Tom de Vries <tom@codesourcery.com>
481
482 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
483 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
484 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
485 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
486 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
487 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
488
dde76623
TV
4892017-11-14 Tom de Vries <tom@codesourcery.com>
490
491 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
492 non-nvidia devices.
493
4dbeb716
JJ
4942017-11-07 Jakub Jelinek <jakub@redhat.com>
495
496 PR c++/82835
497 * testsuite/libgomp.c++/pr82835.C: New test.
498
454f8b2b
ML
4992017-11-06 Martin Liska <mliska@suse.cz>
500
501 * testsuite/libgomp.c++/loop-2.C: Return a value
502 for functions with non-void return type, or change type to void,
503 or add -Wno-return-type for test.
504 * testsuite/libgomp.c++/loop-4.C: Likewise.
505 * testsuite/libgomp.c++/parallel-1.C: Likewise.
506 * testsuite/libgomp.c++/shared-1.C: Likewise.
507 * testsuite/libgomp.c++/single-1.C: Likewise.
508 * testsuite/libgomp.c++/single-2.C: Likewise.
509
12e9c8ce
TV
5102017-10-31 Tom de Vries <tom@codesourcery.com>
511
512 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
513 "do {} while (false)".
514 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
515 after HSA_DEBUG call.
516
7324369a
JJ
5172017-10-28 Jakub Jelinek <jakub@redhat.com>
518
519 * target.c (struct gomp_coalesce_buf): New type.
520 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
521 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
522 (gomp_copy_host2dev): Add CBUF argument, if copying into
523 the cached ranges, memcpy into buffer instead of copying
524 into device.
525 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
526 Add CBUF argument, pass it through to other calls.
527 (gomp_map_vars): Aggregate copies from host to device if small enough
528 and with small enough gaps in between into memcpy into a buffer and
529 fewer host to device copies from the buffer.
530 (gomp_update): Adjust gomp_copy_host2dev caller.
531
933ab0e6
TS
5322017-10-17 Thomas Schwinge <thomas@codesourcery.com>
533
534 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
535 run" directive.
536 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
537 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
538 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
539 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
540
92d5d01a
TV
5412017-10-16 Tom de Vries <tom@codesourcery.com>
542
543 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
544 openacc_nvidia_accel_selected.
545 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
546 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
547 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
548 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
549 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
550 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
551 openacc_nvidia_accel_selected. Skip for shared memory device.
552 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
553 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
554
191411e4
MJ
5552017-10-09 Martin Jambor <mjambor@suse.cz>
556
557 PR hsa/82416
558 * testsuite/libgomp.hsa.c/pr82416.c: New test.
559
e923330e
TV
5602017-10-07 Tom de Vries <tom@codesourcery.com>
561
562 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
563 Remove acc_device_nvidia references.
564 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
565 Same.
566
8fe3ed4c
TV
5672017-10-05 Tom de Vries <tom@codesourcery.com>
568
569 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
570 vector_length(32) clause from acc parallel directive.
571 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
572
26596ee5
TV
5732017-10-04 Tom de Vries <tom@codesourcery.com>
574
575 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
576 (main): Reduce sum of arr elements. Assert that hres is exactly
577 representable in 32-bit floating point.
578 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
579 (main): Reduce sum of arr elements. Assert that hres and hmres are
580 exactly representable in 32-bit floating point.
581 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
582
5c561fa9
TV
5832017-09-28 Tom de Vries <tom@codesourcery.com>
584
585 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
586 setting.
587 * testsuite/libgomp.c++/pr69393.C: Same.
588 * testsuite/libgomp.c++/taskloop-1.C: Same.
589 * testsuite/libgomp.c++/taskloop-3.C: Same.
590 * testsuite/libgomp.c++/taskloop-4.C: Same.
591 * testsuite/libgomp.c/for-4.c: Same.
592 * testsuite/libgomp.c/pr66199-3.c: Same.
593 * testsuite/libgomp.c/pr66199-4.c: Same.
594 * testsuite/libgomp.c/pr66199-6.c: Same.
595 * testsuite/libgomp.c/taskloop-1.c: Same.
596 * testsuite/libgomp.c/taskloop-3.c: Same.
597 * testsuite/libgomp.c/taskloop-4.c: Same.
598 * testsuite/libgomp.fortran/aligned1.f03: Same.
599 * testsuite/libgomp.fortran/condinc1.f: Same.
600 * testsuite/libgomp.fortran/condinc3.f90: Same.
601 * testsuite/libgomp.fortran/crayptr1.f90: Same.
602 * testsuite/libgomp.fortran/crayptr2.f90: Same.
603 * testsuite/libgomp.fortran/crayptr3.f90: Same.
604 * testsuite/libgomp.fortran/omp_cond1.f: Same.
605 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
606 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
607 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
608 * testsuite/libgomp.fortran/recursion1.f90: Same.
609 * testsuite/libgomp.fortran/target2.f90: Same.
610 * testsuite/libgomp.fortran/target5.f90: Same.
611 * testsuite/libgomp.fortran/task3.f90: Same.
612
7d6206fe
TV
6132017-09-28 Tom de Vries <tom@codesourcery.com>
614
615 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
616 vector_length(32) clause from acc parallel directive.
617 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
618
84c8627c
TV
6192017-09-27 Tom de Vries <tom@codesourcery.com>
620
621 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
622 Remove acc_device_nvidia references.
623
ebc6a85e
TV
6242017-09-16 Tom de Vries <tom@codesourcery.com>
625
626 PR c/81875
627 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
628
82419efb
TV
6292017-09-14 Tom de Vries <tom@codesourcery.com>
630
631 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
632 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
633 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
634 * testsuite/libgomp.c/c.exp: Include test-cases from
635 libgomp.c-c++-common.
636 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
637 files.
638
8b586510
JJ
6392017-09-14 Jakub Jelinek <jakub@redhat.com>
640
641 PR c++/81314
642 * testsuite/libgomp.c++/pr81314.C: New test.
643
9651fbaf
GP
6442017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
645
646 * libgomp.texi (Top): www.openacc.org now uses https.
647 (Enabling OpenACC): Ditto.
648 (acc_get_num_devices): Ditto.
649 (acc_set_device_type): Ditto.
650 (acc_get_device_type): Ditto.
651 (acc_set_device_num): Ditto.
652 (acc_get_device_num): Ditto.
653 (acc_async_test): Ditto.
654 (acc_async_test_all): Ditto.
655 (acc_wait): Ditto.
656 (acc_wait_all): Ditto.
657 (acc_wait_all_async): Ditto.
658 (acc_wait_async): Ditto.
659 (acc_init): Ditto.
660 (acc_shutdown): Ditto.
661 (acc_on_device): Ditto.
662 (acc_malloc): Ditto.
663 (acc_free): Ditto.
664 (acc_copyin): Ditto.
665 (acc_present_or_copyin): Ditto.
666 (acc_create): Ditto.
667 (acc_present_or_create): Ditto.
668 (acc_copyout): Ditto.
669 (acc_delete): Ditto.
670 (acc_update_device): Ditto.
671 (acc_update_self): Ditto.
672 (acc_map_data): Ditto.
673 (acc_unmap_data): Ditto.
674 (acc_deviceptr): Ditto.
675 (acc_hostptr): Ditto.
676 (acc_is_present): Ditto.
677 (acc_memcpy_to_device): Ditto.
678 (acc_memcpy_from_device): Ditto.
679 (acc_get_current_cuda_device): Ditto.
680 (acc_get_current_cuda_context): Ditto.
681 (acc_get_cuda_stream): Ditto.
682 (acc_set_cuda_stream): Ditto.
683 (ACC_DEVICE_TYPE): Ditto.
684 (ACC_DEVICE_NUM): Ditto.
685 (OpenACC Library Interoperability): Ditto.
686
50aa16c3
JJ
6872017-08-09 Jakub Jelinek <jakub@redhat.com>
688
689 PR c/81687
690 * testsuite/libgomp.c/pr81687-1.c: New test.
691 * testsuite/libgomp.c/pr81687-2.c: New test.
692
56b5041c
JJ
6932017-08-07 Jakub Jelinek <jakub@redhat.com>
694
695 PR c/69389
696 * testsuite/libgomp.c/pr69389.c: New test.
697 * testsuite/libgomp.c++/pr69389.C: New test.
698
f4c222c0
TV
6992017-08-07 Tom de Vries <tom@codesourcery.com>
700
701 PR middle-end/78266
702 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
703 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
704
a40ff0ae
JJ
7052017-07-27 Jakub Jelinek <jakub@redhat.com>
706
707 PR c/45784
708 * testsuite/libgomp.c/pr45784.c: New test.
709 * testsuite/libgomp.c++/pr45784.C: New test.
710
3717fbe3
TV
7112017-07-19 Tom de Vries <tom@codesourcery.com>
712
713 * testsuite/libgomp.oacc-c/vec.c: New test.
714
9607b014
TV
7152017-07-03 Tom de Vries <tom@codesourcery.com>
716
717 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
718
dfb15f6b
TV
7192017-06-27 Tom de Vries <tom@codesourcery.com>
720
721 * plugin/plugin-nvptx.c (notify_var): New function.
722 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
723
22f1a037
TV
7242017-06-27 Tom de Vries <tom@codesourcery.com>
725
726 * env.c (parse_unsigned_long_1): Factor out of ...
727 (parse_unsigned_long): ... here.
728 (parse_int_1): Factor out of ...
729 (parse_int): ... here.
730 (parse_int_secure): New function.
731 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
732 * secure_getenv.h: Factor out of ...
733 * plugin/plugin-hsa.c: ... here.
734 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
735
d54d1fc3
JJ
7362017-06-21 Jakub Jelinek <jakub@redhat.com>
737
738 PR c++/81130
739 * testsuite/libgomp.c++/pr81130.C: New test.
740
4f4b0ab8
RO
7412017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
742
743 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
744 default args.
745 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
746 dg-xfail-run-if default args.
747
40ffd95f
BE
7482017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
749
750 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
751 * testsuite/libgomp.c/pr39591-3.c: Likewise.
752
01275e1e
JJ
7532017-05-30 Jakub Jelinek <jakub@redhat.com>
754
755 PR libgomp/80822
756 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
757 (gomp_affinity_init_level): Use it. Always analyze the core and thread
758 sibling lists, depending on level just pick up what CPUs to put
759 together into a place vs. whether add multiple ordered places.
760
78672bd8
TS
7612017-05-24 Thomas Schwinge <thomas@codesourcery.com>
762
7ce64403
TS
763 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
764 * libgomp.map (OACC_2.0.1): Add these.
765 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
766 for "acc_wait", and "acc_wait_all", respectively.
767 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
768 for "acc_wait", and "acc_wait_all", respectively.
769 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
770 * libgomp.texi (acc_wait, acc_wait_all): Update.
771 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
772 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
773 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
774
318686c2
TS
775 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
776 acc_present_or_copyin and acc_present_or_create procedures,
777 respectively.
778 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
779 generally different variants of OpenACC Runtime Library functions.
780 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
781
a6745534
TS
782 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
783 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
784
9b94fbc7
TS
785 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
786 of preprocessor definitions.
787 * libgomp.h (strong_alias): Guard by "#ifdef
788 HAVE_ATTRIBUTE_ALIAS".
789 * oacc-mem.c: Provide "acc_pcreate" as alias for
790 "acc_present_or_create", and "acc_pcopyin" as alias for
791 "acc_present_or_copyin".
792 * libgomp.map: New version "OACC_2.0.1".
793 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
794 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
795 its content into...
796 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
797 Extend testing.
798
78672bd8
TS
799 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
800 when disabling nvptx offloading.
801
0c36d0d5
TS
8022017-05-23 Thomas Schwinge <thomas@codesourcery.com>
803
fd71a9a2
TS
804 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
805 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
806 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
807
0c36d0d5
TS
808 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
809 * testsuite/lib/libgomp.exp
810 (check_effective_target_openacc_nvidia_accel_configured): New
811 proc.
812 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
813 (check_effective_target_c++): New procs.
814 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
815 (check_effective_target_c++): Likewise.
816
c24783c4
JJ
8172017-05-22 Jakub Jelinek <jakub@redhat.com>
818
655e5265
JJ
819 PR middle-end/80809
820 * testsuite/libgomp.c/pr80809-2.c: New test.
821 * testsuite/libgomp.c/pr80809-3.c: New test.
822
e9e2ef9f
JJ
823 PR middle-end/80809
824 * testsuite/libgomp.c/pr80809-1.c: New test.
825
c24783c4
JJ
826 PR middle-end/80853
827 * testsuite/libgomp.c/pr80853.c: New test.
828
0da2f96a
TS
8292017-05-19 Thomas Schwinge <thomas@codesourcery.com>
830
7fd549d2
TS
831 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
832 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
833 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
834 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
835 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
836
0da2f96a
TS
837 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
838 Debug output for failure.
839
62ffe920
RO
8402017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
841
842 * testsuite/lib/libgomp.exp: Load scanlang.exp.
843
f49215b1
JJ
8442017-04-27 Jakub Jelinek <jakub@redhat.com>
845
846 PR bootstrap/80531
847 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
848 bootstrap compare failures.
849
2260d19d
AM
8502017-04-20 Alexander Monakov <amonakov@ispras.ru>
851
852 * testsuite/libgomp.c/target-36.c: New testcase.
853
19929ba9
JJ
8542017-04-13 Jakub Jelinek <jakub@redhat.com>
855
856 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
857 instead of char.
858
fbc698e0
JJ
8592017-04-11 Jakub Jelinek <jakub@redhat.com>
860
861 PR libgomp/80394
862 * testsuite/libgomp.c/pr80394.c: New test.
863
c4060df4
JJ
8642017-04-04 Jakub Jelinek <jakub@redhat.com>
865
866 PR libgomp/79876
867 * config/posix/thread-stacksize.h: New file.
868 * config/darwin/thread-stacksize.h: New file.
869 * config/nvptx/thread-stacksize.h: New file.
870 * env.c: Include thread-stacksize.h.
871 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
872 instead of 0. Call pthread_attr_setstacksize even if
873 GOMP_DEFAULT_STACKSIZE is non-zero.
874
e02d868a
JJ
8752017-03-30 Jakub Jelinek <jakub@redhat.com>
876
877 * env.c (initialize_env): Initialize stacksize to 0.
878
7ba8651e
CP
8792017-03-22 Cesar Philippidis <cesar@codesourcery.com>
880
881 PR c++/80029
882 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
883
eebc5e2d
JJ
8842017-03-08 Jakub Jelinek <jakub@redhat.com>
885
886 PR c/79940
887 * testsuite/libgomp.c/pr79940.c: New test.
888
1eb08f52
RO
8892017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
890
891 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
892 targets.
893 Add __float128 options.
894
b0f78ff3
JDA
8952017-02-11 John David Anglin <danglin@gcc.gnu.org>
896
897 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
898 hppa*-*-* dg-skip-if directive.
899
1bbe0d8f
JJ
9002017-02-09 Jakub Jelinek <jakub@redhat.com>
901
902 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
903 dg-skip-if directive into a comment.
904
02889d23
CLT
9052017-02-09 Nathan Sidwell <nathan@codesourcery.com>
906 Chung-Lin Tang <cltang@codesourcery.com>
907
908 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
909 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
910 add additional case.
911 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
912 "openacc_nvidia_accel_selected".
913 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
914 Add num_workers(8) clause.
915
5896a41d
JDA
9162017-02-08 John David Anglin <danglin@gcc.gnu.org>
917
918 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
919 hppa*-*-*.
920 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
921 include complex.h on hppa*-*-hpux*.
922 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
923
345a8c17
TS
9242017-02-02 Thomas Schwinge <thomas@codesourcery.com>
925
e70ab10d
TS
926 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
927
345a8c17
TS
928 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
929 GOMP_OFFLOAD_openacc_exec. Adjust all users.
930 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
931 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
932 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
933 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
934 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
935 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
936 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
937 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
938
dced339c
TS
9392017-01-31 Thomas Schwinge <thomas@codesourcery.com>
940
941 * libgomp-plugin.h: #include <stdbool.h>.
942 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
943 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
944 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
945 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
946 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
947 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
948 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
949 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
950 (GOMP_OFFLOAD_openacc_register_async_cleanup)
951 (GOMP_OFFLOAD_openacc_async_test)
952 (GOMP_OFFLOAD_openacc_async_test_all)
953 (GOMP_OFFLOAD_openacc_async_wait)
954 (GOMP_OFFLOAD_openacc_async_wait_async)
955 (GOMP_OFFLOAD_openacc_async_wait_all)
956 (GOMP_OFFLOAD_openacc_async_wait_all_async)
957 (GOMP_OFFLOAD_openacc_async_set_async)
958 (GOMP_OFFLOAD_openacc_create_thread_data)
959 (GOMP_OFFLOAD_openacc_destroy_thread_data)
960 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
961 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
962 (GOMP_OFFLOAD_openacc_get_cuda_stream)
963 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
964 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
965 these.
966 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
967 (GOMP_OFFLOAD_unload_image): Fix argument types.
968
23749904
JJ
9692017-01-26 Jakub Jelinek <jakub@redhat.com>
970
c1cadde1
JJ
971 * testsuite/lib/libgomp.exp
972 (check_effective_target_hsa_offloading_selected_nocache): Fix up
973 check_compile invocation. Fix up removal of executable. Drop
974 bogus "2>&1" argument.
975
23749904
JJ
976 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
977 directive.
978
9792017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
980 Martin Jambor <mjambor@suse.cz>
981
982 * plugin/hsa.h: Moved to top level include.
983 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
984
73aa401e
JJ
9852017-01-21 Jakub Jelinek <jakub@redhat.com>
986
987 PR other/79046
988 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
989 of cat to get version from BASE-VER file.
990 * testsuite/Makefile.in: Regenerated.
991
b32e85fa
JJ
9922017-01-19 Jakub Jelinek <jakub@redhat.com>
993
994 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
995 for _WIN64.
996
3c36aa6b
JJ
9972017-01-17 Jakub Jelinek <jakub@redhat.com>
998
d190d5c0
JJ
999 * plugin/hsa.h: Add GCC runtime library exception.
1000 * plugin/hsa_ext_finalize.h: Likewise.
1001
2393d337
JJ
1002 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
1003 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
1004 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
1005 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
1006 plugin/include/cuda as include dir and -ldl instead of -lcuda as
1007 library to link ptx plugin against.
1008 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
1009 (CUDA_CALLS): Define.
1010 (cuda_lib, cuda_lib_inited): New variables.
1011 (init_cuda_lib): New function.
1012 (CUDA_CALL_PREFIX): Define.
1013 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
1014 (CUDA_CALL): Use FN instead of (FN).
1015 (CUDA_CALL_NOCHECK): Define.
1016 (cuda_error, fini_streams_for_device, select_stream_for_async,
1017 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
1018 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
1019 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
1020 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
1021 CUDA_CALL_NOCHECK.
1022 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
1023 CUDA_CALL_NOCHECK.
1024 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
1025 Use CUDA_CALL_NOCHECK.
1026 * plugin/cuda/cuda.h: New file.
1027 * config.h.in: Regenerated.
1028 * configure: Regenerated.
1029
3c36aa6b
JJ
1030 PR other/79046
1031 * configure.ac: Add GCC_BASE_VER.
1032 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
1033 get version from BASE-VER file.
1034 * testsuite/Makefile.in: Regenerated.
1035 * configure: Regenerated.
1036 * Makefile.in: Regenerated.
1037
c508bc2d
FXC
10382017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1039
1040 PR libgomp/60670
1041 * Makefile.am: Make fincludedir multilib-aware.
1042 * Makefile.in: Regenerate.
1043
c1a9c369
JJ
10442017-01-01 Jakub Jelinek <jakub@redhat.com>
1045
cbe34bb5
JJ
1046 Update copyright years.
1047
c1a9c369
JJ
1048 * libgomp.texi: Bump @copying's copyright year.
1049
e7a7f4be
SH
10502016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1051
1052 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
1053 pthread_spinlock_t instead of gomp_mutex_t lock.
1054 (gomp_get_thread_pool): Likewise.
1055 (gomp_release_thread_pool): Likewise.
1056 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
1057 Likewise.
1058
d313d52c
SH
10592016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1060
1061 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
1062 thread pool in case nthreads == 1.
1063
630e3c3a
AM
10642016-11-30 Alexander Monakov <amonakov@ispras.ru>
1065
1066 * config/nvptx/env.c: Delete.
1067 * icv.c: Move definitions of ICV variables back ...
1068 * env.c: ...here. Do not compile environment-related functionality if
1069 LIBGOMP_OFFLOADED_ONLY is set.
1070
9e38af5c
AM
10712016-11-30 Alexander Monakov <amonakov@ispras.ru>
1072
1073 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
1074 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
1075 * configure: Regenerate.
1076 * config.h.in: Likewise.
1077
f96b7f1f
AM
10782016-11-30 Alexander Monakov <amonakov@ispras.ru>
1079
1080 * Makefile.in: Regenerate with automake-1.11.6.
1081 * aclocal.m4: Likewise.
1082 * configure: Likewise.
1083 * testsuite/Makefile.in: Likewise.
1084
6a6951b1
AM
10852016-11-28 Alexander Monakov <amonakov@ispras.ru>
1086
1087 * config/nvptx/critical.c: Delete to use generic implementation.
1088
c7ac071f
JH
10892016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
1090
1091 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
1092 ../../affinity.c as fallback.
1093 * config/nvptx/affinity.c: Delete to use fallback implementation.
1094
6103184e
AM
10952016-11-23 Alexander Monakov <amonakov@ispras.ru>
1096 Jakub Jelinek <jakub@redhat.com>
1097 Dmitry Melnik <dm@ispras.ru>
1098
1099 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
1100 * Makefile.in. Regenerate.
1101 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
1102 (LIBGOMP_USE_PTHREADS): ...here; new define.
1103 * configure: Regenerate.
1104 * config.h.in: Likewise.
1105 * config/posix/affinity.c: Move to...
1106 * affinity.c: ...here (new file). Guard use of Pthreads-specific
1107 interface by LIBGOMP_USE_PTHREADS.
1108 * critical.c: Split out GOMP_atomic_{start,end} into...
1109 * atomic.c: ...here (new file).
1110 * env.c: Split out ICV definitions into...
1111 * icv.c: ...here (new file) and...
1112 * icv-device.c: ...here. New file.
1113 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
1114 (gomp_destroy_lock_30): Ditto.
1115 (gomp_set_lock_30): Ditto.
1116 (gomp_unset_lock_30): Ditto.
1117 (gomp_test_lock_30): Ditto.
1118 (gomp_init_nest_lock_30): Ditto.
1119 (gomp_destroy_nest_lock_30): Ditto.
1120 (gomp_set_nest_lock_30): Ditto.
1121 (gomp_unset_nest_lock_30): Ditto.
1122 (gomp_test_nest_lock_30): Ditto.
1123 * lock.c: New.
1124 * config/nvptx/lock.c: New.
1125 * config/nvptx/bar.c: New.
1126 * config/nvptx/bar.h: New.
1127 * config/nvptx/doacross.h: New.
1128 * config/nvptx/error.c: New.
1129 * config/nvptx/icv-device.c: New.
1130 * config/nvptx/mutex.h: New.
1131 * config/nvptx/pool.h: New.
1132 * config/nvptx/proc.c: New.
1133 * config/nvptx/ptrlock.h: New.
1134 * config/nvptx/sem.h: New.
1135 * config/nvptx/simple-bar.h: New.
1136 * config/nvptx/target.c: New.
1137 * config/nvptx/task.c: New.
1138 * config/nvptx/team.c: New.
1139 * config/nvptx/time.c: New.
1140 * config/posix/simple-bar.h: New.
1141 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
1142 (gomp_num_teams_var): Declare.
1143 (struct gomp_thread_pool): Change threads_dock member to
1144 gomp_simple_barrier_t.
1145 [__nvptx__] (gomp_thread): New implementation.
1146 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
1147 (gomp_thread_destructor): Ditto.
1148 (gomp_init_thread_affinity): Ditto.
1149 * team.c: Guard uses of Pthreads-specific interfaces by
1150 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
1151 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
1152 * config/nvptx/alloc.c: Delete.
1153 * config/nvptx/barrier.c: Ditto.
1154 * config/nvptx/fortran.c: Ditto.
1155 * config/nvptx/iter.c: Ditto.
1156 * config/nvptx/iter_ull.c: Ditto.
1157 * config/nvptx/loop.c: Ditto.
1158 * config/nvptx/loop_ull.c: Ditto.
1159 * config/nvptx/ordered.c: Ditto.
1160 * config/nvptx/parallel.c: Ditto.
1161 * config/nvptx/priority_queue.c: Ditto.
1162 * config/nvptx/sections.c: Ditto.
1163 * config/nvptx/single.c: Ditto.
1164 * config/nvptx/splay-tree.c: Ditto.
1165 * config/nvptx/work.c: Ditto.
1166 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
1167 -foffload=-lgfortran in addition to -lgfortran.
1168 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
1169 * plugin/plugin-nvptx.c: Include <limits.h>.
1170 (struct targ_fn_descriptor): Add new fields.
1171 (struct ptx_device): Ditto. Set them...
1172 (nvptx_open_device): ...here.
1173 (nvptx_adjust_launch_bounds): New.
1174 (nvptx_host2dev): Allow NULL 'nvthd'.
1175 (nvptx_dev2host): Ditto.
1176 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
1177 (link_ptx): Adjust log sizes.
1178 (nvptx_host2dev): Allow NULL 'nvthd'.
1179 (nvptx_dev2host): Ditto.
1180 (nvptx_set_clocktick): New. Use it...
1181 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
1182 fields.
1183 (GOMP_OFFLOAD_dev2dev): New.
1184 (nvptx_adjust_launch_bounds): New.
1185 (nvptx_stacks_size): New.
1186 (nvptx_stacks_alloc): New.
1187 (nvptx_stacks_free): New.
1188 (GOMP_OFFLOAD_run): New.
1189 (GOMP_OFFLOAD_async_run): New (stub).
1190
56b1c60e
MJ
11912016-11-23 Martin Jambor <mjambor@suse.cz>
1192
1193 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
1194 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
1195 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1196
b8d89b03
ML
11972016-11-23 Martin Liska <mliska@suse.cz>
1198 Martin Jambor <mjambor@suse.cz>
1199
1200 * plugin/hsa.h: New file.
1201 * plugin/hsa_ext_finalize.h: New file.
1202 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
1203 header file unistd.h, and functions secure_getenv, __secure_getenv,
1204 getuid, geteuid, getgid and getegid.
1205 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
1206 -D_GNU_SOURCE.
1207 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
1208 Handle various cases of secure_getenv presence, add an implementation
1209 when we can test effective UID and GID.
1210 (struct hsa_runtime_fn_info): New structure.
1211 (hsa_runtime_fn_info hsa_fns): New variable.
1212 (hsa_runtime_lib): Likewise.
1213 (support_cpu_devices): Likewise.
1214 (init_enviroment_variables): Load newly introduced ENV
1215 variables.
1216 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
1217 (hsa_fatal): Likewise.
1218 (DLSYM_FN): New macro.
1219 (init_hsa_runtime_functions): New function.
1220 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
1221 structure. Depending on environment, also allow CPU devices.
1222 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
1223 (get_kernarg_memory_region): Likewise.
1224 (GOMP_OFFLOAD_init_device): Likewise.
1225 (destroy_hsa_program): Likewise.
1226 (init_basic_kernel_info): New function.
1227 (GOMP_OFFLOAD_load_image): Use it.
1228 (create_and_finalize_hsa_program): Call hsa run-time functions via
1229 hsa_fns structure.
1230 (create_single_kernel_dispatch): Likewise.
1231 (release_kernel_dispatch): Likewise.
1232 (init_single_kernel): Likewise.
1233 (parse_target_attributes): Allow up multiple HSA grid dimensions.
1234 (get_group_size): New function.
1235 (run_kernel): Likewise.
1236 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
1237 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
1238 structure.
1239 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
1240 * testsuite/libgomp-test-support.exp.in: Likewise.
1241 * Makefile.in: Regenerated.
1242 * aclocal.m4: Likewise.
1243 * config.h.in: Likewise.
1244 * configure: Likewise.
1245 * testsuite/Makefile.in: Likewise.
1246
18d2ada8
MJ
12472016-11-15 Martin Jambor <mjambor@suse.cz>
1248 Alexander Monakov <amonakov@ispras.ru>
1249
1250 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
1251 mapping clauses to target constructs.
1252 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
1253
84c1b9d3
MK
12542016-11-15 Matthias Klose <doko@ubuntu.com>
1255
1256 * configure: Regenerate.
1257
b4c3a85b
JJ
12582016-11-10 Jakub Jelinek <jakub@redhat.com>
1259
8ebd1b31
JJ
1260 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
1261 * omp_lib.h.in (openmp_version): Likewise.
1262 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
1263 of 201307.
1264 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1265
b4c3a85b
JJ
1266 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
1267 (fib_wrapper): Add map(from: x) clause.
1268 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
1269 (e_53_2): Likewise.
1270 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
1271 (accum): Add map(tmp) clause.
1272 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
1273 (accum): Add map(tofrom: tmp) clause.
1274 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
1275 (gramSchmidt): Likewise.
1276 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
1277 map(tofrom: sum) clause.
1278 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
1279 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
1280 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
1281 only allowed on the loop iterator.
1282 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
1283 * testsuite/libgomp.fortran/taskloop2.f90: New test.
1284 * testsuite/libgomp.fortran/taskloop4.f90: New test.
1285 * testsuite/libgomp.fortran/doacross1.f90: New test.
1286 * testsuite/libgomp.fortran/doacross3.f90: New test.
1287 * testsuite/libgomp.fortran/taskloop1.f90: New test.
1288 * testsuite/libgomp.fortran/taskloop3.f90: New test.
1289 * testsuite/libgomp.fortran/doacross2.f90: New test.
1290 * testsuite/libgomp.c/doacross-1.c (main): Add missing
1291 #pragma omp atomic read.
1292 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1293 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
1294
6668eb45
CP
12952016-11-02 Cesar Philippidis <cesar@codesourcery.com>
1296 Nathan Sidwell <nathan@acm.org>
1297
1298 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
1299 to determine default geometry.
1300 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
1301 dimension.
1302
f10e37a1
JJ
13032016-11-01 Jakub Jelinek <jakub@redhat.com>
1304
1305 * hashtab.h: Use standard GPLv3 with runtime exception
1306 boilerplate.
1307
015c7760
AH
13082016-10-27 Aldy Hernandez <aldyh@redhat.com>
1309
1310 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
1311 size when allocating new thread.
1312
20a1e5b8
MP
13132016-09-14 Marek Polacek <polacek@redhat.com>
1314
1315 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
1316
1cad9284
JJ
13172016-08-19 Jakub Jelinek <jakub@redhat.com>
1318
1319 PR fortran/71014
1320 * testsuite/libgomp.fortran/pr71014.f90: New test.
1321
2c71d454
CLT
13222016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
1323
1324 PR middle-end/70895
1325 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
1326 firstprivate clauses.
1327 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
1328 copy clauses.
1329 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1330 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1331 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
1332 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1333 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1334 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1335 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1336 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1337 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1338 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1339 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1340 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
1341
7c713714
CLT
13422016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
1343
1344 PR fortran/70598
1345 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
1346
5c934396
JJ
13472016-08-08 Jakub Jelinek <jakub@redhat.com>
1348
1349 PR c++/58706
1350 * testsuite/libgomp.c++/pr58706.C: New test.
1351
9ef64248
TS
13522016-08-04 Thomas Schwinge <thomas@codesourcery.com>
1353
bbc79c0e
TS
1354 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
1355 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
1356 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1357 Likewise.
1358 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
1359 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
1360 Likewise.
1361 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
1362
9ef64248
TS
1363 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
1364 test, and don't hardcode -O0.
1365
c1311c86
NS
13662016-08-03 Nathan Sidwell <nathan@codesourcery.com>
1367
1368 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
1369
b1c9c068
CP
13702016-07-15 Cesar Philippidis <cesar@codesourcery.com>
1371
1372 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
1373 test.
1374
b4410f63
L
13752016-07-03 H.J. Lu <hongjiu.lu@intel.com>
1376
1377 PR middle-end/71734
1378 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
1379 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
1380
a8dbab92
JJ
13812016-07-01 Jakub Jelinek <jakub@redhat.com>
1382
1383 PR fortran/71717
1384 * testsuite/libgomp.fortran/associate3.f90: New test.
1385
9b6a8d0f
JJ
13862016-06-17 Jakub Jelinek <jakub@redhat.com>
1387
1388 * testsuite/libgomp.c++/target-21.C: New test.
1389
283635f9
JJ
13902016-06-16 Jakub Jelinek <jakub@redhat.com>
1391
1392 * testsuite/libgomp.c++/target-20.C: New test.
1393
27d6ba88
TS
13942016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1395 Cesar Philippidis <cesar@codesourcery.com>
1396
1397 PR middle-end/71373
1398 * libgomp.oacc-c/nested-function-1.c: New file.
1399 * libgomp.oacc-c/nested-function-2.c: Likewise.
1400 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
1401 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
1402 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
1403
4b1ffdb1
TS
14042016-06-10 Thomas Schwinge <thomas@codesourcery.com>
1405
1406 PR c/71381
1407 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
1408 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
1409 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
1410
d821b794
CLT
14112016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
1412
1413 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
1414 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
1415
3616a8c5
CP
14162016-06-01 Cesar Philippidis <cesar@codesourcery.com>
1417
1418 PR c/70688
5eed9a88 1419 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 1420
7211a097
JJ
14212016-05-26 Jakub Jelinek <jakub@redhat.com>
1422
1423 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
1424 instead of invalid schedule(static, 0).
1425 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1426
b4557008
CLT
14272016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
1428
1429 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
1430 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
1431 parameter, use to set async stream around call to gomp_unmap_vars,
1432 call gomp_unmap_vars() with 'do_copyfrom' set to true.
1433 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
1434 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
1435 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
1436 (event_add): Add int parameter, initialize 'val' field when
1437 adding new ptx_event struct.
1438 (nvptx_evec): Adjust event_add() call arguments.
1439 (nvptx_host2dev): Likewise.
1440 (nvptx_dev2host): Likewise.
1441 (nvptx_wait_async): Likewise.
1442 (nvptx_wait_all_async): Likewise.
1443 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
1444 pass to event_add() call.
1445 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
1446 parameter.
1447 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
1448 call openacc.register_async_cleanup_func() hook.
1449 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
1450 * target.c (gomp_copy_from_async): Delete function.
1451 (gomp_map_vars): Remove async_refcount.
1452 (gomp_unmap_vars): Likewise.
1453 (gomp_load_image_to_device): Likewise.
1454 (omp_target_associate_ptr): Likewise.
1455 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
1456 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
1457 (gomp_copy_from_async): Remove.
1458
6ce13072
CLT
14592016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
1460
1461 * target.c (gomp_device_copy): New function.
1462 (gomp_copy_host2dev): Likewise.
1463 (gomp_copy_dev2host): Likewise.
1464 (gomp_free_device_memory): Likewise.
1465 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
1466 (gomp_map_pointer): Likewise.
1467 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
1468 NULL value from alloc_func plugin hook.
1469 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
1470 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
1471 (gomp_unmap_vars): Likewise.
1472 (gomp_update): Adjust to call gomp_copy_dev2host and
1473 gomp_copy_host2dev functions.
1474 (gomp_unload_image_from_device): Handle false value from
1475 unload_image_func plugin hook.
1476 (gomp_init_device): Handle false value from init_device_func
1477 plugin hook.
1478 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
1479 (omp_target_free): Adjust to call gomp_free_device_memory.
1480 (omp_target_memcpy): Handle return values from host2dev_func,
1481 dev2host_func, and dev2dev_func plugin hooks.
1482 (omp_target_memcpy_rect_worker): Likewise.
1483 (gomp_target_fini): Handle false value from fini_device_func
1484 plugin hook.
1485 * libgomp.h (struct gomp_device_descr): Adjust return type of
1486 init_device_func, fini_device_func, unload_image_func, free_func,
1487 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
1488 * oacc-init.c (acc_shutdown_1): Handle false value from
1489 fini_device_func plugin hook.
1490 * oacc-host.c (host_init_device): Change return type to bool.
1491 (host_fini_device): Likewise.
1492 (host_unload_image): Likewise.
1493 (host_free): Likewise.
1494 (host_dev2host): Likewise.
1495 (host_host2dev): Likewise.
1496 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
1497 (acc_memcpy_to_device): Likewise.
1498 (acc_memcpy_from_device): Likewise.
1499 (delete_copyout): Add libfnname parameter, handle free_func
1500 hook fatal error case.
1501 (acc_delete): Adjust delete_copyout call.
1502 (acc_copyout): Likewise.
1503 (update_dev_host): Move gomp_mutex_unlock to after
1504 host2dev/dev2host hook calls.
1505
1506 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
1507 to 'hsa_error_msg', for clarity.
1508 (hsa_fatal): Likewise.
1509 (hsa_error): New function.
1510 (init_hsa_context): Change return type to bool, adjust to return
1511 false on error.
1512 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
1513 return value.
1514 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
1515 return false on error.
1516 (get_agent_info): Adjust to return NULL on error.
1517 (destroy_hsa_program): Change return type to bool, adjust to
1518 return false on error.
1519 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
1520 (destroy_module): Change return type to bool, adjust to
1521 return false on error.
1522 (GOMP_OFFLOAD_unload_image): Likewise.
1523 (GOMP_OFFLOAD_fini_device): Likewise.
1524 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
1525 (GOMP_OFFLOAD_free): Change to return false when called.
1526 (GOMP_OFFLOAD_dev2host): Likewise.
1527 (GOMP_OFFLOAD_host2dev): Likewise.
1528 (GOMP_OFFLOAD_dev2dev): Likewise.
1529
1530 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
1531 (CUDA_CALL): Likewise.
1532 (CUDA_CALL_ASSERT): Likewise.
1533 (map_init): Change return type to bool, use CUDA_CALL* macros.
1534 (map_fini): Likewise.
1535 (init_streams_for_device): Change return type to bool, adjust
1536 call to map_init.
1537 (fini_streams_for_device): Change return type to bool, adjust
1538 call to map_fini.
1539 (select_stream_for_async): Release stream_lock before calls to
1540 GOMP_PLUGIN_fatal, adjust call to map_init.
1541 (nvptx_init): Use CUDA_CALL* macros.
1542 (nvptx_attach_host_thread_to_device): Change return type to bool,
1543 use CUDA_CALL* macros.
1544 (nvptx_open_device): Use CUDA_CALL* macros.
1545 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
1546 macros.
1547 (nvptx_get_num_devices): Use CUDA_CALL* macros.
1548 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
1549 (nvptx_exec): Use CUDA_CALL* macros.
1550 (nvptx_alloc): Use CUDA_CALL* macros.
1551 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
1552 (nvptx_host2dev): Likewise.
1553 (nvptx_dev2host): Likewise.
1554 (nvptx_wait): Use CUDA_CALL* macros.
1555 (nvptx_wait_async): Likewise.
1556 (nvptx_wait_all): Likewise.
1557 (nvptx_wait_all_async): Likewise.
1558 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
1559 use CUDA_CALL* macros, adjust call to map_fini.
1560 (GOMP_OFFLOAD_init_device): Change return type to bool,
1561 adjust code accordingly.
1562 (GOMP_OFFLOAD_fini_device): Likewise.
1563 (GOMP_OFFLOAD_load_image): Adjust calls to
1564 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
1565 use CUDA_CALL* macros.
1566 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
1567 return code.
1568 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
1569 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
1570 handle error return.
1571 (GOMP_OFFLOAD_dev2host): Likewise.
1572 (GOMP_OFFLOAD_host2dev): Likewise.
1573 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
1574 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
1575
e46c7770
CP
15762016-05-24 Cesar Philippidis <cesar@codesourcery.com>
1577
1578 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
1579 (acc_free): Likewise.
1580 (acc_memcpy_to_device): Likewise.
1581 (acc_memcpy_from_device): Likewise.
1582 (acc_deviceptr): Likewise.
1583 (acc_hostptr): Likewise.
1584 (acc_is_present): Likewise.
1585 (acc_map_data): Likewise.
1586 (acc_unmap_data): Likewise.
1587 (present_create_copy): Likewise.
1588 (delete_copyout): Likewise.
1589 (update_dev_host): Likewise.
1590 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
1591 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
1592 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
1593 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1594 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
1595 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
1596 it only runs on nvptx targets.
1597 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1598 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1599 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1600 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1601 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1602 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1603 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1604 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1605 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1606 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1607 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1608 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1609 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1610 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1611 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1612 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1613 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1614 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1615 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1616 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1617 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1618 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1619 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1620
a5057543
MJ
16212016-05-23 Martin Jambor <mjambor@suse.cz>
1622
1623 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
1624
e37288a6
CLT
16252016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
1626
1627 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1628 to gomp_init_targets_once.
1629 (acc_set_device_type): Remove !cached_base_dev condition on call to
1630 gomp_init_targets_once, move call to before acc_device_lock acquire,
1631 to avoid deadlock.
1632 (acc_get_device_num): Remove !cached_base_dev condition on call to
1633 gomp_init_targets_once.
1634 (acc_set_device_num): Likewise.
1635
51d9ed48
MJ
16362016-05-16 Martin Jambor <mjambor@suse.cz>
1637
1638 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1639
5b37e866
NS
16402016-05-02 Nathan Sidwell <nathan@codesourcery.com>
1641
1642 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1643 expected partitioning.
1644
e7ff0319
CP
16452016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1646
1647 PR middle-end/70626
1648 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1649 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1650 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1651
c2bd3b69
AM
16522016-04-21 Alexander Monakov <amonakov@ispras.ru>
1653
1654 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1655 non-fatal.
1656
84311083
JJ
16572016-04-19 Jakub Jelinek <jakub@redhat.com>
1658
1659 PR middle-end/70680
1660 * testsuite/libgomp.c/pr70680-1.c: New test.
1661 * testsuite/libgomp.c/pr70680-2.c: New test.
1662
aadc043f
CP
16632016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1664
1665 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1666 pass parameter variables to subroutines.
1667
e387fc64
CP
16682016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1669
1670 PR middle-end/70643
1671 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1672
10c3c424
CP
16732016-04-13 Cesar Philippidis <cesar@codesourcery.com>
1674
1675 PR testsuite/68242
1676 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1677 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1678
27f9add3
TS
16792016-04-12 Thomas Schwinge <thomas@codesourcery.com>
1680
58d32aeb
TS
1681 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1682 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1683 GOACC_declare prototype.
1684
d97633ef
TS
1685 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1686 Merge this file, and...
1687 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1688 ... this file, and...
1689 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1690 ... this file, and...
1691 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1692 ... this file, and...
1693 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1694 ... this file, and...
1695 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1696 ... this file, and...
1697 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1698 ... this file, and...
1699 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1700 ... this file, and...
1701 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1702 ... this file, and...
1703 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1704 ... this file, and...
1705 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1706 ... this file, and...
1707 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1708 ... this file, and...
1709 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1710 ... this file into...
1711 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1712 file.
1713
27f9add3
TS
1714 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1715 Make failure observable.
1716
21f3a236
JJ
17172016-04-12 Jakub Jelinek <jakub@redhat.com>
1718
1719 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1720 field.
1721 * target.c (gomp_target_fallback_firstprivate,
1722 gomp_target_unshare_firstprivate): Removed.
1723 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1724 before waiting for dependencies.
1725 (gomp_target_task_fn): Don't copy firstprivate vars here.
1726 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1727 firstprivate_copies here.
1728 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1729 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1730 explicit/implicit firstprivate.
1731
c42cfb5c
CP
17322016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1733
1734 PR lto/70289
1735 PR ipa/70348
1736 PR tree-optimization/70373
1737 PR middle-end/70533
1738 PR middle-end/70534
1739 PR middle-end/70535
1740 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1741 test.
1742 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1743 test.
1744 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1745 test.
1746 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1747 test.
1748 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1749 test.
1750 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1751 test.
1752 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1753 test.
1754 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1755 test.
1756 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1757 test.
1758 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1759 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1760 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1761 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1762 test.
1763 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1764 test.
1765 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1766 test.
1767 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1768 test.
1769 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1770 coverage.
1771 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1772 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1773 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1774 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1775 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1776 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1777 coverage.
1778 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1779 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1780 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1781 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1782 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1783 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1784 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1785 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1786 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1787 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1788 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1789 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1790 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1791 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1792 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1793
2620c80d
TS
17942016-03-30 Thomas Schwinge <thomas@codesourcery.com>
1795 James Norris <jnorris@codesourcery.com>
1796 Nathan Sidwell <nathan@codesourcery.com>
1797 Julian Brown <julian@codesourcery.com>
1798 Cesar Philippidis <cesar@codesourcery.com>
1799 Chung-Lin Tang <cltang@codesourcery.com>
1800 Tom de Vries <tom@codesourcery.com>
1801
1802 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1803 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1804 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1805 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1806 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1807 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1808 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1809 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1810 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1811 XFAIL.
1812 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1813 Incorporate...
1814 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1815 file.
1816 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1817 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1818 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1819 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1820 Likewise.
1821 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1822 Likewise.
1823 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1824 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1825 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1826 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1827 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1828 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1829 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1830 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1831 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1832 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1833 Likewise.
1834 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1835 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1836 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1837 file...
1838 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1839 file into...
1840 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1841 file. Update.
1842 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1843 file.
1844 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
1845 Likewise.
1846 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
1847 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
1848 ... this new file. Update.
1849 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
1850 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
1851 ... this new file. Update.
1852 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
1853 file. Incorporate...
1854 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
1855 file, and...
1856 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
1857 file, and...
1858 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
1859 file.
1860 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
1861
ce83104b
TS
18622016-03-29 Thomas Schwinge <thomas@codesourcery.com>
1863
1864 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
1865 set-torture-options.
1866
6e0df3b7
TS
18672016-03-24 Thomas Schwinge <thomas@codesourcery.com>
1868
1869 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
1870 gcc-dg-runtest.
1871 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1872 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
1873 -fno-builtin-acc_on_device instead of -O0.
1874 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
1875 -O0.
1876 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1877 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
1878 Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1881 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1882 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1883 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1884 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1885 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1886 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1887 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1888 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1889 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1890 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1891 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1892 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1893 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1894 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1895 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1896 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1897 Don't specify -O2.
1898 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1899 Likewise.
1900 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
1901 Likewise.
1902
f9c8babb
ML
19032016-03-24 Martin Liska <mliska@suse.cz>
1904
1905 * plugin/plugin-hsa.c (packet_store_release): New function
1906 that is taken from the HSA runtime manual.
1907 (GOMP_OFFLOAD_run): Use the function.
1908
04833609
JJ
19092016-03-23 Jakub Jelinek <jakub@redhat.com>
1910
1911 PR c++/70376
1912 * testsuite/libgomp.c++/pr70376.C: New test.
1913
d79ee524
TV
19142016-03-23 Tom de Vries <tom@codesourcery.com>
1915
1916 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
1917 initialization of lresult and lvresult.
1918 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
1919
b6d1f2b5
JN
19202016-03-23 James Norris <jnorris@codesourcery.com>
1921 Daichi Fukuoka <dc-fukuoka@sgi.com>
1922
1923 PR libgomp/69414
1924 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
1925 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
1926 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1927 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
1928
7397fce2
ML
19292016-03-23 Martin Liska <mliska@suse.cz>
1930
1931 PR hsa/70337
1932 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
1933 argument just in case a dispatched kernel uses that argument.
1934
ee2e7d51
TS
19352016-03-16 Thomas Schwinge <thomas@codesourcery.com>
1936
1937 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
1938 -ftree-parallelize-loops/-fopenacc changes.
1939 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
1940 Likewise.
1941 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1942 Likewise.
1943 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
1944 Likewise.
1945 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
1946 Likewise.
1947 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1948 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1949
be9f7143
TS
19502016-03-13 Thomas Schwinge <thomas@codesourcery.com>
1951
1952 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
1953 always_ld_library_path the path to libgcc_s.
1954
f6c1032d
CP
19552016-03-10 Cesar Philippidis <cesar@codesourcery.com>
1956
1957 PR testsuite/70009
1958 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
1959
5a6452e6
TV
19602016-03-09 Tom de Vries <tom@codesourcery.com>
1961
1962 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
1963 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
1964 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1965 Same.
1966 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
1967 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
1968 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
1969 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
1970
96a71bd5
MJ
19712016-03-07 Martin Jambor <mjambor@suse.cz>
1972
1973 * testsuite/lib/libgomp.exp
1974 (check_effective_target_hsa_offloading_selected_nocache): New.
1975 (check_effective_target_hsa_offloading_selected): Likewise.
1976 * testsuite/libgomp.hsa.c/c.exp: Likewise.
1977 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
1978 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
1979 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
1980 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
1981 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
1982 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
1983 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
1984 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
1985 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
1986 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
1987 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
1988 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
1989 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
1990 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
1991 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
1992 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
1993
02e0b5b2
MJ
19942016-03-07 Martin Jambor <mjambor@suse.cz>
1995
1996 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
1997 non-shared memory accelerators.
1998 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
1999 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
2000 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
2001 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
2002 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2003 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2004 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2005 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2006 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2007
45548f30
MJ
20082016-03-07 Martin Jambor <mjambor@suse.cz>
2009
2010 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
2011 ALWAYS_CFLAGS.
2012
da3d46cb
JJ
20132016-03-02 Jakub Jelinek <jakub@redhat.com>
2014
2015 PR libgomp/69555
2016 * testsuite/libgomp.c++/pr69555-1.C: New test.
2017 * testsuite/libgomp.c++/pr69555-2.C: New test.
2018
622174b2
KM
20192016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
2020 Martin Jambor <mjambor@suse.cz>
2021
2022 * testsuite/lib/libgomp.exp
2023 (check_effective_target_offload_device_shared_as): New proc.
2024 * testsuite/libgomp.c++/declare_target-1.C: New test.
2025
e6861a99
IV
20262016-02-25 Ilya Verbin <ilya.verbin@intel.com>
2027
2028 PR driver/68463
2029 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
2030
f99c3557
TS
20312016-02-23 Thomas Schwinge <thomas@codesourcery.com>
2032
2033 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
2034 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
2035 dims.
2036 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
2037 -ftree-parallelize-loops/-fopenacc changes.
2038 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
2039 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
2040 Likewise.
2041 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
2042 Likewise.
2043 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
2044 Likewise.
2045 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
2046 Likewise.
2047 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
2048 Likewise.
2049 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
2050 Likewise.
2051 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
2052 Likewise.
2053 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2054 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
2055 Likewise.
2056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
2057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
2058 Likewise.
2059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
2060 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
2061 Likewise.
2062
d5ace3b5
CP
20632016-02-22 Cesar Philippidis <cesar@codesourcery.com>
2064
2065 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
2066
f3609a89
JJ
20672016-02-19 Jakub Jelinek <jakub@redhat.com>
2068
2069 PR driver/69805
2070 * testsuite/libgomp.c/pr69805.c: New test.
2071
2175df99
TV
20722016-02-16 Tom de Vries <tom@codesourcery.com>
2073
2074 PR lto/67709
2075 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
2076
17b6426c
TV
20772016-02-09 Tom de Vries <tom@codesourcery.com>
2078
2079 PR tree-optimization/69599
2080 * testsuite/libgomp.c/omp-nested-3.c: New test.
2081 * testsuite/libgomp.c/pr46032-2.c: New test.
2082 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
2083 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
2084
34df756c
TV
20852016-02-09 Tom de Vries <tom@codesourcery.com>
2086
2087 PR lto/69707
2088 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
2089
5854ee30
AM
20902016-02-02 Alexander Monakov <amonakov@ispras.ru>
2091
2092 * testsuite/libgomp.c/target-31.c: Fix testcase.
2093
e70b6ad7
AM
20942016-02-02 Alexander Monakov <amonakov@ispras.ru>
2095
2096 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
2097 clause.
2098 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
2099 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
2100 reduction and map clauses.
2101 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2102
bd78a45f
JN
21032016-02-02 James Norris <jnorris@codesourcery.com>
2104
2105 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
2106
41d809d3
TS
21072016-02-02 Thomas Schwinge <thomas@codesourcery.com>
2108
18f60146
TS
2109 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
2110 * oacc-parallel.c (GOACC_host_data): Remove function definition.
2111
1a06f5e6
TS
2112 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
2113 cases.
2114
033ff3d1
TS
2115 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
2116 variables.
2117 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
2118 (hsa_kmt_lib): Set variables.
2119 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
2120 always_ld_library_path.
2121 * Makefile.in: Regenerate.
2122 * configure: Likewise.
2123 * testsuite/Makefile.in: Likewise.
2124
4a88d9b7
TS
2125 * plugin/configfrag.ac (offload_additional_options)
2126 (offload_additional_lib_paths): Don't amend for hsa offloading.
2127 * configure: Regenerate.
2128
41d809d3
TS
2129 * plugin/configfrag.ac: Don't configure for offloading target if
2130 we don't build the corresponding plugin.
2131 * configure: Regenerate.
2132
b6adbb9f
NS
21332016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2134
2135 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
2136 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
2137
8dfdb419
TV
21382016-01-26 Tom de Vries <tom@codesourcery.com>
2139
2140 PR tree-optimization/69110
2141 * testsuite/libgomp.c/pr69110.c: New test.
2142
02ef53f2
RB
21432016-01-25 Richard Biener <rguenther@suse.de>
2144
2145 PR lto/69393
2146 * testsuite/libgomp.c++/pr69393.C: New testcase.
2147
eb4048f2
IV
21482016-01-22 Ilya Verbin <ilya.verbin@intel.com>
2149
2150 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
2151 function wasn't mapped to the device with non-shared memory.
2152
b235cdd5
IV
21532016-01-20 Ilya Verbin <ilya.verbin@intel.com>
2154
2155 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
2156
b2b40051
MJ
21572016-01-19 Martin Jambor <mjambor@suse.cz>
2158 Martin Liska <mliska@suse.cz>
2159
2160 * plugin/Makefrag.am: Add HSA plugin requirements.
2161 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
2162 (HSA_RUNTIME_LIB): Likewise.
2163 (HSA_RUNTIME_CPPFLAGS): Likewise.
2164 (HSA_RUNTIME_INCLUDE): New substitution.
2165 (HSA_RUNTIME_LIB): Likewise.
2166 (HSA_RUNTIME_LDFLAGS): Likewise.
2167 (hsa-runtime): New configure option.
2168 (hsa-runtime-include): Likewise.
2169 (hsa-runtime-lib): Likewise.
2170 (PLUGIN_HSA): New substitution variable.
2171 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
2172 configure options.
2173 (PLUGIN_HSA_CPPFLAGS): Likewise.
2174 (PLUGIN_HSA_LDFLAGS): Likewise.
2175 (PLUGIN_HSA_LIBS): Likewise.
2176 Check that we have access to HSA run-time.
2177 * libgomp-plugin.h (offload_target_type): New element
2178 OFFLOAD_TARGET_TYPE_HSA.
2179 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
2180 args.
2181 (bool gomp_create_target_task): Updated.
2182 (gomp_device_descr): Extra parameter of run_func and async_run_func,
2183 new field can_run_func.
2184 * libgomp_g.h (GOMP_target_ext): Update prototype.
2185 * oacc-host.c (host_run): Added a new parameter args.
2186 * target.c (calculate_firstprivate_requirements): New function.
2187 (copy_firstprivate_data): Likewise.
2188 (gomp_target_fallback_firstprivate): Use them.
2189 (gomp_target_unshare_firstprivate): New function.
2190 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
2191 devices.
2192 (GOMP_target): Do host fallback for all shared memory devices. Do not
2193 pass any args to plugins.
2194 (GOMP_target_ext): Introduce device-specific argument parameter args.
2195 Allow host fallback if device shares memory. Do not remap data if
2196 device has shared memory.
2197 (gomp_target_task_fn): Likewise. Also treat shared memory devices
2198 like host fallback for mappings.
2199 (GOMP_target_data): Treat shared memory devices like host fallback.
2200 (GOMP_target_data_ext): Likewise.
2201 (GOMP_target_update): Likewise.
2202 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
2203 gomp_create_target_task.
2204 (GOMP_target_enter_exit_data): Likewise.
2205 (omp_target_alloc): Treat shared memory devices like host fallback.
2206 (omp_target_free): Likewise.
2207 (omp_target_is_present): Likewise.
2208 (omp_target_memcpy): Likewise.
2209 (omp_target_memcpy_rect): Likewise.
2210 (omp_target_associate_ptr): Likewise.
2211 (gomp_load_plugin_for_device): Also load can_run.
2212 * task.c (GOMP_PLUGIN_target_task_completion): Free
2213 firstprivate_copies.
2214 (gomp_create_target_task): Accept new argument args and store it to
2215 ttask.
2216 * plugin/plugin-hsa.c: New file.
2217
5d7804a9
TV
22182016-01-18 Tom de Vries <tom@codesourcery.com>
2219
2220 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
2221 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
2222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
2223 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
2224 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
2225 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
2226 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
2227 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
2228 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
2229 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
2230 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2231 Same.
2232 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2233 Same.
2234 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
2235 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
2236 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
2237 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
2238 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
2239 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
2240 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
2241 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2242 Same.
2243 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
2244
cb11f3cf
JJ
22452016-01-15 Jakub Jelinek <jakub@redhat.com>
2246
2247 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
2248
33a126a6
CP
22492016-01-15 Cesar Philippidis <cesar@codesourcery.com>
2250
2251 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
2252
cdf6119d
JN
22532016-01-12 James Norris <jnorris@codesourcery.com>
2254
2255 * libgomp.texi: Updates for OpenACC.
2256
0d58938e
AM
22572016-01-11 Alexander Monakov <amonakov@ispras.ru>
2258
2259 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
2260
95918b49
L
22612016-01-07 H.J. Lu <hongjiu.lu@intel.com>
2262
2263 PR fortran/66680
2264 * testsuite/libgomp.fortran/pr66680.f90: New test.
2265
8fc708b7
JJ
22662016-01-07 Jakub Jelinek <jakub@redhat.com>
2267
2268 PR middle-end/68960
2269 * testsuite/libgomp.c/pr68960.c: New test.
2270
e9b596c1
NS
22712016-01-06 Nathan Sidwell <nathan@acm.org>
2272
1a14faf2 2273 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
2274 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
2275
21fa2a29
JJ
22762016-01-04 Jakub Jelinek <jakub@redhat.com>
2277
818ab71a
JJ
2278 Update copyright years.
2279
21fa2a29
JJ
2280 * libgomp.texi: Bump @copying's copyright year.
2281
9310efbc
NS
22822015-12-31 Nathan Sidwell <nathan@acm.org>
2283
2284 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
2285 dg-additional-options syntax.
2286 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2287 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2288 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
2289 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2290 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
2291 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2292 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2293 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2294 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2295 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
2296 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2297 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2298 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2299 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2300 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2301 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2302 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2303 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2304
4a38b02b
IV
23052015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2306
2307 * libgomp.h (REFCOUNT_LINK): Define.
2308 (struct splay_tree_key_s): Add link_key.
2309 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
2310 Replace target address of the pointer with target address of newly
2311 mapped object in the splay tree. Set link pointer on target to the
2312 device address of the mapped object.
2313 (gomp_unmap_vars): Restore target address of the pointer in the splay
2314 tree for REFCOUNT_LINK objects after unmapping.
2315 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
2316 declare target link" objects.
2317 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
2318 "omp declare target link" objects, which were mapped for the image.
2319 (gomp_exit_data): Restore target address of the pointer in the splay
2320 tree for REFCOUNT_LINK objects after unmapping.
2321 * testsuite/libgomp.c/target-link-1.c: New file.
2322
d84ffc0a
IV
23232015-12-14 Ilya Verbin <ilya.verbin@intel.com>
2324
2325 * libgomp.h (gomp_device_state): New enum.
2326 (struct gomp_device_descr): Replace is_initialized with state.
2327 (gomp_fini_device): Remove declaration.
2328 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
2329 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
2330 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
2331 (acc_set_device_type): Use state instead of is_initialized.
2332 (acc_set_device_num): Likewise.
2333 * target.c (resolve_device): Use state instead of is_initialized.
2334 Do not initialize finalized device.
2335 (gomp_map_vars): Do nothing if device is finalized.
2336 (gomp_unmap_vars): Likewise.
2337 (gomp_update): Likewise.
2338 (GOMP_offload_register_ver): Use state instead of is_initialized.
2339 (GOMP_offload_unregister_ver): Likewise.
2340 (gomp_init_device): Likewise.
2341 (gomp_unload_device): Likewise.
2342 (gomp_fini_device): Remove.
2343 (gomp_get_target_fn_addr): Do nothing if device is finalized.
2344 (GOMP_target): Go to host fallback if device is finalized.
2345 (GOMP_target_ext): Likewise.
2346 (gomp_exit_data): Do nothing if device is finalized.
2347 (gomp_target_task_fn): Go to host fallback if device is finalized.
2348 (gomp_target_fini): New static function.
2349 (gomp_target_init): Use state instead of is_initialized.
2350 Call gomp_target_fini at exit.
2351
76680678
TV
23522015-12-09 Tom de Vries <tom@codesourcery.com>
2353
2354 PR tree-optimization/68716
2355 * testsuite/libgomp.c/omp-nested-2.c: New test.
2356
ff7a55bf
TS
23572015-12-02 Thomas Schwinge <thomas@codesourcery.com>
2358
2359 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
2360 target openacc_nvidia_accel_selected.
2361 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
2362 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
2363 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
2364 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
2365
37d5ad46
JB
23662015-12-01 Julian Brown <julian@codesourcery.com>
2367 James Norris <James_Norris@mentor.com>
2368
2369 * oacc-parallel.c (GOACC_host_data): New function.
2370 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
2371 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
2372 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
2373 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
2374 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
2375 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
2376 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
2377
db941d7e
CP
23782015-11-30 James Norris <jnorris@codesourcery.com>
2379 Cesar Philippidis <cesar@codesourcery.com>
2380
2381 libgomp/
2382 * libgomp.oacc-fortran/routine-5.f90: New test.
2383 * libgomp.oacc-fortran/routine-7.f90: New test.
2384 * libgomp.oacc-fortran/routine-9.f90: New test.
2385
e0ca27c5
TV
23862015-11-30 Tom de Vries <tom@codesourcery.com>
2387
2388 PR tree-optimization/46032
2389 * testsuite/libgomp.c/pr46032.c: New test.
2390
aec17bfe
JJ
23912015-11-27 Jakub Jelinek <jakub@redhat.com>
2392
8e4e4719
JJ
2393 PR libgomp/68579
2394 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
2395 (gomp_create_target_task): Call it before freeing
2396 GOMP_TARGET_TASK_DATA tasks.
2397
aec17bfe
JJ
2398 PR c/63326
2399 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
2400 in between case label and OpenMP standalone directives.
2401 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
2402
6cfe90e6
DE
24032015-11-26 David Edelsohn <dje.gcc@gmail.com>
2404
2405 * configure: Regenerate.
2406
0e65fd7d
JJ
24072015-11-26 Jakub Jelinek <jakub@redhat.com>
2408
2409 * testsuite/libgomp.c/target-35.c: New test.
2410
dc7a8b4b
JN
24112015-11-22 James Norris <jnorris@codesourcery.com>
2412 Cesar Philippidis <cesar@codesourcery.com>
2413
2414 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
2415 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2416 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2417 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2418 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2419
48a78aee
JJ
24202015-11-20 Jakub Jelinek <jakub@redhat.com>
2421
2422 PR middle-end/68221
2423 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
2424 * testsuite/libgomp.c/reduction-12.c: Likewise.
2425 * testsuite/libgomp.c++/reduction-11.C: Likewise.
2426 * testsuite/libgomp.c++/reduction-12.C: Likewise.
2427
2d256816
NS
24282015-11-19 Nathan Sidwell <nathan@codesourcery.com>
2429
2430 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
2431 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
2432 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
2433 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
2434 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
2435 and fix.
2436 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2437 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2438
33f47f42
NS
24392015-11-18 Nathan Sidwell <nathan@codesourcery.com>
2440
2441 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
2442 worker & gang cases.
2443 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
2444
3d7bfee0
CP
24452015-11-17 Cesar Philippidis <cesar@codesourcery.com>
2446
2447 * config/nvptx/priority_queue.c: New file.
2448
00b9bd52
JJ
24492015-11-14 Jakub Jelinek <jakub@redhat.com>
2450
2451 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
2452 sections.
2453
e4606348
JJ
24542015-11-14 Jakub Jelinek <jakub@redhat.com>
2455 Aldy Hernandez <aldyh@redhat.com>
2456 Ilya Verbin <ilya.verbin@intel.com>
2457
2458 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
2459 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
2460 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
2461 iterators or IV by chunk size.
2462 * parallel.c (gomp_resolve_num_threads): Don't assume that
2463 if thr->ts.team is non-NULL, then pool must be non-NULL.
2464 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
2465 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
2466 GOMP_PLUGIN_target_task_completion.
2467 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
2468 * Makefile.in: Regenerate.
2469 * libgomp.h: Shuffle prototypes and forward definitions around so
2470 priority queues can be defined.
2471 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
2472 (enum gomp_target_task_state): New enum.
2473 (struct gomp_target_task): Add state, tgt, task and team fields.
2474 (gomp_create_target_task): Change return type to bool, add
2475 state argument.
2476 (gomp_target_task_fn): Change return type to bool.
2477 (struct gomp_device_descr): Add async_run_func.
2478 (struct gomp_task): Remove children, next_child, prev_child,
2479 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
2480 Add pnode field.
2481 (struct gomp_taskgroup): Remove children.
2482 Add taskgroup_queue.
2483 (struct gomp_team): Change task_queue type to a priority queue.
2484 (splay_compare): Define inline.
2485 (priority_queue_offset): New.
2486 (priority_node_to_task): New.
2487 (task_to_priority_node): New.
2488 * oacc-mem.c: Do not include splay-tree.h.
2489 * priority_queue.c: New file.
2490 * priority_queue.h: New file.
2491 * splay-tree.c: Do not include splay-tree.h.
2492 (splay_tree_foreach_internal): New.
2493 (splay_tree_foreach): New.
2494 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
2495 (splay_tree_callback): Define typedef.
2496 * target.c (splay_compare): Move to libgomp.h.
2497 (GOMP_target): Don't adjust *thr in any way around running offloaded
2498 task.
2499 (GOMP_target_ext): Likewise. Handle target nowait.
2500 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
2501 return value from gomp_create_target_task, if false, fallthrough
2502 as if no dependencies exist.
2503 (gomp_target_task_fn): Change return type to bool, return true
2504 if the task should have another part scheduled later. Handle
2505 target nowait.
2506 (gomp_load_plugin_for_device): Initialize async_run.
2507 * task.c (gomp_init_task): Initialize children_queue.
2508 (gomp_clear_parent_in_list): New.
2509 (gomp_clear_parent_in_tree): New.
2510 (gomp_clear_parent): Handle priorities.
2511 (GOMP_task): Likewise.
2512 (priority_queue_move_task_first,
2513 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
2514 New functions.
2515 (gomp_create_target_task): Use priority queues. Change return type
2516 to bool, add state argument, return false if for async
2517 {{enter,exit} data,update} constructs no dependencies need to be
2518 waited for, handle target nowait. Set task->fn to NULL instead of
2519 gomp_target_task_fn.
2520 (verify_children_queue): Remove.
2521 (priority_list_upgrade_task): New.
2522 (priority_queue_upgrade_task): New.
2523 (verify_task_queue): Remove.
2524 (priority_list_downgrade_task): New.
2525 (priority_queue_downgrade_task): New.
2526 (gomp_task_run_pre): Use priority queues.
2527 Abstract code out to priority_queue_downgrade_task.
2528 (gomp_task_run_post_handle_dependers): Use priority queues.
2529 (gomp_task_run_post_remove_parent): Likewise.
2530 (gomp_task_run_post_remove_taskgroup): Likewise.
2531 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
2532 tasks specially.
2533 (GOMP_taskwait): Likewise.
2534 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
2535 priority-queue_upgrade_task.
2536 (GOMP_taskgroup_start): Use priority queues.
2537 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
2538 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
2539 barrier.
2540 * taskloop.c (GOMP_taskloop): Handle priorities.
2541 * team.c (gomp_new_team): Call priority_queue_init.
2542 (free_team): Call priority_queue_free.
2543 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
2544 team created for target nowait in implicit parallel region.
2545 (gomp_team_start): For nested check, test thr->ts.level instead of
2546 thr->ts.team != NULL.
2547 * testsuite/libgomp.c/doacross-3.c: New test.
2548 * testsuite/libgomp.c/ordered-5.c: New test.
2549 * testsuite/libgomp.c/priority.c: New test.
2550 * testsuite/libgomp.c/target-31.c: New test.
2551 * testsuite/libgomp.c/target-32.c: New test.
2552 * testsuite/libgomp.c/target-33.c: New test.
2553 * testsuite/libgomp.c/target-34.c: New test.
2554
1d1ab74f
NS
25552015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2556
c5a64cfe
NS
2557 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
2558
1d1ab74f
NS
2559 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
2560 loop is sequential.
2561
dd3c1b14
NS
25622015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2563
2564 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
2565 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
2566
6e232ba4
JN
25672015-11-12 James Norris <jnorris@codesourcery.com>
2568 Joseph Myers <joseph@codesourcery.com>
2569
2570 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
2571 * oacc-parallel.c (GOACC_declare): New function.
2572 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
2573 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
2574 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
2575 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
2576 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
2577
fffeedeb
NS
25782015-11-12 Nathan Sidwell <nathan@codesourcery.com>
2579
2580 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
2581
182190f2
NS
25822015-11-1 Nathan Sidwell <nathan@codesourcery.com>
2583
2584 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
2585 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
2586
36fa0f5f
NS
25872015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2588
d350c40c
NS
2589 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
2590 inadvertent commit.
2591
25922015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2593
36fa0f5f
NS
2594 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
2595 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
2596 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
2597 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
2598 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
2599
66a5f0b4
TS
26002015-11-06 Thomas Schwinge <thomas@codesourcery.com>
2601
2602 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
2603 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2604
e01d41e5
JJ
26052015-11-05 Jakub Jelinek <jakub@redhat.com>
2606 Ilya Verbin <ilya.verbin@intel.com>
2607
2608 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
2609 GOMP_loop_nonmonotonic_dynamic_start,
2610 GOMP_loop_nonmonotonic_guided_next,
2611 GOMP_loop_nonmonotonic_guided_start,
2612 GOMP_loop_ull_nonmonotonic_dynamic_next,
2613 GOMP_loop_ull_nonmonotonic_dynamic_start,
2614 GOMP_loop_ull_nonmonotonic_guided_next,
2615 GOMP_loop_ull_nonmonotonic_guided_start,
2616 GOMP_parallel_loop_nonmonotonic_dynamic,
2617 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
2618 (GOMP_target_41): Renamed to ...
2619 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2620 arguments.
2621 (GOMP_target_data_41): Renamed to ...
2622 (GOMP_target_data_ext): ... this.
2623 (GOMP_target_update_41): Renamed to ...
2624 (GOMP_target_update_ext): ... this.
2625 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
2626 GOMP_target_data_ext and GOMP_target_update_ext instead of
2627 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2628 Export GOMP_loop_nonmonotonic_dynamic_next,
2629 GOMP_loop_nonmonotonic_dynamic_start,
2630 GOMP_loop_nonmonotonic_guided_next,
2631 GOMP_loop_nonmonotonic_guided_start,
2632 GOMP_loop_ull_nonmonotonic_dynamic_next,
2633 GOMP_loop_ull_nonmonotonic_dynamic_start,
2634 GOMP_loop_ull_nonmonotonic_guided_next,
2635 GOMP_loop_ull_nonmonotonic_guided_start,
2636 GOMP_parallel_loop_nonmonotonic_dynamic and
2637 GOMP_parallel_loop_nonmonotonic_guided.
2638 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2639 GOMP_parallel_loop_nonmonotonic_guided,
2640 GOMP_loop_nonmonotonic_dynamic_start,
2641 GOMP_loop_nonmonotonic_guided_start,
2642 GOMP_loop_nonmonotonic_dynamic_next,
2643 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2644 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2645 GOMP_loop_ull_nonmonotonic_guided_start,
2646 GOMP_loop_ull_nonmonotonic_dynamic_next,
2647 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2648 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2649 functions.
2650 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2651 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2652 Use gomp_map_val function.
2653 (gomp_target_fallback_firstprivate): New static function.
2654 (GOMP_target_41): Renamed to ...
2655 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2656 arguments. Move firstprivate fallback handling into a new
2657 function.
2658 (GOMP_target_data_41): Renamed to ...
2659 (GOMP_target_data_ext): ... this.
2660 (GOMP_target_update_41): Renamed to ...
2661 (GOMP_target_update_ext): ... this.
2662 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2663 gomp_map_0len_lookup instead of gomp_map_lookup.
2664 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2665 gomp_map_lookup.
2666 * testsuite/libgomp.c/target-28.c: Likewise.
2667 * testsuite/libgomp.c/monotonic-1.c: New test.
2668 * testsuite/libgomp.c/monotonic-2.c: New test.
2669 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2670 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2671 * testsuite/libgomp.c/pr66199-5.c: New test.
2672 * testsuite/libgomp.c/pr66199-6.c: New test.
2673 * testsuite/libgomp.c/pr66199-7.c: New test.
2674 * testsuite/libgomp.c/pr66199-8.c: New test.
2675 * testsuite/libgomp.c/pr66199-9.c: New test.
2676 * testsuite/libgomp.c/reduction-11.c: New test.
2677 * testsuite/libgomp.c/reduction-12.c: New test.
2678 * testsuite/libgomp.c/reduction-13.c: New test.
2679 * testsuite/libgomp.c/reduction-14.c: New test.
2680 * testsuite/libgomp.c/reduction-15.c: New test.
2681 * testsuite/libgomp.c/target-12.c (main): Adjust for
2682 omp_target_is_present change for one-past-last element.
2683 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2684 the same var is both mapped and privatized.
2685 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2686 handling of zero-length array sections.
2687 * testsuite/libgomp.c/target-28.c: New test.
2688 * testsuite/libgomp.c/target-29.c: New test.
2689 * testsuite/libgomp.c/target-30.c: New test.
2690 * testsuite/libgomp.c/target-teams-1.c: New test.
2691 * testsuite/libgomp.c++/member-6.C: New test.
2692 * testsuite/libgomp.c++/member-7.C: New test.
2693 * testsuite/libgomp.c++/monotonic-1.C: New test.
2694 * testsuite/libgomp.c++/monotonic-2.C: New test.
2695 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2696 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2697 * testsuite/libgomp.c++/pr66199-3.C: New test.
2698 * testsuite/libgomp.c++/pr66199-4.C: New test.
2699 * testsuite/libgomp.c++/pr66199-5.C: New test.
2700 * testsuite/libgomp.c++/pr66199-6.C: New test.
2701 * testsuite/libgomp.c++/pr66199-7.C: New test.
2702 * testsuite/libgomp.c++/pr66199-8.C: New test.
2703 * testsuite/libgomp.c++/pr66199-9.C: New test.
2704 * testsuite/libgomp.c++/reduction-11.C: New test.
2705 * testsuite/libgomp.c++/reduction-12.C: New test.
2706 * testsuite/libgomp.c++/target-13.C: New test.
2707 * testsuite/libgomp.c++/target-14.C: New test.
2708 * testsuite/libgomp.c++/target-15.C: New test.
2709 * testsuite/libgomp.c++/target-16.C: New test.
2710 * testsuite/libgomp.c++/target-17.C: New test.
2711 * testsuite/libgomp.c++/target-18.C: New test.
2712 * testsuite/libgomp.c++/target-19.C: New test.
2713
ccc8282b
NS
27142015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2715
2716 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2717 and reduction copy.
2718 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2719 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2720 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2721 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2722 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2723 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2724 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2725 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2726 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2727 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2728 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2729 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2730 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2731 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2732
5d6823a2
NS
27332015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2734
2735 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2736 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2737 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2738 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2739 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2740 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2741 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2742 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2743
5c06742f
NS
27442015-11-03 Nathan Sidwell <nathan@codesourcery.com>
2745
2746 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2747 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2748 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2749 * oacc-host.c (host_openacc_exec): Likewise.
2750 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2751
4bf9e5a8
TS
27522015-11-03 Julian Brown <julian@codesourcery.com>
2753 Thomas Schwinge <thomas@codesourcery.com>
2754
2755 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2756 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2757 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2758 Likewise.
2759 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2760 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2761
27622015-11-03 James Norris <jnorris@codesourcery.com>
2763
2764 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2765 file.
2766 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2767 Likewise.
2768 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2770 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2771 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2772 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2773
a0e701d8
NS
27742015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2775
2776 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2777 compatibility.
2778 (enum acc_async_t): Reformat.
2779 (acc_on_device): Declare compatible with builtin and provide C++
2780 wrapper.
2781 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2782
41e977ac
TS
27832015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2784 Cesar Philippidis <cesar@codesourcery.com>
2785
2786 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2787 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2788 ... this. Add a description of the test at the top of the file.
2789 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2790 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2791 ... this. Add a description of the test at the top of the file.
2792
e3091406
NS
27932015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2794
2795 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2796 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2797 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2798 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2799 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2800 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2801
a1c1908b
NS
28022015-10-27 Nathan Sidwell <nathan@codesourcery.com>
2803
2804 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2805 dimensions.
2806
b3962a4a
TS
28072015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2808
2809 PR testsuite/68063
2810 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2811
88bae6f4
TS
28122015-10-27 James Norris <jnorris@codesourcery.com>
2813
2814 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2815 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2816
8baa7864
TS
28172015-10-26 Thomas Schwinge <thomas@codesourcery.com>
2818
bdeb752c
TS
2819 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2820 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2821
ecd4fd43
TS
2822 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2823 acc_device_nvidia usage.
2824 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2825 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2826 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2827
aa8b7d30
TS
2828 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2829 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2830
7c8f138d
TS
2831 PR libgomp/66518
2832 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2833
8baa7864
TS
2834 PR libgomp/65437
2835 PR libgomp/66518
2836 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2837 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2838
88ebcde5
TV
28392015-10-23 Tom de Vries <tom@codesourcery.com>
2840
2841 PR testsuite/68063
2842 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2843
9ef83c04
NS
28442015-10-20 Nathan Sidwell <nathan@codesourcery.com>
2845
2846 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
2847 vector_length.
2848 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2849
3837c6d6
IV
28502015-10-14 Ilya Verbin <ilya.verbin@intel.com>
2851 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
2852
2853 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
2854 to 0 when mapnum is 0.
2855
ac8a1965
SH
28562015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2857
2858 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
2859 Cast to int from int32_t.
2860
d9a6bd32
JJ
28612015-10-13 Jakub Jelinek <jakub@redhat.com>
2862 Aldy Hernandez <aldyh@redhat.com>
2863 Ilya Verbin <ilya.verbin@intel.com>
2864
2865 * config/linux/affinity.c (omp_get_place_num_procs,
2866 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2867 * config/linux/doacross.h: New file.
2868 * config/posix/affinity.c (omp_get_place_num_procs,
2869 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2870 * config/posix/doacross.h: New file.
2871 * env.c: Include gomp-constants.h.
2872 (struct gomp_task_icv): Rename run_sched_modifier to
2873 run_sched_chunk_size.
2874 (gomp_max_task_priority_var): New variable.
2875 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
2876 (handle_omp_display_env): Change _OPENMP value from 201307 to
2877 201511. Print OMP_MAX_TASK_PRIORITY.
2878 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
2879 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
2880 chunk_size and run_sched_modifier to run_sched_chunk_size.
2881 (omp_get_max_task_priority, omp_get_initial_device,
2882 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
2883 omp_get_partition_place_nums): New functions.
2884 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
2885 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
2886 to chunk_size.
2887 (omp_get_num_places_, omp_get_place_num_procs_,
2888 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
2889 omp_get_place_proc_ids_8_, omp_get_place_num_,
2890 omp_get_partition_num_places_, omp_get_partition_place_nums_,
2891 omp_get_partition_place_nums_8_, omp_get_initial_device_,
2892 omp_get_max_task_priority_): New functions.
2893 * libgomp_g.h (GOMP_loop_doacross_static_start,
2894 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
2895 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
2896 GOMP_loop_ull_doacross_dynamic_start,
2897 GOMP_loop_ull_doacross_guided_start,
2898 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
2899 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
2900 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
2901 GOMP_target_data_41, GOMP_target_update_41,
2902 GOMP_target_enter_exit_data): New prototypes.
2903 (GOMP_task): Add prototype argument.
2904 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
2905 (struct gomp_doacross_work_share): New type.
2906 (struct gomp_work_share): Add doacross field.
2907 (struct gomp_task_icv): Rename run_sched_modifier to
2908 run_sched_chunk_size.
2909 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
2910 GOMP_TASK_UNDEFERRED. Add comments.
2911 (struct gomp_task_depend_entry): Add comments.
2912 (struct gomp_task): Likewise.
2913 (struct gomp_taskgroup): Likewise.
2914 (struct gomp_target_task): New type.
2915 (struct gomp_team): Add comment.
2916 (gomp_get_place_proc_ids_8, gomp_doacross_init,
2917 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
2918 gomp_create_target_task, gomp_target_task_fn): New prototypes.
2919 (struct target_var_desc): New type.
2920 (struct target_mem_desc): Adjust comment. Use struct
2921 target_var_desc instead of splay_tree_key for list.
2922 (REFCOUNT_INFINITY): Define.
2923 (struct splay_tree_key_s): Remove copy_from field.
2924 (struct gomp_device_descr): Add dev2dev_func field.
2925 (enum gomp_map_vars_kind): New enum.
2926 (gomp_map_vars): Add one argument.
2927 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
2928 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
2929 omp_get_place_num_procs, omp_get_place_num_procs_,
2930 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
2931 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
2932 omp_get_place_num_, omp_get_partition_num_places,
2933 omp_get_partition_num_places_, omp_get_partition_place_nums,
2934 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
2935 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
2936 omp_target_free, omp_target_is_present, omp_target_memcpy,
2937 omp_target_memcpy_rect, omp_target_associate_ptr and
2938 omp_target_disassociate_ptr.
2939 (GOMP_4.0.2): Renamed to ...
2940 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
2941 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
2942 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
2943 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2944 GOMP_loop_doacross_static_start, GOMP_doacross_post,
2945 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
2946 GOMP_loop_ull_doacross_guided_start,
2947 GOMP_loop_ull_doacross_runtime_start,
2948 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
2949 GOMP_doacross_ull_wait.
2950 * libgomp.texi: Document omp_get_max_task_priority.
2951 Rename modifier argument to chunk_size for omp_set_schedule and
2952 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
2953 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
2954 to run_sched_chunk_size renaming.
2955 (GOMP_loop_ordered_runtime_start): Likewise.
2956 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2957 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2958 GOMP_parallel_loop_runtime_start): New functions.
2959 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
2960 to run_sched_chunk_size renaming.
2961 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
2962 GOMP_loop_doacross_guided_start): New functions or aliases.
2963 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
2964 run_sched_modifier to run_sched_chunk_size renaming.
2965 (GOMP_loop_ull_ordered_runtime_start): Likewise.
2966 (gomp_loop_ull_doacross_static_start,
2967 gomp_loop_ull_doacross_dynamic_start,
2968 gomp_loop_ull_doacross_guided_start,
2969 GOMP_loop_ull_doacross_runtime_start): New functions.
2970 (GOMP_loop_ull_doacross_static_start,
2971 GOMP_loop_ull_doacross_dynamic_start,
2972 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
2973 * oacc-mem.c (acc_map_data, present_create_copy,
2974 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
2975 to gomp_map_vars.
2976 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
2977 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
2978 instead of false to gomp_map_vars.
2979 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
2980 * omp.h.in (omp_lock_hint_t): New type.
2981 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2982 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2983 omp_get_place_num, omp_get_partition_num_places,
2984 omp_get_partition_place_nums, omp_get_initial_device,
2985 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
2986 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
2987 omp_target_associate_ptr, omp_target_disassociate_ptr): New
2988 prototypes.
2989 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
2990 (omp_lock_hint_none, omp_lock_hint_uncontended,
2991 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2992 omp_lock_hint_speculative): New parameters.
2993 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2994 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2995 omp_get_place_num, omp_get_partition_num_places,
2996 omp_get_partition_place_nums, omp_get_initial_device,
2997 omp_get_max_task_priority): New interfaces.
2998 (omp_set_schedule, omp_get_schedule): Rename modifier argument
2999 to chunk_size.
3000 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
3001 (omp_lock_hint_none, omp_lock_hint_uncontended,
3002 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3003 omp_lock_hint_speculative): New parameters.
3004 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3005 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3006 omp_get_place_num, omp_get_partition_num_places,
3007 omp_get_partition_place_nums, omp_get_initial_device,
3008 omp_get_max_task_priority): New functions and subroutines.
3009 * ordered.c: Include stdarg.h and string.h.
3010 (MAX_COLLAPSED_BITS): Define.
3011 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
3012 gomp_doacross_ull_init, GOMP_doacross_ull_post,
3013 GOMP_doacross_ull_wait): New functions.
3014 * target.c: Include errno.h.
3015 (resolve_device): If device is not initialized, call
3016 gomp_init_device on it.
3017 (gomp_map_lookup): New function.
3018 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
3019 Don't bump refcount if REFCOUNT_INFINITY. Handle
3020 GOMP_MAP_ALWAYS_TO_P.
3021 (get_kind): Rename is_openacc argument to short_mapkind.
3022 (gomp_map_pointer): Use gomp_map_lookup.
3023 (gomp_map_fields_existing): New function.
3024 (gomp_map_vars): Rename is_openacc argument to short_mapkind
3025 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
3026 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
3027 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
3028 Adjust for tgt->list changed type and copy_from living in there.
3029 (gomp_copy_from_async): Adjust for tgt->list changed type and
3030 copy_from living in there.
3031 (gomp_unmap_vars): Likewise.
3032 (gomp_update): Likewise. Rename is_openacc argument to
3033 short_mapkind. Don't fail if object is not mapped.
3034 (gomp_load_image_to_device): Initialize refcount to
3035 REFCOUNT_INFINITY.
3036 (gomp_target_fallback): New function.
3037 (gomp_get_target_fn_addr): Likewise.
3038 (GOMP_target): Adjust gomp_map_vars caller, use
3039 gomp_get_target_fn_addr and gomp_target_fallback.
3040 (GOMP_target_41): New function.
3041 (gomp_target_data_fallback): New function.
3042 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
3043 (GOMP_target_data_41): New function.
3044 (GOMP_target_update): Adjust gomp_update caller.
3045 (GOMP_target_update_41): New function.
3046 (gomp_exit_data, GOMP_target_enter_exit_data,
3047 gomp_target_task_fn, omp_target_alloc, omp_target_free,
3048 omp_target_is_present, omp_target_memcpy,
3049 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
3050 omp_target_associate_ptr, omp_target_disassociate_ptr,
3051 gomp_load_plugin_for_device): New functions.
3052 * task.c: Include gomp-constants.h. Include taskloop.c
3053 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
3054 (gomp_task_handle_depend): New function.
3055 (GOMP_task): Use it. Add priority argument. Use
3056 gomp-constant.h constants instead of hardcoded numbers.
3057 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
3058 (gomp_create_target_task): New function.
3059 (verify_children_queue, verify_taskgroup_queue,
3060 verify_task_queue): New functions.
3061 (gomp_task_run_pre): Call verify_*_queue functions.
3062 If an upcoming tied task is about to leave the sibling or
3063 taskgroup queues in an invalid state, adjust appropriately.
3064 Remove taskgroup argument. Add comments.
3065 (gomp_task_run_post_handle_dependers): Add comments.
3066 (gomp_task_run_post_remove_parent): Likewise.
3067 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
3068 (GOMP_taskwait): Likewise. Add comments.
3069 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
3070 problem such that the first non parent_depends_on task does not
3071 end up at the end of the children queue.
3072 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
3073 GOMP_TASK_UNDEFERRED.
3074 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
3075 * taskloop.c: New file.
3076 * testsuite/lib/libgomp.exp
3077 (check_effective_target_offload_device_nonshared_as): New proc.
3078 * testsuite/libgomp.c/affinity-2.c: New test.
3079 * testsuite/libgomp.c/doacross-1.c: New test.
3080 * testsuite/libgomp.c/doacross-2.c: New test.
3081 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
3082 Add map clause to target.
3083 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
3084 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
3085 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
3086 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
3087 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
3088 Likewise.
3089 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
3090 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
3091 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
3092 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
3093 not defined. Use those where needed.
3094 * testsuite/libgomp.c/for-4.c: New test.
3095 * testsuite/libgomp.c/for-5.c: New test.
3096 * testsuite/libgomp.c/for-6.c: New test.
3097 * testsuite/libgomp.c/linear-1.c: New test.
3098 * testsuite/libgomp.c/ordered-4.c: New test.
3099 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
3100 only allowed on the loop iterator.
3101 * testsuite/libgomp.c/pr66199-3.c: New test.
3102 * testsuite/libgomp.c/pr66199-4.c: New test.
3103 * testsuite/libgomp.c/reduction-7.c: New test.
3104 * testsuite/libgomp.c/reduction-8.c: New test.
3105 * testsuite/libgomp.c/reduction-9.c: New test.
3106 * testsuite/libgomp.c/reduction-10.c: New test.
3107 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
3108 map(tofrom:s).
3109 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
3110 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
3111 * testsuite/libgomp.c/target-11.c: New test.
3112 * testsuite/libgomp.c/target-12.c: New test.
3113 * testsuite/libgomp.c/target-13.c: New test.
3114 * testsuite/libgomp.c/target-14.c: New test.
3115 * testsuite/libgomp.c/target-15.c: New test.
3116 * testsuite/libgomp.c/target-16.c: New test.
3117 * testsuite/libgomp.c/target-17.c: New test.
3118 * testsuite/libgomp.c/target-18.c: New test.
3119 * testsuite/libgomp.c/target-19.c: New test.
3120 * testsuite/libgomp.c/target-20.c: New test.
3121 * testsuite/libgomp.c/target-21.c: New test.
3122 * testsuite/libgomp.c/target-22.c: New test.
3123 * testsuite/libgomp.c/target-23.c: New test.
3124 * testsuite/libgomp.c/target-24.c: New test.
3125 * testsuite/libgomp.c/target-25.c: New test.
3126 * testsuite/libgomp.c/target-26.c: New test.
3127 * testsuite/libgomp.c/target-27.c: New test.
3128 * testsuite/libgomp.c/taskloop-1.c: New test.
3129 * testsuite/libgomp.c/taskloop-2.c: New test.
3130 * testsuite/libgomp.c/taskloop-3.c: New test.
3131 * testsuite/libgomp.c/taskloop-4.c: New test.
3132 * testsuite/libgomp.c++/ctor-13.C: New test.
3133 * testsuite/libgomp.c++/doacross-1.C: New test.
3134 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
3135 Replace offload_device with offload_device_nonshared_as.
3136 * testsuite/libgomp.c++/for-12.C: New test.
3137 * testsuite/libgomp.c++/for-13.C: New test.
3138 * testsuite/libgomp.c++/for-14.C: New test.
3139 * testsuite/libgomp.c++/linear-1.C: New test.
3140 * testsuite/libgomp.c++/member-1.C: New test.
3141 * testsuite/libgomp.c++/member-2.C: New test.
3142 * testsuite/libgomp.c++/member-3.C: New test.
3143 * testsuite/libgomp.c++/member-4.C: New test.
3144 * testsuite/libgomp.c++/member-5.C: New test.
3145 * testsuite/libgomp.c++/ordered-1.C: New test.
3146 * testsuite/libgomp.c++/reduction-5.C: New test.
3147 * testsuite/libgomp.c++/reduction-6.C: New test.
3148 * testsuite/libgomp.c++/reduction-7.C: New test.
3149 * testsuite/libgomp.c++/reduction-8.C: New test.
3150 * testsuite/libgomp.c++/reduction-9.C: New test.
3151 * testsuite/libgomp.c++/reduction-10.C: New test.
3152 * testsuite/libgomp.c++/reference-1.C: New test.
3153 * testsuite/libgomp.c++/simd14.C: New test.
3154 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
3155 * testsuite/libgomp.c++/target-5.C: New test.
3156 * testsuite/libgomp.c++/target-6.C: New test.
3157 * testsuite/libgomp.c++/target-7.C: New test.
3158 * testsuite/libgomp.c++/target-8.C: New test.
3159 * testsuite/libgomp.c++/target-9.C: New test.
3160 * testsuite/libgomp.c++/target-10.C: New test.
3161 * testsuite/libgomp.c++/target-11.C: New test.
3162 * testsuite/libgomp.c++/target-12.C: New test.
3163 * testsuite/libgomp.c++/taskloop-1.C: New test.
3164 * testsuite/libgomp.c++/taskloop-2.C: New test.
3165 * testsuite/libgomp.c++/taskloop-3.C: New test.
3166 * testsuite/libgomp.c++/taskloop-4.C: New test.
3167 * testsuite/libgomp.c++/taskloop-5.C: New test.
3168 * testsuite/libgomp.c++/taskloop-6.C: New test.
3169 * testsuite/libgomp.c++/taskloop-7.C: New test.
3170 * testsuite/libgomp.c++/taskloop-8.C: New test.
3171 * testsuite/libgomp.c++/taskloop-9.C: New test.
3172 * testsuite/libgomp.fortran/affinity1.f90: New test.
3173 * testsuite/libgomp.fortran/affinity2.f90: New test.
3174
1f600fea
TV
31752015-10-13 Tom de Vries <tom@codesourcery.com>
3176
3177 PR tree-optimization/67476
3178 * testsuite/libgomp.c/autopar-3.c: New test.
3179 * testsuite/libgomp.c/autopar-4.c: New test.
3180 * testsuite/libgomp.c/autopar-5.c: New test.
3181 * testsuite/libgomp.c/autopar-6.c: New test.
3182 * testsuite/libgomp.c/autopar-7.c: New test.
3183 * testsuite/libgomp.c/autopar-8.c: New test.
3184
058a654b
JN
31852015-10-12 James Norris <jnorris@codesourcery.com>
3186
3187 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
3188 initializer.
3189
9e531d37
DM
31902015-10-09 David Malcolm <dmalcolm@redhat.com>
3191
3192 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
3193 using load_gcc_lib.
3194
113020dc
TS
31952015-10-02 Thomas Schwinge <thomas@codesourcery.com>
3196
3197 * oacc-ptx.h: Remove file, moving its content into...
3198 * config/nvptx/fortran.c: ... here...
3199 * config/nvptx/oacc-init.c: ..., here...
3200 * config/nvptx/oacc-parallel.c: ..., and here.
3201 * config/nvptx/openacc.f90: New file.
3202 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
3203 (link_ptx): Don't link in predefined bits of PTX code.
3204
cc3cd79b
NS
32052015-09-30 Nathan Sidwell <nathan@codesourcery.com>
3206 Bernd Schmidt <bernds@codesourcery.com>
3207
3208 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
3209 (struct targ_ptx_obj): New.
3210 (nvptx_tdata): Move earlier, change data format.
3211 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
3212 objects.
3213 (GOMP_OFFLOAD_load_image): Adjust.
3214
4e2a5450
TS
32152015-09-30 Thomas Schwinge <thomas@codesourcery.com>
3216
3217 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
3218 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3219 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3220 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3221 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3222 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3223 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3224 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3225 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3226 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3227 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3228 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3229 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3230 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3231 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3232 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3233 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3234 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3235 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3236 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3237 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3238 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3239 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3240 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3241 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3242 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3243 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3244 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3245 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3246 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3247 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3248 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3249 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3250 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3251 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3252 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3253 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3254 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3255 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3256 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3257 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3258 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3259 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3260 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3261 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3262 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3263 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3264 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3265 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3266 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3267 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3268 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3269 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3270 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3271 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3272 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3273 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3274 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3275 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3276 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3277 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3278 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3279 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3280
164453bb
NS
32812015-09-29 Nathan Sidwell <nathan@codesourcery.com>
3282
3283 * oacc-init.c (acc_on_device): Force optimization level.
3284
a12a0437
NS
32852015-09-29 Nathan Sidwell <nathan@codesourcery.com>
3286
3287 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
3288 (cuda_errlist): Delete.
3289 (cuda_error): Reimplement.
3290
3e32ee19
NS
32912015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3292
3293 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
3294 array.
3295 * libgomp.map (GOACC_parallel_keyed): New.
3296 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
3297 all callers.
3298 (GOACC_parallel_keyed): New interface. Lose geometry arguments
3299 and take keyed varargs list. Adjust call to exec_func.
3300 (GOACC_parallel): Force host fallback.
3301 * libgomp_g.h (GOACC_parallel): Remove.
3302 (GOACC_parallel_keyed): Declare.
3303 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
3304 (stuct targ_gn_descriptor): Replace name field with launch field.
3305 (nvptx_exec): Lose separate geometry args, take array. Process
3306 dynamic dimensions and adjust.
3307 (struct nvptx_tdata): Replace fn_names field with fn_descs.
3308 (GOMP_OFFLOAD_load_image): Adjust for change in function table
3309 data.
3310 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
3311 passing.
3312 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
3313 passing.
3314
6bb4c3e2
CLT
33152015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
3316
3317 PR libgomp/67141
3318 * oacc-int.h (goacc_host_init): Add declaration.
3319 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
3320 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
3321
74032f47 33222015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 3323 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
3324
3325 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
3326 match o/p.
3327 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
3328 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
3329 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
3330 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
3331 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3332
97875f4a
JJ
33332015-09-03 Jakub Jelinek <jakub@redhat.com>
3334
3335 * configure.tgt: Add missing ;; in between nvptx and rtems
3336 snippets.
3337
06441dd5
SH
33382015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3339
3340 * config/posix/pool.h (gomp_adjust_thread_attr): New.
3341 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
3342 (gomp_thread_pool_reservoir): Add priority member.
3343 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
3344 priority.
3345 (parse_thread_pools): Likewise.
3346 * team.c (gomp_team_start): Call configuration provided
3347 gomp_adjust_thread_attr(). Destroy thread attributes if
3348 necessary.
3349 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
3350
66c59f92
SH
33512015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3352
3353 * config/posix/pool.h: New.
3354 * config/rtems/pool.h: Likewise.
3355 * config/rtems/proc.c: Likewise.
3356 * libgomp.h (gomp_thread_destructor): Declare.
3357 * team.c: Include configuration provided "pool.h".
3358 (gomp_get_thread_pool): Define in configuration.
3359 (gomp_team_end): Call configuration defined
3360 gomp_release_thread_pool().
3361
13c41b2e
SH
33622015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3363
3364 * config/rtems/bar.c: New.
3365 * config/rtems/bar.h: Likewise.
3366 * config/rtems/mutex.c: Likewise.
3367 * config/rtems/mutex.h: Likewise.
3368 * config/rtems/sem.c: Likewise.
3369 * config/rtems/sem.h: Likewise.
3370 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
3371 <sys/lock.h> header file.
3372 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
3373 supported by Newlib.
3374 * configure: Regenerate.
3375
7892ec67
SH
33762015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
3377
3378 * team.c (gomp_new_thread_pool): Delete and move content to ...
3379 (gomp_get_thread_pool): ... new function. Allocate and
3380 initialize thread pool on demand.
3381 (get_last_team): Use gomp_get_thread_pool().
3382 (gomp_team_start): Delete thread pool initialization.
3383
1b96e9a4
TV
33842015-09-03 Tom de Vries <tom@codesourcery.com>
3385
3386 PR tree-optimization/65637
3387 * testsuite/libgomp.c/autopar-2.c: New test.
3388
3ff2d74e
TV
33892015-08-29 Tom de Vries <tom@codesourcery.com>
3390
3391 PR tree-optimization/46193
3392 * testsuite/libgomp.c/pr46193.c: New test.
3393
2a21ff19
NS
33942015-08-24 Nathan Sidwell <nathan@codesourcery.com>
3395
3396 libgomp/
3397 * libgomp.map: Add 4.0.2 version.
3398 * target.c (offload_image_descr): Add version field.
3399 (gomp_load_image_to_device): Add version argument. Adjust plugin
3400 call. Improve load mismatch diagnostic.
3401 (gomp_unload_image_from_device): Add version argument. Adjust plugin
3402 call.
3403 (GOMP_offload_regster): Make stub function, move bulk to ...
3404 (GOMP_offload_register_ver): ... here. Process version argument.
3405 (GOMP_offload_unregister): Make stub function, move bulk to ...
3406 (GOMP_offload_unregister_ver): ... here. Process version argument.
3407 (gomp_init_device): Process version field.
3408 (gomp_unload_device): Process version field.
3409 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
3410 macros. Check plugin version.
3411 * libgomp.h (gomp_device_descr): Add version function field. Adjust
3412 loader and unloader types.
3413 * oacc-host.c: Include gomp-constants.h.
3414 (host_version): New.
3415 (host_load_image, host_unload_image): Adjust.
3416 (host_dispatch): Add host_version.
3417 * plugin/plugin-nvptx.c: Include gomp-constants.h.
3418 (GOMP_OFFLOAD_version): New.
3419 (GOMP_OFFLOAD_load_image): Add version arg and check it.
3420 (GOMP_OFFLOAD_unload_image): Likewise.
3421 * plugin/plugin-host.c: Include gomp-constants.h.
3422 (GOMP_OFFLOAD_version): New.
3423 (GOMP_OFFLOAD_load_image): Add version arg.
3424 (GOMP_OFFLOAD_unload_image): Likewise.
3425
1358a747
TV
34262015-08-24 Tom de Vries <tom@codesourcery.com>
3427
3428 PR tree-optimization/65468
3429 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
3430
6be5c241
TV
34312015-08-24 Tom de Vries <tom@codesourcery.com>
3432
3433 PR tree-optimization/65468
3434 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
3435
bfe7ac89
JV
34362015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
3437
3438 PR libgomp/66761
3439 PR libgomp/67303
3440 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
3441 (gomp_iter_guided_next): Idem.
3442 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
3443 (gomp_iter_ull_guided_next): Idem.
3444 * config/linux/wait.h (do_spin): Idem.
3445
b97e78b7
TS
34462015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3447
3448 * libgomp-plugin.h (enum offload_target_type): Remove
3449 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
3450 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
3451 * openacc.h (enum acc_device_t): Likewise.
3452 * openacc_lib.h: Likewise.
3453 * oacc-init.c (name_of_acc_device_t): Don't handle it.
3454 (acc_on_device): Just use __builtin_acc_on_device.
3455 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
3456 of acc_on_device builtin.
3457 * plugin/plugin-host.h: Remove file.
3458 * plugin/plugin-host.c: Likewise, but salvage some content into...
3459 * oacc-host.c: ... this file.
3460 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
3461 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
3462 * Makefile.in: Regenerate.
3463 * configure: Likewise.
3464 * testsuite/lib/libgomp.exp
3465 (check_effective_target_openacc_host_nonshm_selected): Remove.
3466 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
3467 ACC_DEVICE_TYPE=host_nonshm.
3468 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3469 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3470 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3471 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3472 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3473 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3474
44a7d18d
TS
34752015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3476 Jakub Jelinek <jakub@redhat.com>
3477
3478 * config/nvptx/affinity.c: New file.
3479 * config/nvptx/alloc.c: Likewise.
3480 * config/nvptx/bar.c: Likewise.
3481 * config/nvptx/barrier.c: Likewise.
3482 * config/nvptx/critical.c: Likewise.
3483 * config/nvptx/env.c: Likewise.
3484 * config/nvptx/error.c: Likewise.
3485 * config/nvptx/fortran.c: Likewise.
3486 * config/nvptx/iter.c: Likewise.
3487 * config/nvptx/iter_ull.c: Likewise.
3488 * config/nvptx/libgomp-plugin.c: Likewise.
3489 * config/nvptx/lock.c: Likewise.
3490 * config/nvptx/loop.c: Likewise.
3491 * config/nvptx/loop_ull.c: Likewise.
3492 * config/nvptx/mutex.c: Likewise.
3493 * config/nvptx/oacc-async.c: Likewise.
3494 * config/nvptx/oacc-cuda.c: Likewise.
3495 * config/nvptx/oacc-host.c: Likewise.
3496 * config/nvptx/oacc-init.c: Likewise.
3497 * config/nvptx/oacc-mem.c: Likewise.
3498 * config/nvptx/oacc-parallel.c: Likewise.
3499 * config/nvptx/oacc-plugin.c: Likewise.
3500 * config/nvptx/omp-lock.h: Likewise.
3501 * config/nvptx/ordered.c: Likewise.
3502 * config/nvptx/parallel.c: Likewise.
3503 * config/nvptx/proc.c: Likewise.
3504 * config/nvptx/ptrlock.c: Likewise.
3505 * config/nvptx/sections.c: Likewise.
3506 * config/nvptx/sem.c: Likewise.
3507 * config/nvptx/single.c: Likewise.
3508 * config/nvptx/splay-tree.c: Likewise.
3509 * config/nvptx/target.c: Likewise.
3510 * config/nvptx/task.c: Likewise.
3511 * config/nvptx/team.c: Likewise.
3512 * config/nvptx/time.c: Likewise.
3513 * config/nvptx/work.c: Likewise.
3514 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
3515 * configure: Regenerate.
3516 * configure.tgt (config_path): Set to "nvptx" for target
3517 nvptx*-*-*.
3518
96a2d174
TS
35192015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3520
3521 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
3522
9ebddeb0
NS
35232015-08-03 Nathan Sidwell <nathan@codesourcery.com>
3524
3525 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
3526 (cuda_errlist): Constify.
3527 (errmsg): Move into ...
3528 (cuda_error): ... here. Make smaller.
3529 (_XSTR, _STR): Delete.
3530 (cuda_synames): Delete.
3531 (verify_device_library): Delete.
3532 (nvptx_init): Don't call it.
3533
12efb1d7
TV
35342015-07-28 Tom de Vries <tom@codesourcery.com>
3535
3536 * testsuite/libgomp.c/uns-outer-4.c: New test.
3537
710ee218
CP
35382015-07-24 Cesar Philippidis <cesar@codesourcery.com>
3539
3540 * testsuite/libgomp.c/pr66714.c: New test.
3541
27c4ac7d
MB
35422015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
3543
3544 PR libgomp/66950
3545 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
3546 (fib_ref): New function.
3547 (fib): Correct corner cases in the recursion.
3548 (main): Replace the non-simd loop with fib_ref call.
3549 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
3550 subroutine.
3551 (fibonacci): Lower the parameter N to 30. Correct accordingly check
3552 for the last array element value. Replace the non-simd loop with
3553 fib_ref call. Remove redundant b_ref array. Remove the comparison
3554 of the last array element with according Fibonacci sequence element.
3555 (fib): Correct corner cases in the recursion.
3556
22be2349
NS
35572015-07-21 Nathan Sidwell <nathan@codesourcery.com>
3558
3559 * target.c (gomp_offload_image_to_device): Rename to ...
3560 (gomp_load_image_to_device): ... here.
3561 (GOMP_offload_register): Adjust call.
3562 (gomp_init_device): Likewise.
3563 (gomp_unload_image_from_device): New. Broken out of ...
3564 (GOMP_offload_unregister): ... here. Call it.
3565 (gomp_unload_device): New.
3566 * libgomp.h (gomp_unload_device): Declare.
3567 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
3568 mem maps.
3569
f3e9a059
NS
35702015-07-20 Nathan Sidwell <nathan@codesourcery.com>
3571
a091118d
NS
3572 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
3573 wait=-specific if.
3574 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
3575 !=0 condition.
3576 (goacc_waits): Move !num_waits handling to ...
3577 (GOACC_wait): ... here, the only caller that might have zero waits.
3578
f3e9a059
NS
3579 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
3580 (struct ptx_image_data): Move earlier, add fns field.
3581 (struct ptx_device): Add images and image_lock fields.
3582 (ptx_images, ptx_image_lock): Delete.
3583 (nvptx_open_device): Initialize images and image_lock fields.
3584 (nvptx_close_device): Destroy image_lock.
3585 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
3586 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
3587 fields.
3588
afb2d80b
NS
35892015-07-17 Nathan Sidwell <nathan@codesourcery.com>
3590
896c28a7
NS
3591 * target.c (GOMP_offload_register): Use int for device type arg.
3592 (GOMP_offload_unregister): Likewise.
3593
ebe4a560
NS
3594 * target.c (struct_offload_image_descr): Constify host_table.
3595 (gomp_offload_image_to_device): Likewise.
3596 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
3597
afb2d80b
NS
3598 * libgomp.h (gomp_device_descr): Constify target data arguments.
3599 * target.c (struct offload_image_descr): Constify target_data.
3600 (gomp_offload_image_to_device): Likewise.
3601 (GOMP_offload_register): Likewise.
3602 (GOMP_offload_unrefister): Likewise.
3603 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
3604 GOMP_OFFLOAD_unload_image): Constify target data.
3605 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
3606 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
3607
a4cb876d
NS
36082015-07-16 Nathan Sidwell <nathan@codesourcery.com>
3609
3610 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
3611 Workaround driver library const error.
3612 (struct nvptx_tdata, nvptx_tdata_t): New.
3613 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
3614 type.
3615
28ef6a27
MB
36162015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
3617
3618 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
3619 of EPS parameter from integer to real.
3620 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
3621 type of EPS parameter from integer to real.
3622
6dba0113
SH
36232015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3624
3625 * team.c (get_last_team): New.
3626 (gomp_new_team): Recycle last non-nested team if possible.
3627 (gomp_team_end): Move team work share list free lock destruction
3628 to ...
3629 (free_team): ... here.
3630
4c1cb4da
MB
36312015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
3632
3633 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3634 and ref from int to double. Replaced their comparison with
3635 an inequality of their difference and EPS.
3636 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3637 comparison of pri and a reference number with an inequality of their
3638 difference and EPS.
3639 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3640 the comparison of sum and sum_ref with an inequality of their
3641 difference and EPS.
3642 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3643 the comparison of pri and a reference number with an inequality of
3644 their difference and EPS.
3645
343587dc
MB
36462015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
3647
3648 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3649 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3650 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3651 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3652 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3653 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3654 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3655 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3656 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3657 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3658 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3659 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3660 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3661 variables.
3662 (vec_mult): Likewise. Add #pragma omp taskwait.
3663 (main): Adjust caller.
3664 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3665 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3666 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3667 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3668 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3669 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3670 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3671 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3672 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3673 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3674 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3675 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3676 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3677 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3678 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3679 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3680 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3681 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3682 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3683 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3684 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3685 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3686 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3687 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3688 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3689 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3690 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3691 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3692 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3693 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3694 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3695 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3696 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3697 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3698 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3699 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3700 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3701 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3702 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3703 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3704 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3705 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3706 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3707 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3708 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3709 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3710 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3711 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3712 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3713 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3714 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3715 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3716 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3717 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3718 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3719 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3720 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3721 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3722 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3723 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3724 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3725 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3726 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3727 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3728 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3729 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3730 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3731 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3732 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3733 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3734 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3735 (vec_mult): Add !$omp taskwait.
3736 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3737 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3738 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3739 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3740 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3741 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3742 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3743 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3744 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3745 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3746 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3747 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3748 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3749 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3750 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3751 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3752 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3753 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3754 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3755 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3756 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3757 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3758 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3759 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3760 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3761 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3762 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3763 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3764 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3765 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3766 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3767 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3768 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3769 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3770 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3771 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3772 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3773 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3774 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3775 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3776 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3777 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3778 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3779 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3780 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3781 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3782 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3783 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3784 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3785 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3786 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3787 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3788 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3789 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3790 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3791 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3792 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3793 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3794 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3795 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3796 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3797 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3798 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3799 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3800 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3801 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3802 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3803
9f620bf1
TV
38042015-07-10 Tom de Vries <tom@codesourcery.com>
3805
3806 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3807 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3808
a92defda
TS
38092015-07-08 Thomas Schwinge <thomas@codesourcery.com>
3810
3811 PR libgomp/65099
3812 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3813 in a 64-bit configuration.
3814 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3815 offloading testing if no such device is available.
3816 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3817 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3818
cadb53a5
TV
38192015-07-08 Tom de Vries <tom@codesourcery.com>
3820
3821 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3822 second call to f.
3823 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3824
712cb0bb
TV
38252015-07-07 Tom de Vries <tom@codesourcery.com>
3826
3827 PR tree-optimization/66642
3828 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3829 iteration count case.
3830 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3831 function, factor out of ...
3832 (main): ... here. Test low iteration count case.
3833
e5210c77
SH
38342015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
3835
3836 * libgomp.h (gomp_thread_pool): Comment last_team field.
3837
f70360e7
UB
38382015-07-02 Uros Bizjak <ubizjak@gmail.com>
3839
3840 * testsuite/libgomp.c++/pr66702-1.C: Require
3841 vect_simd_clones effective target.
3842 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3843
b451c271
TV
38442015-06-30 Tom de Vries <tom@codesourcery.com>
3845
3846 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3847 already set. Use DEFAULT_CFLAGS in dg-runtest.
3848 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
3849 "-O2".
3850
f8e89d9f
TV
38512015-06-30 Tom de Vries <tom@codesourcery.com>
3852
3853 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3854 already set. Use DEFAULT_CFLAGS in dg-runtest.
3855 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
3856 * testsuite/libgomp.c++/pr64824.C: Same.
3857 * testsuite/libgomp.c++/pr64868.C: Same.
3858 * testsuite/libgomp.c++/pr66199-1.C: Same.
3859 * testsuite/libgomp.c++/pr66199-2.C: Same.
3860 * testsuite/libgomp.c++/target-2.C: Same.
3861 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
3862 -std=<standard> option.
3863 * testsuite/libgomp.c++/udr-11.C: Same.
3864 * testsuite/libgomp.c++/udr-12.C: Same.
3865 * testsuite/libgomp.c++/udr-13.C: Same.
3866 * testsuite/libgomp.c++/udr-14.C: Same.
3867 * testsuite/libgomp.c++/udr-15.C: Same.
3868 * testsuite/libgomp.c++/udr-16.C: Same.
3869 * testsuite/libgomp.c++/udr-17.C: Same.
3870 * testsuite/libgomp.c++/udr-18.C: Same.
3871 * testsuite/libgomp.c++/udr-19.C: Same.
3872 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
3873 * testsuite/libgomp.c++/simd-1.C: Same.
3874 * testsuite/libgomp.c++/simd-2.C: Same.
3875 * testsuite/libgomp.c++/simd-3.C: Same.
3876 * testsuite/libgomp.c++/simd-4.C: Same.
3877 * testsuite/libgomp.c++/simd-5.C: Same.
3878 * testsuite/libgomp.c++/simd-6.C: Same.
3879 * testsuite/libgomp.c++/simd-7.C: Same.
3880 * testsuite/libgomp.c++/simd-8.C: Same.
3881 * testsuite/libgomp.c++/simd-9.C: Same.
3882 * testsuite/libgomp.c++/simd10.C: Same.
3883 * testsuite/libgomp.c++/simd11.C: Same.
3884 * testsuite/libgomp.c++/simd12.C: Same.
3885 * testsuite/libgomp.c++/simd13.C: Same.
3886
3446fe48
JJ
38872015-06-30 Jakub Jelinek <jakub@redhat.com>
3888
3889 PR middle-end/66702
3890 * testsuite/libgomp.c++/pr66702-1.C: New test.
3891 * testsuite/libgomp.c++/pr66702-2.C: New test.
3892
8a36714a
TV
38932015-06-30 Tom de Vries <tom@codesourcery.com>
3894
3895 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
3896 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
3897 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
3898 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
3899
4f75d608
TV
39002015-06-30 Tom de Vries <tom@codesourcery.com>
3901
3902 PR tree-optimization/66652
3903 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
3904 using restrict pointers.
3905 (main): Add arguments to calls to f.
3906 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3907
6d9d1eeb
AT
39082015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
3909
3910 * configure.ac: Fix check for header <sys/sysctl.h>.
3911 * configure: Regenerate.
3912 * config.h.in: Likewise.
3913
1222f22b
TV
39142015-06-23 Tom de Vries <tom@codesourcery.com>
3915
3916 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
3917 abort.
3918 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
3919
d7efbbf6
TS
39202015-06-19 Thomas Schwinge <thomas@codesourcery.com>
3921
bfcd036f
TS
3922 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
3923 acc_device_nvidia.
3924
d7efbbf6
TS
3925 PR libgomp/66518
3926 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
3927 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3928
d7bfc710
TV
39292015-06-15 Tom de Vries <tom@codesourcery.com>
3930
3931 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
3932 dg-additional-options for any remaining options.
3933 * testsuite/libgomp.c/atomic-2.c: Same.
3934 * testsuite/libgomp.c/atomic-4.c: Same.
3935 * testsuite/libgomp.c/atomic-5.c: Same.
3936 * testsuite/libgomp.c/atomic-6.c: Same.
3937 * testsuite/libgomp.c/autopar-1.c: Same.
3938 * testsuite/libgomp.c/copyin-1.c: Same.
3939 * testsuite/libgomp.c/copyin-2.c: Same.
3940 * testsuite/libgomp.c/copyin-3.c: Same.
3941 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
3942 * testsuite/libgomp.c/nestedfn-5.c: Same.
3943 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
3944 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
3945 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
3946 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3947 * testsuite/libgomp.c/pr32362-1.c: Same.
3948 * testsuite/libgomp.c/pr32362-2.c: Same.
3949 * testsuite/libgomp.c/pr32362-3.c: Same.
3950 * testsuite/libgomp.c/pr39591-1.c: Same.
3951 * testsuite/libgomp.c/pr39591-2.c: Same.
3952 * testsuite/libgomp.c/pr39591-3.c: Same.
3953 * testsuite/libgomp.c/pr58392.c: Same.
3954 * testsuite/libgomp.c/pr58756.c: Same.
3955 * testsuite/libgomp.c/simd-1.c: Same.
3956 * testsuite/libgomp.c/simd-10.c: Same.
3957 * testsuite/libgomp.c/simd-11.c: Same.
3958 * testsuite/libgomp.c/simd-12.c: Same.
3959 * testsuite/libgomp.c/simd-13.c: Same.
3960 * testsuite/libgomp.c/simd-14.c: Same.
3961 * testsuite/libgomp.c/simd-15.c: Same.
3962 * testsuite/libgomp.c/simd-2.c: Same.
3963 * testsuite/libgomp.c/simd-3.c: Same.
3964 * testsuite/libgomp.c/simd-4.c: Same.
3965 * testsuite/libgomp.c/simd-5.c: Same.
3966 * testsuite/libgomp.c/simd-6.c: Same.
3967 * testsuite/libgomp.c/simd-7.c: Same.
3968 * testsuite/libgomp.c/simd-8.c: Same.
3969 * testsuite/libgomp.c/simd-9.c: Same.
3970
fb5b5352
TV
39712015-06-15 Tom de Vries <tom@codesourcery.com>
3972
3973 * testsuite/libgomp.c/pr35625.c: Fix typo.
3974
ca431bef
TV
39752015-06-15 Tom de Vries <tom@codesourcery.com>
3976
3977 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
3978 in dg-options.
3979 * testsuite/libgomp.c/atomic-3.c: Same.
3980 * testsuite/libgomp.c/debug-1.c: Same.
3981 * testsuite/libgomp.c/nqueens-1.c: Same.
3982 * testsuite/libgomp.c/pr26171.c: Same.
3983 * testsuite/libgomp.c/pr48591.c: Same.
3984 * testsuite/libgomp.c/pr64824.c: Same.
3985 * testsuite/libgomp.c/pr64868.c: Same.
3986 * testsuite/libgomp.c/pr66133.c: Same.
3987 * testsuite/libgomp.c/pr66199-1.c: Same.
3988 * testsuite/libgomp.c/pr66199-2.c: Same.
3989 * testsuite/libgomp.c/target-8.c: Same.
3990
0d8a9e20
TV
39912015-06-15 Tom de Vries <tom@codesourcery.com>
3992
3993 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
3994 -std={gnu99,c99}.
3995 * testsuite/libgomp.c/for-1.c: Same.
3996 * testsuite/libgomp.c/for-2.c: Same.
3997 * testsuite/libgomp.c/for-3.c: Same.
3998 * testsuite/libgomp.c/pr35625.c: Same.
3999 * testsuite/libgomp.c/pr39154.c: Same.
4000 * testsuite/libgomp.c/simd-16.c: Same.
4001 * testsuite/libgomp.c/simd-17.c: Same.
4002
a6860be9
TV
40032015-06-13 Tom de Vries <tom@codesourcery.com>
4004
4005 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
4006
ab3306d2
TV
40072015-06-13 Tom de Vries <tom@codesourcery.com>
4008
4009 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
4010 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4011 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
4012 (N): Define.
4013 (main): Use N instead of hardcoded constants.
4014
7c82d827
TV
40152015-06-05 Tom de Vries <tom@codesourcery.com>
4016
4017 merge from gomp4 branch:
4018 2015-05-28 Tom de Vries <tom@codesourcery.com>
4019
4020 PR tree-optimization/65443
4021 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
4022 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
4023 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
4024
c469078d
BRF
40252015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4026
4027 * testsuite/libgomp.graphite/bounds.c: Adjust for
4028 cleanup-tree-dump removal.
4029 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
4030 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4031 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4032 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4033 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4034 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4035 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4036 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4037 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4038 * testsuite/libgomp.graphite/pr41118.c: Likewise.
4039
bb3caa35
UB
40402015-05-28 Uros Bizjak <ubizjak@gmail.com>
4041
4042 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
4043 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
4044 (futex_wake) [!__x86_64__]: Ditto.
4045
9fb5fd44
JB
40462015-05-28 Julian Brown <julian@codesourcery.com>
4047
4048 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
4049 function comment. Only call gomp_fatal if new argument is true.
4050 (acc_dev_num_out_of_range): New function.
4051 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
4052 acc_dev_num_out_of_range as appropriate.
4053 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
4054 (acc_get_device_num, acc_set_device_num): Update calls to
4055 resolve_device.
9fb5fd44
JB
4056 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
4057 output.
4058
32eaed93
JB
40592015-05-28 Julian Brown <julian@codesourcery.com>
4060
4061 PR libgomp/65742
32eaed93
JB
4062 * oacc-init.c (plugin/plugin-host.h): Include.
4063 (acc_on_device): Check whether we're in an offloaded region for
4064 host_nonshm
4065 plugin. Don't use __builtin_acc_on_device.
4066 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
4067 nonshm_exec flag in thread-local data.
4068 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
4069 data for host_nonshm plugin.
4070 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
4071 for host_nonshm plugin.
4072 * plugin/plugin-host.h: New.
4073
ea023bcf
UB
40742015-05-27 Uros Bizjak <ubizjak@gmail.com>
4075
8ed501f1
UB
4076 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
4077
40782015-05-27 Uros Bizjak <ubizjak@gmail.com>
4079
4080 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
4081 Declare as int.
4082 (FUTEX_PRIVATE_FLAG): Remove L suffix.
4083 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
4084 Declare as int.
4085
40862015-05-27 Uros Bizjak <ubizjak@gmail.com>
4087
bb3caa35 4088 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 4089
1716efeb
CLT
40902015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
4091
4092 * target.c (gomp_map_pointer): New function abstracting out
4093 GOMP_MAP_POINTER handling.
4094 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
4095 gomp_map_pointer().
4096
41b37d5e
JJ
40972015-05-19 Jakub Jelinek <jakub@redhat.com>
4098
4099 PR middle-end/66199
4100 * testsuite/libgomp.c/pr66199-1.c: New test.
4101 * testsuite/libgomp.c/pr66199-2.c: New test.
4102 * testsuite/libgomp.c++/pr66199-1.C: New test.
4103 * testsuite/libgomp.c++/pr66199-2.C: New test.
4104 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
4105 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
4106
c8319826
JB
41072015-05-19 Julian Brown <julian@codesourcery.com>
4108
4109 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
4110 on cuInit failure.
4111
b37dddbc
JJ
41122015-05-13 Jakub Jelinek <jakub@redhat.com>
4113
4114 PR middle-end/66133
4115 * testsuite/libgomp.c/pr66133.c: New test.
4116
55fba601
MH
41172015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
4118
4119 * Makefile.in: Regenerated with automake-1.11.6.
4120 * aclocal.m4: Likewise.
4121 * config.h.in: Likewise.
4122 * configure: Likewise.
4123 * testsuite/Makefile.in: Likewise.
4124
1be0899d
JM
41252015-05-08 Jason Merrill <jason@redhat.com>
4126
4127 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
4128 _Complex.
4129
4130 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
4131
d2463960
JB
41322015-05-06 Julian Brown <julian@codesourcery.com>
4133
4134 * oacc-init.c (acc_device_lock): Add explanatory comment.
4135 (resolve_device): Add comment about locking requirement.
4136 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
4137 gomp_init_device and gomp_fini_device calls.
4138 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4139 (acc_get_device_num, acc_set_device_num): Add locking around
4140 resolve_device and gomp_init_device calls.
4141
e38fdba4
JB
41422015-05-06 Julian Brown <julian@codesourcery.com>
4143
4144 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
4145 goacc_thread_lock on error paths.
4146 * oacc-mem.c (lookup_host): Remove locking from function. Note
4147 locking requirement for caller in function comment.
4148 (lookup_dev): Likewise.
4149 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
4150 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
4151 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4152 Add locking.
4153
ae8ffbbb
TS
41542015-05-05 Thomas Schwinge <thomas@codesourcery.com>
4155
4156 PR testsuite/65205
4157 PR libgomp/65993
4158 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
4159 don't expect "0x" prefix for "%p" format specifier, don't expect
4160 "(nil)" for NULL pointer.
4161 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4162 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4163 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4164 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4165 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4166 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4167 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4169 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4172 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4173 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4174 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4175 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4176 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4177 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4178 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4179 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4180 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4181 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4182 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4183 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4184 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4185 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4186 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4187 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4188 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4189 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
4190 accurately specify what we're looking for.
4191 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4193 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4194 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4195 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4196
1309f1d2
JN
41972015-04-30 James Norris <jnorris@codesourcery.com>
4198
4199 PR testsuite/65205
4200 * testsuite/lib/libgomp.exp
4201 (check_effective_target_openacc_host_selected)
4202 (check_effective_target_openacc_host_nonshm_selected): New
4203 procedures.
4204 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
4205 dg-shouldfail.
4206 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4207 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4208 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4209 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4210 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4211 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4212 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4213 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4217 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4218 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4219 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4220 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4221 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4222 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4223 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4224 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4225 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4227 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4228 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4230 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4236 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4237 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4238 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4239 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4240 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4241 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4243 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4244 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4245 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4246 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4247 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4249
d93bdab5
JB
42502015-04-08 Julian Brown <julian@codesourcery.com>
4251
4252 * libgomp.h (target_mem_desc: Remove mem_map field.
4253 (acc_dispatch_t): Remove open_device_func, close_device_func,
4254 get_device_num_func, set_device_num_func, target_data members.
4255 Change create_thread_data_func argument to device number instead of
4256 generic pointer.
4257 * oacc-async.c (assert.h): Include.
4258 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
4259 (acc_wait_all, acc_wait_all_async): Use current host thread's
4260 active device, not base_dev.
4261 * oacc-cuda.c (acc_get_current_cuda_device)
4262 (acc_get_current_cuda_context, acc_get_cuda_stream)
4263 (acc_set_cuda_stream): Likewise.
4264 * oacc-host.c (host_dispatch): Don't set open_device_func,
4265 close_device_func, get_device_num_func or set_device_num_func.
4266 * oacc-init.c (base_dev, init_key): Remove.
4267 (cached_base_dev): New.
4268 (name_of_acc_device_t): New.
4269 (acc_init_1): Initialise default-numbered device, not zeroth.
4270 (acc_shutdown_1): Close all devices of a given type.
4271 (goacc_destroy_thread): Don't use base_dev.
4272 (lazy_open, lazy_init, lazy_init_and_open): Remove.
4273 (goacc_attach_host_thread_to_device): New.
4274 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
4275 (acc_get_num_devices): Don't use base_dev.
4276 (acc_set_device_type): Reimplement.
4277 (acc_get_device_type): Don't use base_dev.
4278 (acc_get_device_num): Tweak logic.
4279 (acc_set_device_num): Likewise.
4280 (acc_on_device): Use acc_get_device_type.
4281 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
4282 (goacc_lazy_initialize): Reimplement with acc_init and
4283 goacc_attach_host_thread_to_device.
4284 * oacc-int.h (goacc_thread): Add base_dev field.
4285 (base_dev): Remove extern declaration.
4286 (goacc_attach_host_thread_to_device): Add prototype.
4287 * oacc-mem.c (acc_malloc): Use current thread's device instead of
4288 base_dev.
4289 (acc_free): Likewise.
4290 (acc_memcpy_to_device): Likewise.
4291 (acc_memcpy_from_device): Likewise.
4292 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
4293 goacc_lazy_initialize (throughout).
4294 (GOACC_parallel): Use tgt_offset to locate target functions.
4295 * target.c (gomp_map_vars): Don't set tgt->mem_map.
4296 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
4297 (gomp_load_plugin_for_device): Remove open_device, close_device,
4298 get_device_num, set_device_num openacc hook initialisation. Don't set
4299 openacc.target_data.
4300 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
4301 (GOMP_OFFLOAD_openacc_close_device)
4302 (GOMP_OFFLOAD_openacc_get_device_num)
4303 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
4304 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
4305 to int.
4306 * plugin/plugin-nvptx.c (ptx_inited): Remove.
4307 (instantiated_devices, ptx_dev_lock): New.
4308 (struct ptx_image_data): New.
4309 (ptx_devices, ptx_images, ptx_image_lock): New.
4310 (fini_streams_for_device): Reorder cuStreamDestroy call.
4311 (nvptx_get_num_devices): Remove forward declaration.
4312 (nvptx_init): Change return type to bool.
4313 (nvptx_fini): Remove.
4314 (nvptx_attach_host_thread_to_device): New.
4315 (nvptx_open_device): Return struct ptx_device* instead of void*.
4316 (nvptx_close_device): Change argument type to struct ptx_device*,
4317 return type to void.
4318 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
4319 (kernel_target_data, kernel_host_table): Remove static globals.
4320 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
4321 (GOMP_OFFLOAD_init_device): Reimplement.
4322 (GOMP_OFFLOAD_fini_device): Likewise.
4323 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
4324 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
4325 (GOMP_OFFLOAD_host2dev): Use ORD argument.
4326 (GOMP_OFFLOAD_openacc_open_device)
4327 (GOMP_OFFLOAD_openacc_close_device)
4328 (GOMP_OFFLOAD_openacc_set_device_num)
4329 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
4330 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
4331 (device number).
4332
4333 testsuite/
4334 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
4335
a51df54e
IV
43362015-04-06 Ilya Verbin <ilya.verbin@intel.com>
4337
4338 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
4339 * libgomp.h (struct gomp_memory_mapping): Remove.
4340 (struct target_mem_desc): Change type of mem_map from
4341 gomp_memory_mapping * to splay_tree_s *.
4342 (struct gomp_device_descr): Remove register_image_func, get_table_func.
4343 Add load_image_func, unload_image_func.
4344 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
4345 Remove offload_regions_registered.
4346 (gomp_init_tables): Remove.
4347 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4348 to splay_tree_s *.
4349 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
4350 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
4351 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
4352 offload_regions_registered.
4353 Initialize load_image_func, unload_image_func, mem_map.root.
4354 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
4355 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
4356 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
4357 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
4358 gomp_memory_mapping *. Use dev's lock and splay_tree.
4359 (lookup_dev): Use dev's lock.
4360 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
4361 (acc_is_present): Likewise.
4362 (acc_map_data): Likewise.
4363 (acc_unmap_data): Likewise. Use dev's lock.
4364 (present_create_copy): Likewise.
4365 (delete_copyout): Pass dev to lookup_host instead of mem_map.
4366 (update_dev_host): Likewise.
4367 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
4368 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
4369 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
4370 (GOMP_OFFLOAD_get_table): Remove
4371 (GOMP_OFFLOAD_load_image): New function.
4372 (GOMP_OFFLOAD_unload_image): New function.
4373 * target.c (register_lock): New mutex for offload image registration.
4374 (num_devices): Do not guard with PLUGIN_SUPPORT.
4375 (gomp_realloc_unlock): New static function.
4376 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
4377 before gomp_fatal.
4378 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
4379 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
4380 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
4381 mem_map's.
4382 (gomp_unmap_vars): Likewise.
4383 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
4384 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
4385 (gomp_offload_image_to_device): New static function.
4386 (GOMP_offload_register): Add mutex lock.
4387 Call gomp_offload_image_to_device for all initialized devices.
4388 Replace gomp_realloc with gomp_realloc_unlock.
4389 (GOMP_offload_unregister): New function.
4390 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
4391 get_table_func from the plugin with calls to init_device_func and
4392 gomp_offload_image_to_device.
4393 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4394 to splay_tree_s *.
4395 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
4396 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
4397 (GOMP_target_data): Do not call gomp_init_tables.
4398 (GOMP_target_update): Likewise. Remove argument from gomp_update.
4399 (gomp_load_plugin_for_device): Replace register_image and get_table
4400 with load_image and unload_image in DLSYM ().
4401 (gomp_register_images_for_device): Remove function.
4402 (gomp_target_init): Do not initialize current_device.mem_map.*,
4403 current_device.offload_regions_registered.
4404 Remove call to gomp_register_images_for_device.
4405 Do not free offload_images and num_offload_images.
4406
6c384511
JJ
44072015-03-30 Jakub Jelinek <jakub@redhat.com>
4408
4409 PR fortran/65597
4410 * testsuite/libgomp.fortran/pr65597.f90: New test.
4411
3e8165a5
TV
44122015-03-27 Tom de Vries <tom@codesourcery.com>
4413
4414 PR testsuite/65594
4415 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
4416 (init, check): New function.
4417 (foo): Change return type to void.
4418 (main): Call init and check.
4419
4d688c9a
TV
44202015-03-27 Tom de Vries <tom@codesourcery.com>
4421
4422 PR testsuite/65594
4423 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
4424 (foo): Use M for non-inner loops to scale down test-case.
4425
01c0b3b0
KT
44262015-03-25 Kai Tietz <ktietz@redhat.com>
4427
4428 PR libgomp/64972
4429 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
4430 (GOACC_data_start): Likewise.
4431 * target.c (gomp_map_vars): Likewise.
4432
844d9a76
JDA
44332015-03-21 John David Anglin <danglin@gcc.gnu.org>
4434
4435 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
4436 hppa*-*-hpux*.
4437
9b65e171
JJ
44382015-03-19 Jakub Jelinek <jakub@redhat.com>
4439
4440 * testsuite/libgomp.c/target-10.c: New test.
4441 * testsuite/libgomp.c++/target-4.C: New test.
4442
db397e2e
IV
44432015-03-13 Ilya Verbin <ilya.verbin@intel.com>
4444
4445 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
4446 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
4447
cd93945d
SH
44482015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
4449
4450 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
4451 * configure.ac (*-*-rtems*): Assume Pthread is supported.
4452 (pthread.h): Check for this header file.
4453 * configure: Regenerate.
4454
05deba9f
TV
44552015-02-25 Tom de Vries <tom@codesourcery.com>
4456
4457 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
4458 (check_reduction_op, check_reduction_macro, max, min):
4459 Declare.
4460 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
4461 function.
4462 (main): Use new functions.
4463
196904d8
IT
44642015-02-18 Ilya Tocar <ilya.tocar@intel.com>
4465
4466 * target.c (gomp_load_plugin_for_device): Use const char * instead of
4467 char * for variables holding dlerror return values.
4468 (DLSYM_OPT): Ditto.
4469
a2818955
TS
44702015-02-17 Thomas Schwinge <thomas@codesourcery.com>
4471
4472 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
4473
26f93312
TS
44742015-02-17 Thomas Schwinge <thomas@codesourcery.com>
4475 Cesar Philippidis <cesar@codesourcery.com>
4476
4477 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
4478 GOACC_ctaid, and GOACC_nctaid routines.
4479
fa01ffcc
JJ
44802015-02-11 Jakub Jelinek <jakub@redhat.com>
4481
4482 PR c/64824
4483 * testsuite/libgomp.c/atomic-18.c: New test.
4484 * testsuite/libgomp.c++/atomic-16.C: New test.
4485
4886ec8e
JJ
44862015-02-04 Jakub Jelinek <jakub@redhat.com>
4487
4488 PR c/64824
4489 PR c/64868
4490 * testsuite/libgomp.c/pr64824.c: New test.
4491 * testsuite/libgomp.c/pr64868.c: New test.
4492 * testsuite/libgomp.c++/pr64824.C: New test.
4493 * testsuite/libgomp.c++/pr64868.C: New test.
4494
02d3e45e
DE
44952015-02-01 David Edelsohn <dje.gcc@gmail.com>
4496
4497 PR libgomp/64635
4498 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
4499 Link with -lpthread.
4500 * config/aix/plugin-suffix.h: Delete.
4501
b5f7a6ca
JH
45022015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
4503
4504 PR libgomp/64635
4505 * configure.tgt (*-*-aix*): Use config_path "aix posix".
4506 (*-*-darwin*): Use config_path "bsd darwin posix".
4507 (*-*-hpux*): Use config_path "hpux posix".
4508 * target.c: Add include of plugin-suffix.h and use
4509 SONAME_SUFFIX macro.
4510 * config/aix/plugin-suffix.h: New file.
4511 * config/darwin/plugin-suffix.h: New file.
4512 * config/hpux/plugin-suffix.h: New file.
4513 * config/posix/plugin-suffix.h: New file.
4514
b8910447
JJ
45152015-01-23 Jakub Jelinek <jakub@redhat.com>
4516
4517 PR middle-end/64734
4518 * libgomp.c/pr64734.c: New test.
4519
a0c88d06
TV
45202015-01-23 Tom de Vries <tom@codesourcery.com>
4521
4522 PR libgomp/64672
4523 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
4524
1506ae0e
TV
45252015-01-23 Tom de Vries <tom@codesourcery.com>
4526
4527 PR libgomp/64707
4528 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
4529 dg-options.
4530
128b26dc
TS
45312015-01-19 Thomas Schwinge <thomas@codesourcery.com>
4532
bed62c21 4533 PR libgomp/64625
128b26dc
TS
4534 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
4535 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
4536 formal parameter. Update all users.
4537 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
4538 Document unused formal parameter.
4539
6e36114c
TS
45402015-01-16 Thomas Schwinge <thomas@codesourcery.com>
4541
4542 * oacc-parallel.c: Don't include <alloca.h>.
4543 (GOACC_parallel): Use gomp_alloca instead of alloca.
4544
973e9808
GP
45452015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
4546
4547 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
4548
41dbbb37
TS
45492015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4550 James Norris <jnorris@codesourcery.com>
4551 Tom de Vries <tom@codesourcery.com>
4552 Julian Brown <julian@codesourcery.com>
4553 Cesar Philippidis <cesar@codesourcery.com>
4554 Nathan Sidwell <nathan@codesourcery.com>
4555 Tobias Burnus <burnus@net-b.de>
4556
4557 * Makefile.am (search_path): Add $(top_srcdir)/../include.
4558 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
4559 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
4560 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
4561 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
4562 Include $(top_srcdir)/plugin/Makefrag.am.
4563 (nodist_libsubinclude_HEADERS): Add openacc.h.
4564 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
4565 openacc.f90, openacc.mod, openacc_kinds.mod.
4566 (omp_lib.mod): Generalize into...
4567 (%.mod): ... this new rule.
4568 (openacc_kinds.mod, openacc.mod): New rules.
4569 * plugin/configfrag.ac: New file.
4570 * configure.ac: Move plugin/offloading support into it. Include
4571 it. Instantiate testsuite/libgomp-test-support.pt.exp.
4572 * plugin/Makefrag.am: New file.
4573 * testsuite/Makefile.am (OFFLOAD_TARGETS)
4574 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
4575 export.
4576 (libgomp-test-support.exp): New rule.
4577 (all-local): Depend on it.
4578 * Makefile.in: Regenerate.
4579 * testsuite/Makefile.in: Regenerate.
4580 * config.h.in: Likewise.
4581 * configure: Likewise.
4582 * configure.tgt: Harden shell syntax.
4583 * env.c: Include "oacc-int.h".
4584 (parse_acc_device_type): New function.
4585 (gomp_debug_var, goacc_device_type, goacc_device_num): New
4586 variables.
4587 (initialize_env): Initialize those. Call
4588 goacc_runtime_initialize.
4589 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
4590 (gomp_fatal): Call gomp_vfatal.
4591 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
4592 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
4593 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
4594 (splay_tree_node, splay_tree, splay_tree_key)
4595 (struct target_mem_desc, struct splay_tree_key_s)
4596 (struct gomp_memory_mapping, struct acc_dispatch_t)
4597 (struct gomp_device_descr, gomp_acc_insert_pointer)
4598 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
4599 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
4600 (gomp_free_memmap, gomp_fini_device): New declarations.
4601 (gomp_vdebug, gomp_debug): New macros.
4602 Include "splay-tree.h".
4603 * libgomp.map (OACC_2.0): New symbol version. Use for
4604 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
4605 acc_set_device_type_h_, acc_get_device_type,
4606 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
4607 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
4608 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
4609 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
4610 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
4611 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
4612 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
4613 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
4614 acc_copyin_array_h_, acc_present_or_copyin,
4615 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
4616 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
4617 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
4618 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
4619 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
4620 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
4621 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
4622 acc_update_device, acc_update_device_32_h_,
4623 acc_update_device_64_h_, acc_update_device_array_h_,
4624 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
4625 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
4626 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
4627 acc_is_present_64_h_, acc_is_present_array_h_,
4628 acc_memcpy_to_device, acc_memcpy_from_device,
4629 acc_get_current_cuda_device, acc_get_current_cuda_context,
4630 acc_get_cuda_stream, acc_set_cuda_stream.
4631 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4632 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4633 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4634 GOACC_get_num_threads.
4635 (GOMP_PLUGIN_1.0): New symbol version. Use for
4636 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4637 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4638 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4639 GOMP_PLUGIN_acc_thread.
4640 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4641 environment variable.
4642 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4643 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4644 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4645 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4646 (splay_tree_remove): New declarations.
4647 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4648 (splay_tree_remove, splay_tree_lookup): Move into...
4649 * splay-tree.c: ... this new file.
4650 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4651 (splay_tree_node, splay_tree, splay_tree_key)
4652 (struct target_mem_desc, struct splay_tree_key_s)
4653 (struct gomp_device_descr): Don't declare.
4654 (num_devices_openmp): New variable.
4655 (gomp_get_num_devices ): Use it.
4656 (gomp_init_targets_once): New function.
4657 (gomp_get_num_devices ): Use it.
4658 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4659 (gomp_fini_device, gomp_register_image_for_device): New functions.
4660 (gomp_map_vars): Add devaddrs parameter.
4661 (gomp_update): Add mm parameter.
4662 (gomp_init_device): Move most of it into...
4663 (gomp_init_tables): ... this new function.
4664 (gomp_register_images_for_device): Remove function.
4665 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4666 Make them hidden instead of static.
4667 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4668 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4669 (GOMP_target_end_data, GOMP_target_update)
4670 (gomp_load_plugin_for_device, gomp_target_init): Update for
4671 OpenACC changes.
4672 * oacc-async.c: New file.
4673 * oacc-cuda.c: Likewise.
4674 * oacc-host.c: Likewise.
4675 * oacc-init.c: Likewise.
4676 * oacc-int.h: Likewise.
4677 * oacc-mem.c: Likewise.
4678 * oacc-parallel.c: Likewise.
4679 * oacc-plugin.c: Likewise.
4680 * oacc-plugin.h: Likewise.
4681 * oacc-ptx.h: Likewise.
4682 * openacc.f90: Likewise.
4683 * openacc.h: Likewise.
4684 * openacc_lib.h: Likewise.
4685 * plugin/plugin-host.c: Likewise.
4686 * plugin/plugin-nvptx.c: Likewise.
4687 * libgomp-plugin.c: Likewise.
4688 * libgomp-plugin.h: Likewise.
4689 * libgomp_target.h: Remove file after merging content into the
4690 former file. Update all users.
4691 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4692 (offload_targets_s, offload_targets_s_openacc): New variables.
4693 (check_effective_target_openacc_nvidia_accel_present)
4694 (check_effective_target_openacc_nvidia_accel_selected): New
4695 procedures.
4696 (libgomp_init): Update for OpenACC changes.
4697 * testsuite/libgomp-test-support.exp.in: New file.
4698 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4699 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4700 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4701 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4702 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4703 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4704 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4705 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4706 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4707 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4708 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4709 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4710 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4711 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4712 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4713 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4714 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4715 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4716 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4717 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4718 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4719 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4720 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4721 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4722 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4723 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4724 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4725 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4726 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4727 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4728 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4729 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4730 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4731 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4732 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4733 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4734 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4735 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4736 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4737 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4738 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4739 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4740 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4741 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4742 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4743 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4744 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4745 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4746 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4747 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4748 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4749 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4750 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4751 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4752 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4753 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4754 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4755 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4756 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4757 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4758 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4759 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4760 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4761 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4762 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4763 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4764 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4765 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4766 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4767 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4768 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4769 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4770 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4771 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4772 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4773 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4774 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4775 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4776 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4777 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4778 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4779 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4780 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4781 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4782 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4783 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4784 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4785 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4786 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4787 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4788 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4789 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4790 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4791 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4792 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4793 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4794 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4795 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4796 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4797 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4798 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4799 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4800 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4801 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4802 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4803 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4804 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4805 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4806 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4807 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4808 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4809 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4810 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4811 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4812 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4813 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4814 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4815 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4816 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4817 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4818 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4819 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4820 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4821 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4822 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4823 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4824 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4825 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4827 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4828 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4829 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4830 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4832 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4833 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4834 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4835 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4836 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4837 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4838 Likewise.
4839 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4841 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4842 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4843 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4844 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4845 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4846 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4847 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4848 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4849 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4850 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4851 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4852 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4853 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4854 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4855 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4856 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4857 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4858 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4859 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4860 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4861 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4862 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4863 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4864 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4865 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4866 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4867 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4868 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4869 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4870 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4871 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4872 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4873 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4874 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4875 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4876 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4877 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4878 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4879 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4880 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4881 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4882 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4883 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4884 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4885 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4886 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4887 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4888 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4889 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4890 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4891 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4892 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4893 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4894 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4895 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4896 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4897 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4898 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4899
f1f3453e
TS
49002015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4901 Julian Brown <julian@codesourcery.com>
4902 David Malcolm <dmalcolm@redhat.com>
4903
4904 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
4905 to "GNU Offloading and Multi Processing Runtime Library". Change
4906 all users.
4907 * configure: Regenerate.
4908 * libgomp.texi: Update.
4909
f9a0eca4
TS
49102015-01-08 Thomas Schwinge <thomas@codesourcery.com>
4911
b335ef4e
TS
4912 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
4913 "$tgt_dir/lib32".
4914 * configure: Regenerate.
4915
f9a0eca4
TS
4916 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
4917 "intelmic" in $offload_targets.
4918
b67cd4e3
JJ
49192015-01-05 Jakub Jelinek <jakub@redhat.com>
4920
5624e564
JJ
4921 Update copyright years.
4922
b67cd4e3
JJ
4923 * libgomp.texi: Bump @copying's copyright year.
4924
3b41b583
KT
49252014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4926
4927 * testsuite/lib/libgomp.exp: Load target-utils.exp.
4928 Move load of target-supportes.exp earlier.
4929
2354caec
IV
49302014-12-10 Ilya Verbin <ilya.verbin@intel.com>
4931
4932 * testsuite/libgomp.c/target-9.c: New test.
4933
f50eecba
VR
49342014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
4935
4936 * config.h.in: Regenerate.
4937 * configure: Regenerate.
4938 * configure.ac: Add GCC_CHECK_EMUTLS.
4939 * libgomp.h: Add check for USE_EMUTLS: this case
4940 is equal to HAVE_TLS.
4941 * team.c: Likewise.
4942
68bc9270
UB
49432014-12-03 Uros Bizjak <ubizjak@gmail.com>
4944
4945 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
4946
476ff787
AT
49472014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
4948 Ilya Verbin <ilya.verbin@intel.com>
4949
4950 * testsuite/libgomp.c/target-critical-1.c: New test.
4951
31a30e62
JJ
49522014-11-26 Jakub Jelinek <jakub@redhat.com>
4953
4954 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 4955 to dg-options unless expensive testing is on.
31a30e62
JJ
4956 (TESTITERS): Define to N if not defined.
4957 (main): Use TESTITERS instead of N.
4958 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
4959 dg-additional-options depending on whether expensive testing is on.
4960 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
4961 Decrease N to 100000 and CHUNKSZ to 10000.
4962
3f9e8f13
JJ
49632014-11-24 Jakub Jelinek <jakub@redhat.com>
4964
4965 PR fortran/63938
31a30e62
JJ
4966 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
4967 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 4968
c8451a46
SE
49692014-11-21 Steve Ellcey <sellcey@imgtec.com>
4970
4971 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
4972
a699d672
L
49732014-11-21 H.J. Lu <hongjiu.lu@intel.com>
4974
4975 PR bootstrap/63784
4976 * configure: Regenerated.
4977
4a19f719
UB
49782014-11-19 Uros Bizjak <ubizjak@gmail.com>
4979
4980 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
4981 vect_simd_clones effective target.
4982 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4983
b1bf6c52
JJ
49842014-11-14 Jakub Jelinek <jakub@redhat.com>
4985
4986 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
4987 of 32 as block_size.
4988 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
4989 instead of 32 as block_size.
4990
d64ae614
AT
49912014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4992 Ilya Verbin <ilya.verbin@intel.com>
4993
4994 * Makefile.in: Regenerate.
4995 * configure: Regenerate.
4996 * configure.ac: Set up offload_additional_options,
4997 offload_additional_lib_paths and offload_targets.
4998 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
4999 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
5000 * testsuite/Makefile.in: Regenerate.
5001 * testsuite/lib/libgomp.exp (libgomp_init): Append
5002 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
5003 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
5004 build directory to LD_LIBRARY_PATH for intelmic offload targets.
5005
122d7303
AT
50062014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
5007 Ilya Verbin <ilya.verbin@intel.com>
5008 Kirill Yukhin <kirill.yukhin@intel.com>
5009 Ilya Tocar <ilya.tocar@intel.com>
5010
5011 * testsuite/lib/libgomp.exp
5012 (check_effective_target_offload_device): New.
5013 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
5014 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
5015 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
5016 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
5017 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
5018 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
5019 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
5020 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
5021 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
5022 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
5023 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
5024 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
5025 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
5026 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
5027 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
5028 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
5029 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
5030 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
5031 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
5032 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
5033 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
5034 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
5035 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
5036 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
5037 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
5038 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
5039 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
5040 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
5041 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
5042 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
5043 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
5044 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
5045 * testsuite/libgomp.c/target-7.c: Fix test.
5046 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
5047 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
5048 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
5049 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
5050 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
5051 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
5052 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
5053 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
5054 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
5055 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
5056 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
5057 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
5058 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
5059 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
5060 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
5061 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
5062 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
5063 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
5064 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5065 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
5066 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
5067 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
5068 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
5069 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
5070 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
5071 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
5072 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
5073 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
5074 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
5075 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
5076 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
5077
1df3f842
JJ
50782014-11-13 Jakub Jelinek <jakub@redhat.com>
5079 Ilya Verbin <ilya.verbin@intel.com>
5080 Thomas Schwinge <thomas@codesourcery.com>
5081 Andrey Turetskiy <andrey.turetskiy@intel.com>
5082
5083 * libgomp.map (GOMP_4.0.1): New symbol version.
5084 Add GOMP_offload_register.
5085 * libgomp_target.h: New file.
5086 * splay-tree.h: New file.
5087 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
5088 (gomp_target_init): New forward declaration.
5089 (gomp_is_initialized): New static variable.
5090 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
5091 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
5092 New structures.
5093 (offload_images, num_offload_images, devices, num_devices): New static
5094 variables.
5095 (splay_compare): New static function.
5096 (struct gomp_device_descr): New structure.
5097 (gomp_get_num_devices): Call gomp_target_init.
5098 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
5099 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
5100 (GOMP_offload_register): New function.
5101 (GOMP_target): Arrange for host callback to be performed in a separate
5102 initial thread and contention group, inheriting ICVs from
5103 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
5104 Add device initialization and lookup for target function in splay tree.
5105 (GOMP_target_data): Add device initialization and call gomp_map_vars.
5106 (GOMP_target_end_data): Call gomp_unmap_vars.
5107 (GOMP_target_update): Add device initialization and call gomp_update.
5108 (gomp_load_plugin_for_device, gomp_register_images_for_device)
5109 (gomp_target_init): New static functions.
5110
85c64bbe
BS
51112014-11-13 Bernd Schmidt <bernds@codesourcery.com>
5112 Thomas Schwinge <thomas@codesourcery.com>
5113 Ilya Verbin <ilya.verbin@intel.com>
5114 Andrey Turetskiy <andrey.turetskiy@intel.com>
5115
5116 * config.h.in: Regenerate.
5117 * configure: Regenerate.
5118 * configure.ac: Check for libdl, required for plugin support.
5119 (PLUGIN_SUPPORT): Define if plugins are supported.
5120 (enable_offload_targets): Support Intel MIC targets.
5121 (OFFLOAD_TARGETS): List of target names suitable for offloading.
5122
ebf6d33b
FXC
51232014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5124
5125 PR target/63610
5126 * configure: Regenerate.
5127
8c768629
RO
51282014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5129
5130 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
5131
c1d62412
MP
51322014-10-06 Marek Polacek <polacek@redhat.com>
5133
5134 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
5135 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
5136 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
5137 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5138
44a0c6cb
MP
51392014-10-06 Marek Polacek <polacek@redhat.com>
5140
5141 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
5142 * testsuite/libgomp.c/nqueens-1.c: Likewise.
5143 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5144 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5145 * testsuite/libgomp.c/pr36802-2.c: Likewise.
5146 * testsuite/libgomp.c/pr36802-3.c: Likewise.
5147 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5148 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5149 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
5150 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
5151 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
5152 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
5153 * testsuite/libgomp.c/omp-single-1.c: Likewise.
5154 * testsuite/libgomp.c/omp-single-2.c: Likewise.
5155 * testsuite/libgomp.c/omp_matvec.c: Likewise.
5156 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
5157 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
5158 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
5159 declarations.
5160
5771c391
JJ
51612014-10-03 Jakub Jelinek <jakub@redhat.com>
5162
5163 PR libgomp/61200
5164 * testsuite/libgomp.c/pr61200.c: New test.
5165
bce16b88
JJ
51662014-09-18 Jakub Jelinek <jakub@redhat.com>
5167
5168 PR c++/63248
5169 * testsuite/libgomp.c++/pr63248.C: New test.
5170
3696163c
JJ
51712014-08-04 Jakub Jelinek <jakub@redhat.com>
5172
5173 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
5174 is not zero, but taskgroup->children is NULL and there are
5175 any task->children, schedule those instead of waiting.
5176 * testsuite/libgomp.c/depend-6.c: New test.
5177 * testsuite/libgomp.c/depend-7.c: New test.
5178 * testsuite/libgomp.c/depend-8.c: New test.
5179 * testsuite/libgomp.c/depend-9.c: New test.
5180 * testsuite/libgomp.c/depend-10.c: New test.
5181
0494285a
JJ
51822014-08-01 Jakub Jelinek <jakub@redhat.com>
5183
5184 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
5185 (struct gomp_taskwait): New type.
5186 (struct gomp_task): Add taskwait and parent_depends_on, remove
5187 in_taskwait and taskwait_sem fields.
5188 (gomp_finish_task): Don't destroy taskwait_sem.
5189 * task.c (gomp_init_task): Don't init in_taskwait, instead init
5190 taskwait and parent_depends_on.
5191 (GOMP_task): For if (0) tasks with depend clause that depend on
5192 earlier tasks don't defer them, instead call
5193 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
5194 Initialize redundant_out field, for redundant out entries just
5195 move them at the end of linked list instead of removing them
5196 completely, and set redundant_out flag instead of redundant.
5197 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
5198 that task.
5199 (gomp_task_run_post_handle_dependers): If parent is in
5200 gomp_task_maybe_wait_for_dependencies and newly runnable task
5201 is not parent_depends_on, queue it in parent->children linked
5202 list after all runnable tasks with parent_depends_on set.
5203 Adjust for addition of taskwait indirection.
5204 (gomp_task_run_post_remove_parent): If parent is in
5205 gomp_task_maybe_wait_for_dependencies and task to be removed
5206 is parent_depends_on, decrement n_depend and if needed awake
5207 parent. Adjust for addition of taskwait indirection.
5208 (GOMP_taskwait): Adjust for addition of taskwait indirection.
5209 (gomp_task_maybe_wait_for_dependencies): New function.
5210 * testsuite/libgomp.c/depend-5.c: New test.
5211
60ab4b44
TB
52122014-07-13 Tobias Burnus <burnus@net-b.de>
5213
5214 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 5215 with TS 18508/Fortran 2015.
60ab4b44 5216
773ec47f
MP
52172014-07-06 Marek Polacek <polacek@redhat.com>
5218
5219 PR c/6940
5220 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
5221
f707da16
JJ
52222014-07-03 Jakub Jelinek <jakub@redhat.com>
5223
5224 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
5225 matches regex $lang_source_re, add $lang_include_flags to options.
5226 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
5227 * testsuite/libgomp.c++/c++.exp: Likewise.
5228 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
5229 and lang_include_flags instead of adding -fintrinsic-modules-path= to
5230 ALWAYS_CFLAGS.
5231 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
5232
07b6c044
TS
52332014-07-03 Thomas Schwinge <thomas@codesourcery.com>
5234
5235 * testsuite/libgomp.fortran/fortran.exp: Explain
5236 gfortran-dg-runtest usage.
5237
da6f124d
JJ
52382014-06-25 Jakub Jelinek <jakub@redhat.com>
5239
5240 * testsuite/libgomp.fortran/simd5.f90: New test.
5241 * testsuite/libgomp.fortran/simd6.f90: New test.
5242 * testsuite/libgomp.fortran/simd7.f90: New test.
5243
b46ebd6c
JJ
52442014-06-24 Jakub Jelinek <jakub@redhat.com>
5245
56ad0e38
JJ
5246 * testsuite/libgomp.c/for-2.c: Define SC to static for
5247 #pragma omp for simd testing.
5248 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
5249 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
5250 SC macro.
5251 * testsuite/libgomp.c/simd-14.c: New test.
5252 * testsuite/libgomp.c/simd-15.c: New test.
5253 * testsuite/libgomp.c/simd-16.c: New test.
5254 * testsuite/libgomp.c/simd-17.c: New test.
5255 * testsuite/libgomp.c++/for-10.C: Define SC to static for
5256 #pragma omp for simd testing.
5257 * testsuite/libgomp.c++/simd10.C: New test.
5258 * testsuite/libgomp.c++/simd11.C: New test.
5259 * testsuite/libgomp.c++/simd12.C: New test.
5260 * testsuite/libgomp.c++/simd13.C: New test.
5261
b46ebd6c
JJ
5262 * testsuite/libgomp.fortran/aligned1.f03: New test.
5263 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
5264 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
5265 tasks with !$omp parallel !$omp single.
5266 * testsuite/libgomp.fortran/target8.f90: New test.
5267 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
5268 not to use trim in the combiner, instead call elemental function.
5269 (fn): New elemental function.
5270 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
5271 Make elemental.
5272 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
5273 omp_in): Likewise.
5274 * testsuite/libgomp.fortran/udr12.f90: New test.
5275 * testsuite/libgomp.fortran/udr13.f90: New test.
5276 * testsuite/libgomp.fortran/udr14.f90: New test.
5277 * testsuite/libgomp.fortran/udr15.f90: New test.
5278
f014c653
JJ
52792014-06-18 Jakub Jelinek <jakub@redhat.com>
5280
5281 * omp_lib.f90.in (openmp_version): Set to 201307.
5282 * omp_lib.h.in (openmp_version): Likewise.
5283 * testsuite/libgomp.c/target-8.c: New test.
5284 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
5285 and inbranch clauses.
5286 * testsuite/libgomp.fortran/depend-3.f90: New test.
5287 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
5288 openmp_version.
5289 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5290 * testsuite/libgomp.fortran/target1.f90: New test.
5291 * testsuite/libgomp.fortran/target2.f90: New test.
5292 * testsuite/libgomp.fortran/target3.f90: New test.
5293 * testsuite/libgomp.fortran/target4.f90: New test.
5294 * testsuite/libgomp.fortran/target5.f90: New test.
5295 * testsuite/libgomp.fortran/target6.f90: New test.
5296 * testsuite/libgomp.fortran/target7.f90: New test.
5297
92d28cbb
JJ
52982014-06-10 Jakub Jelinek <jakub@redhat.com>
5299
5300 PR fortran/60928
5301 * testsuite/libgomp.fortran/allocatable9.f90: New test.
5302 * testsuite/libgomp.fortran/allocatable10.f90: New test.
5303 * testsuite/libgomp.fortran/allocatable11.f90: New test.
5304 * testsuite/libgomp.fortran/allocatable12.f90: New test.
5305 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
5306 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
5307 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
5308 * testsuite/libgomp.fortran/associate1.f90: New test.
5309 * testsuite/libgomp.fortran/associate2.f90: New test.
5310 * testsuite/libgomp.fortran/procptr1.f90: New test.
5311
5f23671d
JJ
53122014-06-06 Jakub Jelinek <jakub@redhat.com>
5313
5314 * testsuite/libgomp.fortran/simd1.f90: New test.
5315 * testsuite/libgomp.fortran/udr1.f90: New test.
5316 * testsuite/libgomp.fortran/udr2.f90: New test.
5317 * testsuite/libgomp.fortran/udr3.f90: New test.
5318 * testsuite/libgomp.fortran/udr4.f90: New test.
5319 * testsuite/libgomp.fortran/udr5.f90: New test.
5320 * testsuite/libgomp.fortran/udr6.f90: New test.
5321 * testsuite/libgomp.fortran/udr7.f90: New test.
5322 * testsuite/libgomp.fortran/udr8.f90: New test.
5323 * testsuite/libgomp.fortran/udr9.f90: New test.
5324 * testsuite/libgomp.fortran/udr10.f90: New test.
5325 * testsuite/libgomp.fortran/udr11.f90: New test.
5326
0389fbb5
UB
53272014-05-27 Uros Bizjak <ubizjak@gmail.com>
5328
5329 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
5330 vect_simd_clones effective target.
5331 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
5332
decaaec8
JJ
53332014-05-21 Jakub Jelinek <jakub@redhat.com>
5334
5335 PR middle-end/61252
5336 * testsuite/libgomp.c++/simd-9.C: New test.
5337
72832460
UB
53382014-05-18 Uros Bizjak <ubizjak@gmail.com>
5339
5340 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
5341 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
5342 texts according to their @menu entry positions.
5343
dd2fc525
JJ
53442014-05-11 Jakub Jelinek <jakub@redhat.com>
5345
5346 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
5347 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
5348 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
5349 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
5350 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
5351 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
5352 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
5353 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
5354 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
5355 * testsuite/libgomp.fortran/depend-1.f90: New test.
5356 * testsuite/libgomp.fortran/depend-2.f90: New test.
5357 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
5358 * testsuite/libgomp.fortran/simd1.f90: New test.
5359 * testsuite/libgomp.fortran/simd2.f90: New test.
5360 * testsuite/libgomp.fortran/simd3.f90: New test.
5361 * testsuite/libgomp.fortran/simd4.f90: New test.
5362 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
5363
95782571
JJ
53642014-05-02 Jakub Jelinek <jakub@redhat.com>
5365
5366 * testsuite/libgomp.c/simd-10.c: New test.
5367 * testsuite/libgomp.c/simd-11.c: New test.
5368 * testsuite/libgomp.c/simd-12.c: New test.
5369 * testsuite/libgomp.c/simd-13.c: New test.
5370
f7468577
JJ
53712014-04-24 Jakub Jelinek <jakub@redhat.com>
5372
42056eac
JJ
5373 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
5374 atomic type clauses in any order and optional comma in between.
5375 * testsuite/libgomp.c++/atomic-15.C: Likewise.
5376 * testsuite/libgomp.c/atomic-17.c: Likewise.
5377
f7468577
JJ
5378 * testsuite/libgomp.c/simd-7.c: New test.
5379 * testsuite/libgomp.c/simd-8.c: New test.
5380 * testsuite/libgomp.c/simd-9.c: New test.
5381 * testsuite/libgomp.c/loop-16.c: New test.
5382
ab18f2f5
RH
53832014-04-02 Richard Henderson <rth@redhat.com>
5384
5385 * config/linux/futex.h (futex_wait): Get error value from errno.
5386 (futex_wake): Likewise.
5387
8bcc90b0
JJ
53882014-03-25 Jakub Jelinek <jakub@redhat.com>
5389
5390 PR c++/60331
5391 * testsuite/libgomp.c++/udr-11.C: New test.
5392 * testsuite/libgomp.c++/udr-12.C: New test.
5393 * testsuite/libgomp.c++/udr-13.C: New test.
5394 * testsuite/libgomp.c++/udr-14.C: New test.
5395 * testsuite/libgomp.c++/udr-15.C: New test.
5396 * testsuite/libgomp.c++/udr-16.C: New test.
5397 * testsuite/libgomp.c++/udr-17.C: New test.
5398 * testsuite/libgomp.c++/udr-18.C: New test.
5399 * testsuite/libgomp.c++/udr-19.C: New test.
5400
18d73c7f
RS
54012014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5402
5403 Update copyright years
5404
f9030485
RS
54052014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5406
5407 * hashtab.h: Use the standard form for the copyright notice.
5408
98db73df
TB
54092014-01-02 Tobias Burnus <burnus@net-b.de>
5410
5411 * libgomp.texi: Bump @copying's copyright year.
5412
ae246f7f
AT
54132013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
5414
5415 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
5416 alloca () with __builtin_alloca ().
5417 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
5418 * testsuite/libgomp.c/lock-3.c: Likewise.
5419 * testsuite/libgomp.c/pr48591.c: Likewise.
5420
fa00a5fe
JJ
54212013-12-17 Jakub Jelinek <jakub@redhat.com>
5422
5423 PR testsuite/59534
5424 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
5425 comparisons.
5426
e9792e1d
JJ
54272013-12-16 Jakub Jelinek <jakub@redhat.com>
5428
5429 PR libgomp/58756
5430 * testsuite/libgomp.c/pr58756.c: New test.
5431
cab37c89
JJ
54322013-12-12 Jakub Jelinek <jakub@redhat.com>
5433
5434 PR libgomp/59467
5435 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
5436 !$omp parallel.
5437
de14871c
TS
54382013-11-07 Thomas Schwinge <thomas@codesourcery.com>
5439
1707a5de
TS
5440 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
5441 ALWAYS_CFLAGS.
5442 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
5443 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
5444 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5445 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
5446 Likewise.
5447
70f05c43
TS
5448 * libgomp_g.h: Include <stddef.h> for size_t.
5449
de14871c
TS
5450 * libgomp.spec.in: Update comment about libgomp's dependencies.
5451 * configure.ac: Likewise.
5452 * configure: Regenerate.
5453
83fd6c5b
TB
54542013-10-16 Tobias Burnus <burnus@net-b.de>
5455
5456 * libgomp.texi: (Runtime Library Routines): Update references for
5457 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
5458 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
5459 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
5460 (Environment Variables): Update references for OpenMP 4.0. Add
5461 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
5462 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
5463 order.
5464
c8673881
JJ
54652013-10-14 Jakub Jelinek <jakub@redhat.com>
5466
5467 * env.c (parse_bind_var): Initialize value to avoid
5468 (false positive) warning.
5469
f89163fd
JJ
54702013-10-12 Jakub Jelinek <jakub@redhat.com>
5471
5472 PR libgomp/58691
5473 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
5474 to check variable.
5475 (gomp_init_num_threads): Move i variable declaration into
5476 #ifdef CPU_ALLOC_SIZE block.
5477 * config/linux/affinity.c (gomp_affinity_init_level): Test
5478 gomp_places_list_len == 0 rather than gomp_places_list == 0
5479 when checking for topology reading error.
5480 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
5481 * env.c (parse_affinity): Add ignore argument, if true, don't populate
5482 gomp_places_list, only parse env var and always return false.
5483 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
5484 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
5485 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
5486 and either of these variables were parsed correctly into a places
5487 list.
5488
1d340638
TS
54892013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5490 Jakub Jelinek <jakub@redhat.com>
5491
5492 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
5493 of 5 loopfn matches.
5494 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5495 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5496 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5497 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5498 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5499 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5500 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5501 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5502
71a81c21
TS
55032013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5504
bd87f731
TS
5505 * Makefile.am (omp_lib.mod): Streamline rule.
5506 * Makefile.in: Regenerate.
5507
f5745bed
TS
5508 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
5509 exceptions.
5510
b5512c66
TS
5511 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
5512 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5513 * testsuite/libgomp.fortran/lib2.f: Likewise.
5514 * testsuite/libgomp.fortran/lib3.f: Likewise.
5515
451c19c4
TS
5516 * configure.ac: Typo fix.
5517 * configure: Regenerate.
5518
86a6016d
TS
5519 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
5520 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5521
71a81c21
TS
5522 * omp.h.in: Don't touch the user's namespace.
5523
acf0174b
JJ
55242013-10-11 Jakub Jelinek <jakub@redhat.com>
5525 Tobias Burnus <burnus@net-b.de>
5526 Richard Henderson <rth@redhat.com>
5527
5528 * target.c: New file.
5529 * Makefile.am (libgomp_la_SOURCES): Add target.c.
5530 * Makefile.in: Regenerated.
5531 * libgomp_g.h (GOMP_task): Add depend argument.
5532 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5533 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5534 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
5535 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5536 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5537 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
5538 GOMP_taskgroup_start, GOMP_taskgroup_end,
5539 GOMP_parallel_sections): New prototypes.
5540 * fortran.c (omp_is_initial_device): Add ialias_redirect.
5541 (omp_is_initial_device_): New function.
5542 (ULP, STR1, STR2, ialias_redirect): Removed.
5543 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
5544 omp_set_default_device_8_, omp_get_default_device_,
5545 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
5546 functions.
5547 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5548 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5549 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
5550 @@GOMP_4.0.
5551 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
5552 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
5553 omp_set_default_device, omp_set_default_device_,
5554 omp_set_default_device_8_, omp_get_default_device,
5555 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
5556 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
5557 omp_get_team_num_): Export @@OMP_4.0.
5558 * team.c (struct gomp_thread_start_data): Add place field.
5559 (gomp_thread_start): Clear thr->thread_pool and
5560 thr->task before returning. Use gomp_team_barrier_wait_final
5561 instead of gomp_team_barrier_wait. Initialize thr->place.
5562 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
5563 team_cancelled and task_queued_count fields.
5564 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
5565 before calling pthread_exit.
5566 (gomp_free_thread): No longer static. Use
5567 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
5568 (gomp_team_start): Add flags argument. Set
5569 thr->thread_pool->threads_busy to nthreads immediately after creating
5570 new pool. Use gomp_managed_threads_lock instead of
5571 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
5572 (gomp_team_end): Use gomp_managed_threads_lock instead of
5573 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
5574 of gomp_team_barrier_wait. If team->team_cancelled, call
5575 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
5576 rather than thr->ts.work_share.
5577 (initialize_team): Don't call gomp_sem_init here.
5578 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
5579 caller.
5580 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
5581 * env.c (gomp_global_icv): Add default_device_var, target_data and
5582 bind_var initializers.
5583 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5584 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5585 gomp_places_list_len): New variables.
5586 (parse_bind_var, parse_one_place, parse_places_var): New functions.
5587 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
5588 sized places.
5589 (gomp_cancel_var): New global variable.
5590 (parse_int): New function.
5591 (handle_omp_display_env): New function.
5592 (initialize_env): Use it. Initialize default_device_var.
5593 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
5594 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
5595 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
5596 been successfully parsed (and call gomp_init_affinity in that case).
5597 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5598 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5599 omp_get_team_num, omp_is_initial_device): New functions.
5600 * libgomp.h: Include stdlib.h.
5601 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
5602 Define.
5603 (struct target_mem_desc): Forward declare.
5604 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
5605 and thread_limit_var fields.
5606 (gomp_get_num_devices): New prototype.
5607 (gomp_cancel_var): New extern decl.
5608 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
5609 team_cancelled and task_queued_count fields. Add comments about
5610 task_{,queued_,running_}count.
5611 (gomp_cancel_kind): New enum.
5612 (gomp_work_share_end_cancel): New prototype.
5613 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
5614 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
5615 and depend fields.
5616 (struct gomp_taskgroup): New type.
5617 (struct gomp_task_depend_entry,
5618 struct gomp_dependers_vec): New types.
5619 (gomp_finish_task): Free depend_hash if non-NULL.
5620 (struct gomp_team_state): Add place_partition_off
5621 and place_partition_len fields.
5622 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5623 gomp_places_list_len): New extern decls.
5624 (struct gomp_thread): Add place field.
5625 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5626 (gomp_init_thread_affinity): Add place argument.
5627 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5628 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5629 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5630 gomp_affinity_init_level, gomp_affinity_print_place): New
5631 prototypes.
5632 (gomp_team_start): Add flags argument.
5633 (gomp_thread_limit_var, gomp_remaining_threads_count,
5634 gomp_remaining_threads_lock): Remove.
5635 (gomp_managed_threads_lock): New variable.
5636 (struct gomp_thread_pool): Add threads_busy field.
5637 (gomp_free_thread): New prototype.
5638 * task.c: Include hashtab.h.
5639 (hash_entry_type): New typedef.
5640 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5641 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5642 copy_ctors_done and taskgroup fields.
5643 (GOMP_task): Add depend argument, handle depend clauses. If
5644 gomp_team_barrier_cancelled or if it's taskgroup has been
5645 cancelled, don't queue or start new tasks. Set copy_ctors_done
5646 field if needed. Initialize taskgroup field. If copy_ctors_done
5647 and already cancelled, don't discard the task. If taskgroup is
5648 non-NULL, enqueue the task into taskgroup queue. Increment
5649 num_children field in taskgroup. Increment task_queued_count.
5650 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5651 gomp_task_run_post_remove_taskgroup): New inline functions.
5652 (gomp_task_run_post_handle_depend_hash,
5653 gomp_task_run_post_handle_dependers,
5654 gomp_task_run_post_handle_depend): New functions.
5655 (GOMP_taskwait): Use them. If more than one new tasks
5656 have been queued, wake other threads if needed.
5657 (gomp_barrier_handle_tasks): Likewise. If
5658 gomp_team_barrier_cancelled, don't start any new tasks, just free
5659 all tasks.
5660 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5661 * omp_lib.f90.in
5662 (omp_proc_bind_kind, omp_proc_bind_false,
5663 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5664 omp_proc_bind_spread): New params.
5665 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5666 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5667 omp_get_team_num, omp_is_initial_device): New interfaces.
5668 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5669 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5670 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5671 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5672 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5673 useless use omp_lib_kinds.
5674 * omp.h.in (omp_proc_bind_t): New typedef.
5675 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5676 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5677 omp_get_team_num, omp_is_initial_device): New prototypes.
5678 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5679 through to gomp_team_start.
5680 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5681 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5682 Adjust gomp_parallel_loop_start callers.
5683 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5684 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5685 GOMP_loop_end_cancel): New functions.
5686 (GOMP_parallel_end): Add ialias_redirect.
5687 * hashtab.h: New file.
5688 * libgomp.texi (Environment Variables): Minor cleanup,
5689 update section refs to OpenMP 4.0rc2.
5690 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5691 environment variables.
5692 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5693 team->work_shares_to_free to thr->ts.work_share before calling
5694 free_work_share.
5695 (gomp_work_share_end_cancel): New function.
5696 * config/linux/proc.c: Include errno.h.
5697 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5698 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5699 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5700 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5701 gomp_cpuset_size is sizeof (cpu_set_t).
5702 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5703 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5704 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5705 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5706 contain any logical CPUs.
5707 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5708 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5709 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5710 pthread_getaffinity_np. Check gomp_places_list instead of
5711 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5712 * config/linux/bar.c (gomp_barrier_wait_end,
5713 gomp_barrier_wait_last): Use BAR_* defines.
5714 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5715 from state where needed. Set work_share_cancelled to 0 on last
5716 thread.
5717 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5718 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5719 functions.
5720 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5721 Add cpusetsize argument.
5722 (gomp_cpuset_size, gomp_cpusetp): Declare.
5723 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5724 (affinity_counter): Remove.
5725 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5726 if CPU_ALLOC_SIZE isn't defined.
5727 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5728 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5729 bind current thread to the first place.
5730 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5731 pthread_setaffinity_np to gomp_places_list[place].
5732 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5733 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5734 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5735 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5736 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5737 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5738 (gomp_barrier_t): Add awaited_final field.
5739 (gomp_barrier_init): Initialize awaited_final field.
5740 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5741 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5742 prototypes.
5743 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5744 defines.
5745 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5746 gomp_team_barrier_cancelled): New inline functions.
5747 (gomp_barrier_last_thread,
5748 gomp_team_barrier_set_task_pending,
5749 gomp_team_barrier_clear_task_pending,
5750 gomp_team_barrier_set_waiting_for_tasks,
5751 gomp_team_barrier_waiting_for_tasks,
5752 gomp_team_barrier_done): Use BAR_* defines.
5753 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5754 (gomp_barrier_wait_end): Use BAR_* defines.
5755 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5756 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5757 Use BAR_* defines.
5758 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5759 gomp_team_barrier_cancel): New functions.
5760 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5761 argument.
5762 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5763 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5764 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5765 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5766 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5767 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5768 (gomp_barrier_t): Add cancellable field.
5769 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5770 gomp_team_barrier_cancel): New prototypes.
5771 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5772 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5773 gomp_team_barrier_cancelled): New inline functions.
5774 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5775 gomp_team_barrier_set_task_pending,
5776 gomp_team_barrier_clear_task_pending,
5777 gomp_team_barrier_set_waiting_for_tasks,
5778 gomp_team_barrier_waiting_for_tasks,
5779 gomp_team_barrier_done): Use BAR_* defines.
5780 * barrier.c (GOMP_barrier_cancel): New function.
5781 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5782 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5783 omp_proc_bind_spread): New params.
5784 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5785 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5786 omp_get_team_num, omp_is_initial_device): New externals.
5787 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5788 New functions.
5789 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5790 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5791 infinity. If not nested, just return minimum of max_num_threads
5792 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5793 to the returned value. Otherwise, don't update atomically
5794 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5795 (GOMP_parallel_end): Adjust for thread_limit now being in
5796 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5797 infinity. Adjust threads_busy in the pool rather than
5798 gomp_remaining_threads_count. Remember team->nthreads and call
5799 gomp_team_end before adjusting threads_busy, if not nested
5800 afterwards, just set it to 1 non-atomically. Add ialias.
5801 (GOMP_parallel_start): Adjust gomp_team_start caller.
5802 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5803 * testsuite/libgomp.c/affinity-1.c: New test.
5804 * testsuite/libgomp.c/atomic-15.c: New test.
5805 * testsuite/libgomp.c/atomic-16.c: New test.
5806 * testsuite/libgomp.c/atomic-17.c: New test.
5807 * testsuite/libgomp.c/cancel-for-1.c: New test.
5808 * testsuite/libgomp.c/cancel-for-2.c: New test.
5809 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5810 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5811 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5812 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5813 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5814 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5815 * testsuite/libgomp.c/depend-1.c: New test.
5816 * testsuite/libgomp.c/depend-2.c: New test.
5817 * testsuite/libgomp.c/depend-3.c: New test.
5818 * testsuite/libgomp.c/depend-4.c: New test.
5819 * testsuite/libgomp.c/for-1.c: New test.
5820 * testsuite/libgomp.c/for-1.h: New file.
5821 * testsuite/libgomp.c/for-2.c: New test.
5822 * testsuite/libgomp.c/for-2.h: New file.
5823 * testsuite/libgomp.c/for-3.c: New test.
5824 * testsuite/libgomp.c/pr58392.c: New test.
5825 * testsuite/libgomp.c/simd-1.c: New test.
5826 * testsuite/libgomp.c/simd-2.c: New test.
5827 * testsuite/libgomp.c/simd-3.c: New test.
5828 * testsuite/libgomp.c/simd-4.c: New test.
5829 * testsuite/libgomp.c/simd-5.c: New test.
5830 * testsuite/libgomp.c/simd-6.c: New test.
5831 * testsuite/libgomp.c/target-1.c: New test.
5832 * testsuite/libgomp.c/target-2.c: New test.
5833 * testsuite/libgomp.c/target-3.c: New test.
5834 * testsuite/libgomp.c/target-4.c: New test.
5835 * testsuite/libgomp.c/target-5.c: New test.
5836 * testsuite/libgomp.c/target-6.c: New test.
5837 * testsuite/libgomp.c/target-7.c: New test.
5838 * testsuite/libgomp.c/taskgroup-1.c: New test.
5839 * testsuite/libgomp.c/thread-limit-1.c: New test.
5840 * testsuite/libgomp.c/thread-limit-2.c: New test.
5841 * testsuite/libgomp.c/thread-limit-3.c: New test.
5842 * testsuite/libgomp.c/udr-1.c: New test.
5843 * testsuite/libgomp.c/udr-2.c: New test.
5844 * testsuite/libgomp.c/udr-3.c: New test.
5845 * testsuite/libgomp.c++/affinity-1.C: New test.
5846 * testsuite/libgomp.c++/atomic-10.C: New test.
5847 * testsuite/libgomp.c++/atomic-11.C: New test.
5848 * testsuite/libgomp.c++/atomic-12.C: New test.
5849 * testsuite/libgomp.c++/atomic-13.C: New test.
5850 * testsuite/libgomp.c++/atomic-14.C: New test.
5851 * testsuite/libgomp.c++/atomic-15.C: New test.
5852 * testsuite/libgomp.c++/cancel-for-1.C: New test.
5853 * testsuite/libgomp.c++/cancel-for-2.C: New test.
5854 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
5855 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
5856 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
5857 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
5858 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
5859 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
5860 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
5861 * testsuite/libgomp.c++/cancel-test.h: New file.
5862 * testsuite/libgomp.c++/for-9.C: New test.
5863 * testsuite/libgomp.c++/for-10.C: New test.
5864 * testsuite/libgomp.c++/for-11.C: New test.
5865 * testsuite/libgomp.c++/simd-1.C: New test.
5866 * testsuite/libgomp.c++/simd-2.C: New test.
5867 * testsuite/libgomp.c++/simd-3.C: New test.
5868 * testsuite/libgomp.c++/simd-4.C: New test.
5869 * testsuite/libgomp.c++/simd-5.C: New test.
5870 * testsuite/libgomp.c++/simd-6.C: New test.
5871 * testsuite/libgomp.c++/simd-7.C: New test.
5872 * testsuite/libgomp.c++/simd-8.C: New test.
5873 * testsuite/libgomp.c++/target-1.C: New test.
5874 * testsuite/libgomp.c++/target-2.C: New test.
5875 * testsuite/libgomp.c++/target-2-aux.cc: New file.
5876 * testsuite/libgomp.c++/target-3.C: New test.
5877 * testsuite/libgomp.c++/taskgroup-1.C: New test.
5878 * testsuite/libgomp.c++/udr-1.C: New test.
5879 * testsuite/libgomp.c++/udr-2.C: New test.
5880 * testsuite/libgomp.c++/udr-3.C: New test.
5881 * testsuite/libgomp.c++/udr-4.C: New test.
5882 * testsuite/libgomp.c++/udr-5.C: New test.
5883 * testsuite/libgomp.c++/udr-6.C: New test.
5884 * testsuite/libgomp.c++/udr-7.C: New test.
5885 * testsuite/libgomp.c++/udr-8.C: New test.
5886 * testsuite/libgomp.c++/udr-9.C: New test.
5887
bd599dea
JJ
58882013-09-20 Jakub Jelinek <jakub@redhat.com>
5889
5890 PR testsuite/57605
5891 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
5892 ALWAYS_CFLAGS.
5893
3cbe17f7
AM
58942013-09-20 Alan Modra <amodra@gmail.com>
5895
5896 * configure: Regenerate.
5897
4befd127
JJ
58982013-09-19 Jakub Jelinek <jakub@redhat.com>
5899
5900 * testsuite/libgomp.c/sections-2.c: New test.
5901
946c8f7b
MS
59022013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
5903
5904 * testsuite/libgomp.fortran/strassen.f90:
5905 Add dg-skip-if aarch64_tiny.
5906
1ef3b58e
IS
59072013-06-20 Iain Sandoe <iain@codesourcery.com>
5908 Cesar Philippidis <cesar@codesourcery.com>
5909
5910 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
5911 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
5912 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
5913 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5914 * testsuite/libgomp.graphite/graphite.exp: Likewise.
5915 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
5916 Use dg-runtest rather than gfortran-dg-runtest.
5917
9275f73a
TS
59182013-06-10 Thomas Schwinge <thomas@codesourcery.com>
5919
5920 * testsuite/libgomp.c/icv-2.c: Extend current handling of
5921 Linux-based x86 systems to cover all GNU systems.
5922 * testsuite/libgomp.c/lock-3.c: Likewise.
5923 * testsuite/libgomp.c/pr48591.c: Likewise.
5924
492992e2
TS
59252013-06-06 Thomas Schwinge <thomas@codesourcery.com>
5926
48df3acb
TS
5927 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
5928 GNU/Hurd, as done for Linux-based systems.
5929
492992e2
TS
5930 * config/posix/ptrlock.h: Fix comment.
5931
4fed6b25
TB
59322013-05-27 Tobias Burnus <burnus@net-b.de>
5933
5934 PR fortran/57423
5935 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
5936 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
5937 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
5938 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
5939 omp_destroy_nest_lock): Correct arguments to match the one in
5940 the OpenMP spec.
5941 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
5942 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
5943 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
5944 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
5945
5a0f4dd3
JJ
59462013-05-16 Jakub Jelinek <jakub@redhat.com>
5947
5948 * testsuite/libgomp.c/loop-13.c: New test.
5949 * testsuite/libgomp.c/loop-14.c: New test.
5950 * testsuite/libgomp.c/loop-15.c: New test.
5951 * testsuite/libgomp.c++/loop-13.C: New test.
5952 * testsuite/libgomp.c++/loop-14.C: New test.
5953 * testsuite/libgomp.c++/loop-15.C: New test.
5954
6d840d99
JJ
59552013-02-06 Jakub Jelinek <jakub@redhat.com>
5956
5957 PR middle-end/56217
5958 * testsuite/libgomp.c++/pr56217.C: New test.
5959
bed8d8a6
AM
59602013-02-01 Alan Modra <amodra@gmail.com>
5961
5962 * task.c (GOMP_task, GOMP_taskwait): Comment.
5963
3b35cd04
DV
59642013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
5965 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
5966
5967 PR libgomp/55561
5968 * config/linux/wait.h (do_spin): Use atomic load for addr.
5969 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
5970 for intptr and ptrlock.
5971 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
5972 for ptrlock.
5973
9a647288
AM
59742013-01-22 Alan Modra <amodra@gmail.com>
5975
5976 PR libgomp/51376
5977 PR libgomp/56073
5978 * task.c (GOMP_task): Revert 2011-12-09 change.
5979 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
5980 barrier to read task->children..
5981 (gomp_barrier_handle_tasks): ..and matching atomic store with
5982 release barrier here when setting parent->children to NULL.
5983
f34dea03
JJ
59842013-01-16 Jakub Jelinek <jakub@redhat.com>
5985 Tobias Burnus <burnus@net-b.de>
5986
5987 PR driver/55884
5988 * testsuite/libgomp.fortran/fortran.exp: Use
5989 -fintrinsic-modules-path= instead of
5990 -fintrinsic-modules-path.
5991
8129609c
RS
59922013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
5993
5994 Update copyright years.
5995
aa86bf1e
TB
59962012-12-19 Tobias Burnus <burnus@net-b.de>
5997
5998 * testsuite/libgomp.fortran/fortran.exp: Set
5999 -fintrinsic-modules-path.
6000
2865ea66
TB
60012012-12-19 Tobias Burnus <burnus@net-b.de>
6002
6003 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
6004 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
6005
4c5ba8d0
JJ
60062012-11-21 Jakub Jelinek <jakub@redhat.com>
6007
6008 PR libgomp/55411
6009 * team.c (gomp_free_thread): Decrease gomp_managed_threads
6010 if pool had any threads_used.
6011
e9f958c2
JH
60122012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
6013
6014 * testsuite/libgomp.c++/pr24455.C: Use
6015 -Wl,-undefined,dynamic_lookup on darwin.
6016
a57d75dc
DE
60172012-11-07 David Edelsohn <dje.gcc@gmail.com>
6018
6019 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
6020
c6c08485
DH
60212012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
6022
6023 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
6024
c1f37c00
IB
60252012-10-23 Ian Bolton <ian.bolton@arm.com>
6026 Jim MacArthur <jim.macarthur@arm.com>
6027 Marcus Shawcroft <marcus.shawcroft@arm.com>
6028 Nigel Stephens <nigel.stephens@arm.com>
6029 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6030 Richard Earnshaw <rearnsha@arm.com>
6031 Sofiane Naci <sofiane.naci@arm.com>
6032 Stephen Thomas <stephen.thomas@arm.com>
6033 Tejas Belagod <tejas.belagod@arm.com>
6034 Yufeng Zhang <yufeng.zhang@arm.com>
6035
6036 * configure.tgt: Add AArch64.
6037
7c424acd
JM
60382012-10-04 Jason Merrill <jason@redhat.com>
6039
6040 * testsuite/libgomp.c++/tls-init1.C: New.
6041
6608378b
DE
60422012-09-14 David Edelsohn <dje.gcc@gmail.com>
6043
6044 * configure: Regenerated.
6045
c24dbebb
CLT
60462012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
6047
6048 * config/linux/mips/futex.h (sys_futex0): Change to static
6049 function with noinline, nomips16 attributes under MIPS16. Adjust
6050 asm statement to place 'li v0,SYS_futex' immediately before
6051 syscall insn.
6052
3d3949df
SL
60532012-07-04 Sandra Loosemore <sandra@codesourcery.com>
6054
6055 * libgomp.texi (Library Index): Renamed from "Index" to prevent
6056 conflict with index.html on case-insensitive file systems.
6057
68a12ef3
UB
60582012-07-03 Uros Bizjak <ubizjak@gmail.com>
6059
6060 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
6061 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
6062
33ad93b9 60632012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
6064 Michael Matz <matz@suse.de>
6065 Tobias Grosser <tobias@grosser.es>
6066 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
6067
6068 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
6069 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6070 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6071 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6072
e6fdc918
AS
60732012-06-28 Andreas Schwab <schwab@linux-m68k.org>
6074
6075 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
6076
62e0a1ed
RG
60772012-06-22 Richard Guenther <rguenther@suse.de>
6078
6079 Merge from graphite branch
6080 2012-01-13 Tobias Grosser <tobias@grosser.es>
6081
6082 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6083 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6084
26127932
JJ
60852012-06-07 Jakub Jelinek <jakub@redhat.com>
6086
6087 PR middle-end/53580
6088 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
6089 use GOMP_barrier () call instead.
6090 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6091 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6092 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
6093 call GOMP_barrier instead.
6094 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6095
43fa5db5
JJ
60962012-06-06 Jakub Jelinek <jakub@redhat.com>
6097
6098 PR libgomp/52993
6099 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
6100 argument to memset call.
6101
e6d5f8c9
L
61022012-05-16 H.J. Lu <hongjiu.lu@intel.com>
6103
6104 * configure: Regenerated.
6105
559d990c
MLI
61062012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6107
6108 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
6109
b9c23a61
L
61102012-03-31 H.J. Lu <hongjiu.lu@intel.com>
6111
6112 PR bootstrap/52812
6113 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
6114
c140ddf3
JJ
61152012-03-22 Jakub Jelinek <jakub@redhat.com>
6116
6117 PR middle-end/52547
6118 * testsuite/libgomp.c/pr52547.c: New test.
6119
6a26a74d
BRF
61202012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6121
6122 * testsuite/lib/libgomp.exp: load fortran-modules.exp
6123
b24513a1
RO
61242012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6125
6126 * configure.tgt (mips-sgi-irix6*): Remove.
6127
5c30094f
RO
61282012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6129
6130 * configure.tgt (alpha*-dec-osf*): Remove.
6131
6132 * config/osf/sem.h: Remove.
6133 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
6134
a339c9d6
EB
61352012-02-29 Eric Botcazou <ebotcazou@adacore.com>
6136
6137 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
6138
cc2de92d
RO
61392012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6140
6141 PR libstdc++/52188
6142 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
6143 Remove ENABLE_SYMVERS_SOL2.
6144 * configure: Regenerate.
6145 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
6146 (PREPROCESS): New variable.
6147 (libgomp.ver): New target.
6148 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
6149 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
6150 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
6151 Use libgomp.ver.
6152 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
6153 * Makefile.in: Regenerate.
6154
dd552284
WL
61552012-02-14 Walter Lee <walt@tilera.com>
6156
6157 * configure.tgt: Handle tilegx and tilepro.
6158 * config/linux/tile/futex.h: New file.
6159
31432e21
RG
61602012-02-08 Richard Guenther <rguenther@suse.de>
6161
6162 PR tree-optimization/46886
6163 * testsuite/libgomp.c/pr46886.c: New testcase.
6164
b9264b5f
MK
61652012-01-25 Matthias Klose <doko@ubuntu.com>
6166
6167 * config/linux/arm: Remove empty directory.
6168 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
6169
fbf7be80
AM
61702011-12-09 Alan Modra <amodra@gmail.com>
6171
6172 PR libgomp/51376
6173 * task.c (GOMP_taskwait): Don't access task->children outside of
6174 task_lock mutex region.
6175 (GOMP_task): Likewise.
6176
5de62d00
JJ
61772011-12-06 Jakub Jelinek <jakub@redhat.com>
6178
6179 PR libgomp/51132
6180 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
6181 to file scope.
6182 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6183 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6184 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6185 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6186 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6187
45608a43
AM
61882011-12-02 Alan Modra <amodra@gmail.com>
6189
6190 * config/linux/affinity.c: Use atomic rather than sync builtin.
6191 * config/linux/lock.c: Likewise.
6192 * config/linux/ptrlock.h: Likewise.
6193 * config/linux/ptrlock.c: Likewise.
6194 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
6195 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
6196 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
6197 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
6198 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
6199 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
6200 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
6201 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
6202 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
6203 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
6204
ab6dd406
AM
62052011-11-30 Alan Modra <amodra@gmail.com>
6206
6207 PR libgomp/51298
6208 * config/linux/bar.h: Use atomic rather than sync builtins.
6209 * config/linux/bar.c: Likewise. Add missing acquire
6210 synchronisation on generation field.
6211 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
6212 double unlock.
6213
b40c885f
AM
62142011-11-30 Alan Modra <amodra@gmail.com>
6215
6216 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
6217 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
6218 * config/linux/mutex.h: Use atomic rather than sync builtins.
6219 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
6220 * config/linux/omp-lock.h: Comment fix.
6221 * config/linux/arm/mutex.h: Delete.
6222 * config/linux/powerpc/mutex.h: Delete.
6223 * config/linux/ia64/mutex.h: Delete.
6224 * config/linux/mips/mutex.h: Delete.
6225
3e348fcc
AM
62262011-11-30 Alan Modra <amodra@gmail.com>
6227
6228 PR libgomp/51249
6229 * config/linux/sem.h: Rewrite.
6230 * config/linux/sem.c: Rewrite.
6231
cef86eb2
RH
62322011-11-28 Richard Henderson <rth@redhat.com>
6233
6234 * libgomp.h (enum memmodel): New.
6235
c6084f68
AT
62362011-11-21 Andreas Tobler <andreast@fgznet.ch>
6237
6238 * configure: Regenerate.
6239
06fe026c
MK
62402011-10-10 Matthias Klose <doko@ubuntu.com>
6241
6242 * config/posix95: Remove empty directory.
6243
a6c975bd
JJ
62442011-08-26 Jakub Jelinek <jakub@redhat.com>
6245
6246 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
6247
c26dffff
JJ
62482011-08-19 Jakub Jelinek <jakub@redhat.com>
6249
6250 PR fortran/49792
6251 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
6252 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
6253
ddaad3c8
RO
62542011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6255
6256 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
6257
98d03683
RO
62582011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6259
6260 PR libgomp/49965
6261 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
6262
e0b23d9f
UB
62632011-08-03 Uros Bizjak <ubizjak@gmail.com>
6264
6265 * config/linux/proc.h: New.
6266 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
6267 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
6268 (gomp_init_num_threads): Update call to cpuset_popcount.
6269 (get_num_procs): Ditto.
6270 * config/linux/affinity.c (gomp_init_affinity): Call
6271 gomp_cpuset_popcount.
6272
20906c66
JJ
62732011-08-02 Jakub Jelinek <jakub@redhat.com>
6274
6275 PR fortran/42041
6276 PR fortran/46752
6277 * omp.h.in (omp_in_final): New prototype.
6278 * omp_lib.f90.in (omp_in_final): New interface.
6279 (omp_integer_kind, omp_logical_kind): Remove
6280 and replace all its uses in the module with 4.
6281 (openmp_version): Change to 201107.
6282 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
6283 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
6284 kind for the parameters.
6285 (omp_in_final): New external.
6286 (openmp_version): Change to 201107.
6287 * task.c (omp_in_final): New function.
6288 (gomp_init_task): Initialize final_task.
6289 (GOMP_task): Remove unused attribute from flags. Handle final
6290 tasks.
6291 (GOMP_taskyield): New function.
6292 (omp_in_final): Return true if if (false) or final (true) task
6293 or descendant of final (true).
6294 * fortran.c (omp_in_final_): New function.
6295 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
6296 (GOMP_3.0): Export GOMP_taskyield.
6297 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
6298 variables.
6299 (parse_unsigned_long_list): New function.
6300 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
6301 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
6302 even if parse_affinity returned false.
6303 * config/linux/affinity.c (gomp_init_affinity): Handle
6304 gomp_cpu_affinity_len == 0.
6305 * libgomp_g.h (GOMP_taskyield): New prototype.
6306 * libgomp.h (struct gomp_task): Add final_task field.
6307 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
6308 * team.c (gomp_team_start): Override new task's nthreads_var icv
6309 if list form OMP_NUM_THREADS has been used and it has value for
6310 the new nesting level.
6311
6312 * testsuite/libgomp.c/atomic-11.c: New test.
6313 * testsuite/libgomp.c/atomic-12.c: New test.
6314 * testsuite/libgomp.c/atomic-13.c: New test.
6315 * testsuite/libgomp.c/atomic-14.c: New test.
6316 * testsuite/libgomp.c/reduction-6.c: New test.
6317 * testsuite/libgomp.c/task-5.c: New test.
6318 * testsuite/libgomp.c++/atomic-2.C: New test.
6319 * testsuite/libgomp.c++/atomic-3.C: New test.
6320 * testsuite/libgomp.c++/atomic-4.C: New test.
6321 * testsuite/libgomp.c++/atomic-5.C: New test.
6322 * testsuite/libgomp.c++/atomic-6.C: New test.
6323 * testsuite/libgomp.c++/atomic-7.C: New test.
6324 * testsuite/libgomp.c++/atomic-8.C: New test.
6325 * testsuite/libgomp.c++/atomic-9.C: New test.
6326 * testsuite/libgomp.c++/task-8.C: New test.
6327 * testsuite/libgomp.c++/reduction-4.C: New test.
6328 * testsuite/libgomp.fortran/allocatable7.f90: New test.
6329 * testsuite/libgomp.fortran/allocatable8.f90: New test.
6330 * testsuite/libgomp.fortran/crayptr3.f90: New test.
6331 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
6332 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
6333 * testsuite/libgomp.fortran/pointer1.f90: New test.
6334 * testsuite/libgomp.fortran/pointer2.f90: New test.
6335 * testsuite/libgomp.fortran/task4.f90: New test.
6336
63372011-08-02 Tobias Burnus <burnus@net-b.de>
6338
6339 * libgomp.texi: Update OpenMP spec references to 3.1.
6340 (omp_in_final,OMP_PROC_BIND): New sections.
6341 (OMP_NUM_THREADS): Document that the value can be now a list.
6342 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
6343
c01ecafc
L
63442011-08-02 H.J. Lu <hongjiu.lu@intel.com>
6345
6346 * config/linux/x86/futex.h: Check __x86_64__ instead of
6347 __LP64__.
6348
25142650
JJ
63492011-07-29 Jakub Jelinek <jakub@redhat.com>
6350
6351 PR middle-end/49897
6352 PR middle-end/49898
6353 * testsuite/libgomp.c/pr49897-1.c: New test.
6354 * testsuite/libgomp.c/pr49897-2.c: New test.
6355 * testsuite/libgomp.c/pr49898-1.c: New test.
6356 * testsuite/libgomp.c/pr49898-2.c: New test.
6357
f53d712f
L
63582011-07-28 H.J. Lu <hongjiu.lu@intel.com>
6359
6360 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
6361 for ia32 instead of ilp32.
6362
6363 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
6364 * testsuite/libgomp.c/atomic-6.c: Likewise.
6365
3689198d
SP
63662011-07-23 Sebastian Pop <sebastian.pop@amd.com>
6367
6368 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
6369 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
6370
1a79cb73
RO
63712011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6372
6373 PR libgomp/45351
6374 * config/osf/sem.h: New file.
6375 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
6376
c1f51484
RO
63772011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6378
6379 PR target/49541
6380 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
6381 ldflags.
6382
bfee0724
JJ
63832011-07-15 Jakub Jelinek <jakub@redhat.com>
6384
6385 * config/linux/wait.h (do_spin): New inline, largely copied
6386 from do_wait, just don't do futex_wait here, instead return true if
6387 it should be done.
6388 (do_wait): Implement using do_spin.
6389 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
6390 to prototype.
6391 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6392 __sync_bool_compare_and_swap, pass the oldval to
6393 gomp_mutex_lock_slow.
6394 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
6395 If all mutex contenders are just spinning and not sleeping, don't
6396 change state to 2 unnecessarily. Optimize the loop when state has
6397 already become 2 to use just one atomic operation per loop instead
6398 of two.
6399 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
6400 to prototype.
6401 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6402 __sync_bool_compare_and_swap, pass the oldval to
6403 gomp_mutex_lock_slow.
6404
fb79f500
JJ
64052011-06-22 Jakub Jelinek <jakub@redhat.com>
6406
6407 PR libgomp/49490
6408 * iter.c (gomp_iter_static_next): For chunk size 0
6409 only use n ceil/ nthreads size for the first
6410 n % nthreads threads in the team instead of
6411 all threads except for the last few ones which
6412 get less work or none at all.
6413 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
6414 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
6415 chunk argument, set run_sched_modifier to 0 for static
6416 resp. 1 for other kinds. If chunk argument is 0
6417 and not static, set value to 1.
6418
4577f730
JJ
64192011-05-19 Jakub Jelinek <jakub@redhat.com>
6420
ea93a47b
JJ
6421 PR c++/49043
6422 * testsuite/libgomp.c++/pr49043.C: New test.
6423
4577f730
JJ
6424 PR c++/48869
6425 * testsuite/libgomp.c++/pr48869.C: New test.
6426
e7385332
JJ
64272011-05-06 Jakub Jelinek <jakub@redhat.com>
6428
6429 PR fortran/48894
6430 * fortran.c: Include limits.h.
6431 (TO_INT): Define.
6432 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
6433 *set.
6434 (omp_set_num_threads_8_, omp_set_schedule_8_,
6435 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
6436 omp_get_team_size_8_): Use TO_INT macro.
6437 * testsuite/libgomp.fortran/pr48894.f90: New test.
6438
20790697
JJ
64392011-04-13 Jakub Jelinek <jakub@redhat.com>
6440
6441 PR middle-end/48591
6442 * testsuite/libgomp.c/pr48591.c: New test.
6443
bf382f5f
RO
64442011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6445
6446 PR bootstrap/48135
6447 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
6448 * configure: Regenerate.
6449
113a53c1
JJ
64502011-02-27 Jakub Jelinek <jakub@redhat.com>
6451
6452 PR fortran/47886
6453 * testsuite/libgomp.fortran/task3.f90: New test.
6454
0024f1af
TB
64552011-02-24 Tobias Burnus <burnus@net-b.de>
6456
6457 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
6458
21e1e594
JJ
64592011-02-23 Jakub Jelinek <jakub@redhat.com>
6460
6461 PR libgomp/47854
6462 * libgomp.texi (omp_get_wtime): Don't say time in the past
6463 must be Unix Epoch.
6464
67962076
JJ
64652011-02-18 Jakub Jelinek <jakub@redhat.com>
6466
6467 PR libgomp/47804
6468 * testsuite/libgomp.fortran/fortran.exp: Check for both
6469 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
6470 but $blddir != "", still append ${blddir}/${lang_library_path}
6471 to ld_library_path.
6472
3808007c
TB
64732011-02-16 Tobias Burnus <burnus@net-b.de>
6474
6475 PR libgomp/47758
6476 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
6477 of libquadmath.a before adding its libpath to ldflags.
6478
53b4d41d
JJ
64792011-02-14 Jakub Jelinek <jakub@redhat.com>
6480
6481 PR libgomp/47731
6482 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
6483 to FUTEX_WAIT futex syscall.
6484 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
6485
029c8f3e
RW
64862011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6487
6488 * configure: Regenerate.
6489
bddd6626
BK
64902011-01-20 Benjamin Kosnik <bkoz@redhat.com>
6491
6492 PR libstdc++/36104
6493 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
6494
f1d4ab26
GP
64952011-01-16 Gerald Pfeifer
6496
6497 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
6498
2b503136
JJ
64992010-12-14 Jakub Jelinek <jakub@redhat.com>
6500
6501 PR fortran/46874
6502 * libgomp.fortran/allocatable6.f90: New test.
6503
c0f9d583
RO
65042010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6505
6506 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
6507 * configure: Regenerate.
6508
7de6ba7a
DK
65092010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
6510
6511 PR target/40125
6512 PR lto/46695
6513 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
6514 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
6515 * aclocal.m4: Regenerate.
6516 * configure: Regenerate.
6517 * Makefile.in: Regenerate.
6518 * testsuite/Makefile.in: Regenerate.
6519
b7516041
JJ
65202010-12-02 Jakub Jelinek <jakub@redhat.com>
6521
edaadf74
JJ
6522 PR fortran/46753
6523 * libgomp.fortran/pr46753.f90: New test.
6524
4c698cf8
JJ
6525 PR libgomp/43706
6526 * env.c (initialize_env): Default to spin count 300000
6527 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
6528 is specified.
6529
b7516041
JJ
6530 PR libgomp/45240
6531 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
6532 at the end if sync builtins aren't supported.
6533
6b43a34c
RO
65342010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6535
6536 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
6537
950691fa
RO
65382010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6539
6540 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
6541
fb9041ea
IS
65422010-11-24 Iain Sandoe <iains@gcc.gnu.org>
6543
6544 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
6545
1ec601bf
FXC
65462010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6547 Tobias Burnus <burnus@net-b.de>
6548
6549 PR fortran/32049
3e348fcc 6550 * configure.ac:
1ec601bf
FXC
6551 * configure: Regenerate.
6552
d213e92e
MS
65532010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
6554
6555 * config/linux/futex.h: New.
6556 * config/linux/arm/mutex.h: New.
6557 * configure.tgt (arm*-*-linux*): Add config path.
6558
89d5c66f
SP
65592010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6560
6561 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6562
87350d4a
TB
65632010-09-23 Tobias Burnus <burnus@net-b.de>
6564
6565 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
6566 Change Fortran datatype to LOGICAL.
6567 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
6568 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
6569
75bc9e5e
RW
65702010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6571
6572 * configure: Regenerate.
6573
acb5c916
JJ
65742010-07-26 Jakub Jelinek <jakub@redhat.com>
6575
6576 * libgomp.texi: Add function keyword to a couple of Fortran
6577 interfaces, use integer instead of int for Fortran.
6578
6a2ba183
AH
65792010-07-26 Aldy Hernandez <aldyh@redhat.com>
6580
6581 * libgomp.texi: Fix spelling and pasto problems throughout.
6582 Adjust prototypes to match code.
6583
df161b69
TB
65842010-07-24 Tobias Burnus <burnus@net-b.de>
6585
6586 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
6587 silence -fwhole-file warning.
6588
16c9d3b1
RO
65892010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6590
6591 * configure.tgt (*-*-solaris2.[56]*): Removed.
6592
6d28b933
RO
65932010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6594
6595 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
6596 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
6597 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
6598 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
6599 targetting solaris2*.
6600 * configure: Regenerate.
6601 * config.h.in: Regenerate.
6602
6603 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
6604 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
6605 Add libgomp_version_dep.
6606 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
6607 versioning.
6608 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
6609 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
6610 * Makefile.in: Regenerate.
6611
6612 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
6613 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6614 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
6615 to common block, protected by
6616 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6617
07a67d6a
GP
66182010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
6619
6620 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
6621
dbd34b89
IS
66222010-06-09 Iain Sandoe <iains@gcc.gnu.org>
6623
6624 PR bootstrap/43170
6625 * configure: Regenerate.
6626
13917ae3
RW
66272010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6628
6629 PR other/43620
6630 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
6631 * configure: Regenerate.
6632 * Makefile.in: Regenerate.
6633 * testsuite/Makefile.in: Regenerate.
6634
b83a701b
JJ
66352010-04-26 Jakub Jelinek <jakub@redhat.com>
6636
6637 PR c/43893
6638 * testsuite/libgomp.c/pr43893.c: New test.
6639 * testsuite/libgomp.c++/pr43893.C: New test.
6640
78db7d92
JJ
66412010-04-21 Jakub Jelinek <jakub@redhat.com>
6642
6643 PR middle-end/43570
6644 * testsuite/libgomp.fortran/vla8.f90: New test.
6645
5221d7a9
JJ
66462010-04-20 Jakub Jelinek <jakub@redhat.com>
6647
e4ba7a60
JJ
6648 PR libgomp/43706
6649 * config/linux/affinity.c (gomp_init_affinity): Decrease
6650 gomp_available_cpus if affinity mask confines the process to fewer
6651 CPUs.
6652 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
6653 non-NULL, just return gomp_available_cpus.
6654
5221d7a9
JJ
6655 PR libgomp/43569
6656 * sections.c (gomp_sections_init): Initialize ws->mode.
6657
289a9f86
UB
66582010-04-14 Uros Bizjak <ubizjak@gmail.com>
6659
6660 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
6661 not unused bar variable.
6662 * configure: Regenerate.
6663
4d9e8446
RW
66642010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6665
6666 * Makefile.in: Regenerate.
6667 * aclocal.m4: Regenerate.
6668 * testsuite/Makefile.in: Regenerate.
6669
80f046cc
JJ
66702010-03-22 Jakub Jelinek <jakub@redhat.com>
6671
6672 PR libgomp/42942
6673 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
6674 (initialize_env): Adjust callers.
6675 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
6676 when the argument is 0.
6677
6678 * testsuite/libgomp.c/pr42942.c: New test.
6679
b58543c3
SP
66802010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6681
6682 PR middle-end/42644
6683 PR middle-end/42130
6684 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6685 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
6686
41d1138f
RO
66872010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6688
6689 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
6690 * testsuite/libgomp.c++/task-6.C: Likewise.
6691
6684eb28
SE
66922010-01-28 Steve Ellcey <sje@cup.hp.com>
6693
6694 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
6695
2122aa97
PB
66962010-01-26 Paolo Bonzini <bonzini@gnu.org>
6697
6698 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
6699 * configure: Regenerate.
6700
057dd91d
JJ
67012010-01-26 Jakub Jelinek <jakub@redhat.com>
6702
6703 PR fortran/42866
6704 * testsuite/libgomp.fortran/allocatable5.f90: New test.
6705
d0709b6a
PB
67062010-01-20 Paolo Bonzini <bonzini@gnu.org>
6707
6708 * configure.ac: Test for executability of GFORTRAN.
6709 * configure: Regenerate.
6710
b9497ab5
RO
67112010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6712
6713 * configure: Regenerate.
6714
45de5648
L
67152010-01-04 H.J. Lu <hongjiu.lu@intel.com>
6716
6717 PR libgomp/42602
6718 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6719
e74003a1
RG
67202010-01-03 Richard Guenther <rguenther@suse.de>
6721
6722 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
6723
1b3abda8
SP
67242009-12-23 Sebastian Pop <sebpop@gmail.com>
6725
6726 * testsuite/libgomp.graphite/pr4118.c: New.
6727
e19977d3
IS
67282009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6729
6730 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
6731 for darwin, protect the test with require-effective-target tls_runtime.
6732 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6733
1d32a772
IS
67342009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6735
6736 PR target/41605
6737 * testsuite/lib/libgomp.exp: Provide -B options to allow for
6738 link spec %s substitutions for static libraries.
6739
deb109b2
JH
67402009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
6741
6742 PR testsuite/42135
6743 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6744
43e02a8a
RW
67452009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6746
6747 * Makefile.in: Regenerate.
6748 * configure: Regenerate.
6749 * testsuite/Makefile.in: Regenerate.
6750
17f35e23
DK
67512009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
6752
6753 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
6754 settings for LC_ALL and LANG.
6755
281e33e1
JJ
67562009-11-25 Jakub Jelinek <jakub@redhat.com>
6757
6758 PR fortran/42162
6759 * testsuite/libgomp.fortran/pr42162.f90: New test.
6760
2b32c27d
JJ
67612009-11-13 Jakub Jelinek <jakub@redhat.com>
6762
6763 PR middle-end/42029
281e33e1 6764 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 6765
89c74f4a
JJ
67662009-10-26 Jakub Jelinek <jakub@redhat.com>
6767
6768 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
6769 *s. Accept ld version without text in ()s.
6770 * configure: Regenerated.
6771
7e06c3d6
EB
67722009-10-22 Razya Ladelsky <razya@il.ibm.com>
6773
6774 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
6775
0046b1a7
RW
67762009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6777
6778 PR libgomp/41418
6779 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
6780 or a hyphen (happens with fortran language disabled).
6781 * configure: Regenerate.
6782
c82852f7
RW
67832009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6784
6785 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
6786 use sed script portable to Solaris /bin/sed for extracting ld
6787 version.
6788 * configure: Regenerate.
6789
98f3eb1f
AM
67902009-09-17 Alexander Monakov <amonakov@ispras.ru>
6791
6792 * testsuite/libgomp.graphite/bounds.c: New test.
6793
878f62e5
RW
67942009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6795
6796 * Makefile.am (libgomp_la_LINK): New.
6797 * Makefile.in: Regenerate.
6798
df58e648
RW
67992009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6800
6801 * configure.ac (AC_PREREQ): Bump to 2.64.
6802
5213506e
RW
68032009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6804
70fa0efa
RW
6805 * Makefile.am (install-html, install-pdf): Remove.
6806 * Makefile.in: Regenerate.
6807
5213506e
RW
6808 * Makefile.in: Regenerate.
6809 * aclocal.m4: Regenerate.
6810 * config.h.in: Regenerate.
6811 * configure: Regenerate.
6812 * testsuite/Makefile.in: Regenerate.
6813
84fec8a5
RW
68142009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6815
6816 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
6817 * Makefile.in: Regenerate.
6818
197c68cc
DK
68192009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
6820
6821 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
6822 * Makefile.in: Regenerate.
6823
693d54f2
TB
68242009-08-19 Tobias Burnus <burnus@net-b.de>
6825
6826 PR fortran/41102
6827 omp_lib.h.in: Fix -std=f95 errors.
6828
8cac884c
DE
68292009-08-14 David Edelsohn <edelsohn@gnu.org>
6830
6831 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
6832 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
6833 * testsuite/libgomp.graphite/graphite.exp: New.
6834
78729ee2
AT
68352009-08-05 Andreas Tobler <a.tobler@schweiz.org>
6836
6837 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
6838 only build.
6839
b13b7f39
DD
68402009-08-04 David Daney <ddaney@caviumnetworks.com>
6841
6842 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
6843 needed memory barrier semantics.
6844 * config/linux/mips/mutex.h: New file.
6845
1b3b24c2
RW
68462009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6847
6848 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
6849
396b7fa4
JM
68502009-07-16 Joseph Myers <joseph@codesourcery.com>
6851
6852 * configure: Regenerate.
6853
33cde516
RS
68542009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
6855
6856 PR testsuite/40699
6857 PR testsuite/40707
6858 PR testsuite/40709
6859 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
6860 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
6861 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
6862
bc21bfa5
RS
68632009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
6864
6865 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
6866 options when choosing a multilib.
6867
b30bfd40
RS
68682009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
6869
6870 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
6871 ld_library_path. Use add_path. Add just find_libgcc_s to
6872 ld_library_path, not every libgcc multilib directory.
6873 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
6874 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
6875 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
6876 Use add_path.
6877 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
6878
479c15c2
NF
68792009-06-09 Nathan Froyd <froydnj@codesourcery.com>
6880
6881 * Makefile.am (LTLDFLAGS): Define.
6882 (LINK): Define.
6883 * Makefile.in: Regenerate.
6884
667e6f89
JB
68852009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
6886
6887 PR fortran/39718
6888 * testsuite/libgomp.fortran/fortran.exp: Don't link with
6889 libgfortranbegin, check existence of libgfortran.a instead of
6890 libgfortranbegin.a.
6891
6dea8e99
JJ
68922009-05-20 Jakub Jelinek <jakub@redhat.com>
6893
6894 PR libgomp/40174
6895 * team.c (gomp_thread_start): Destroy thr->release semaphore.
6896 (gomp_free_pool_helper): Likewise.
6897
34d01e1d
VL
68982009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
6899 Jakub Jelinek <jakub@redhat.com>
6900
6901 PR fortran/35423
6902 * testsuite/libgomp.fortran/workshare2.f90: New test.
6903
748086b7
JJ
69042009-04-09 Nick Clifton <nickc@redhat.com>
6905
6906 * iter.c: Change copyright header to refer to version 3 of the
6907 GNU General Public License with version 3.1 of the GCC Runtime
6908 Library Exception and to point readers at the COPYING3 and
6909 COPYING3.RUNTIME files and the FSF's license web page.
6910 * alloc.c: Likewise.
6911 * barrier.c: Likewise.
6912 * config/bsd/proc.c: Likewise.
6913 * config/linux/affinity.c: Likewise.
6914 * config/linux/alpha/futex.h: Likewise.
6915 * config/linux/bar.c: Likewise.
6916 * config/linux/bar.h: Likewise.
6917 * config/linux/ia64/futex.h: Likewise.
6918 * config/linux/ia64/mutex.h: Likewise.
6919 * config/linux/lock.c: Likewise.
6920 * config/linux/mips/futex.h: Likewise.
6921 * config/linux/mutex.c: Likewise.
6922 * config/linux/mutex.h: Likewise.
6923 * config/linux/powerpc/futex.h: Likewise.
6924 * config/linux/proc.c: Likewise.
6925 * config/linux/ptrlock.c: Likewise.
6926 * config/linux/ptrlock.h: Likewise.
6927 * config/linux/s390/futex.h: Likewise.
6928 * config/linux/sem.c: Likewise.
6929 * config/linux/sem.h: Likewise.
6930 * config/linux/sparc/futex.h: Likewise.
6931 * config/linux/wait.h: Likewise.
6932 * config/linux/x86/futex.h: Likewise.
6933 * config/mingw32/proc.c: Likewise.
6934 * config/mingw32/time.c: Likewise.
6935 * config/posix/affinity.c: Likewise.
6936 * config/posix/bar.c: Likewise.
6937 * config/posix/bar.h: Likewise.
6938 * config/posix/lock.c: Likewise.
6939 * config/posix/mutex.h: Likewise.
6940 * config/posix/proc.c: Likewise.
6941 * config/posix/ptrlock.h: Likewise.
6942 * config/posix/sem.c: Likewise.
6943 * config/posix/sem.h: Likewise.
6944 * config/posix/time.c: Likewise.
6945 * config/posix95/lock.c: Likewise.
6946 * critical.c: Likewise.
6947 * env.c: Likewise.
6948 * error.c: Likewise.
6949 * fortran.c: Likewise.
6950 * iter_ull.c: Likewise.
6951 * libgomp.h: Likewise.
6952 * libgomp_f.h.in: Likewise.
6953 * libgomp_g.h: Likewise.
6954 * loop.c: Likewise.
6955 * loop_ull.c: Likewise.
6956 * omp.h.in: Likewise.
6957 * omp_lib.f90.in: Likewise.
6958 * omp_lib.h.in: Likewise.
6959 * ordered.c: Likewise.
6960 * parallel.c: Likewise.
6961 * sections.c: Likewise.
6962 * single.c: Likewise.
6963 * task.c: Likewise.
6964 * team.c: Likewise.
6965 * work.c: Likewise.
6966
69672009-04-09 Jakub Jelinek <jakub@redhat.com>
6968
6969 * testsuite/config/default.exp: Change copyright header to refer to
6970 version 3 of the GNU General Public License and to point readers
6971 at the COPYING3 file and the FSF's license web page.
6972
4f0ae266
JJ
69732009-04-08 Jakub Jelinek <jakub@redhat.com>
6974
6975 PR middle-end/39573
6976 * libgomp.c++/pr39573.C: New test.
6977
03742a9b
JJ
69782009-04-01 Jakub Jelinek <jakub@redhat.com>
6979
6980 PR other/39591
6981 * testsuite/libgomp.c/pr39591-1.c: New test.
6982 * testsuite/libgomp.c/pr39591-2.c: New test.
6983 * testsuite/libgomp.c/pr39591-3.c: New test.
6984
e50ea10b
UB
69852009-03-25 Uros Bizjak <ubizjak@gmail.com>
6986
6987 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
6988 * testsuite/libgomp.c/atomic-6.c: Ditto.
6989
c5cdb03f
JJ
69902009-03-23 Jakub Jelinek <jakub@redhat.com>
6991
6992 PR c/39495
6993 * testsuite/libgomp.c/loop-12.c: New test.
6994 * testsuite/libgomp.c/loop-11.c: New test.
6995 * testsuite/libgomp.c++/loop-11.C: New test.
6996 * testsuite/libgomp.c++/loop-12.C: New test.
6997 * testsuite/libgomp.c++/for-8.C: New test.
6998
7a9d3fe8
RW
69992009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7000
7001 * configure: Regenerate.
7002
3ad6b266
JJ
70032009-02-11 Jakub Jelinek <jakub@redhat.com>
7004
7005 PR middle-end/39154
7006 * testsuite/libgomp.c/pr39154.c: New test.
7007
b39dea08
ILT
70082009-01-30 Ian Lance Taylor <iant@google.com>
7009
7010 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
7011 libgomp_ld_is_gold. Get gold version number.
7012 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
7013 * configure: Rebuild.
7014
72c66596
IS
70152009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
7016
e50ea10b 7017 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
7018 use libgfortran.a%s in their specs.
7019
876080ff
JJ
70202009-01-07 Jakub Jelinek <jakub@redhat.com>
7021
7022 PR libgomp/38086
7023 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
7024 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
7025 HAVE_AS_SYMVER_DIRECTIVE is not defined.
7026 * configure: Regenerated.
7027 * config.h.in: Likewise.
7028
e4ebaef3
JJ
70292008-12-28 Jakub Jelinek <jakub@redhat.com>
7030
7031 PR c++/38650
7032 * testsuite/libgomp.c/pr38650.c: New test.
7033 * testsuite/libgomp.c++/pr38650.C: New test.
7034
382017a6
JJ
70352008-12-27 Jakub Jelinek <jakub@redhat.com>
7036
7037 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
7038
79644b27
UB
70392008-12-26 Uros Bizjak <ubizjak@gmail.com>
7040
7041 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
7042
baafc534
RW
70432008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7044
7045 * configure: Regenerate.
7046
d9c194cb
JJ
70472008-12-08 Jakub Jelinek <jakub@redhat.com>
7048
7049 PR middle-end/36802
7050 * testsuite/libgomp.c/pr36802-1.c: New test.
7051 * testsuite/libgomp.c/pr36802-2.c: New test.
7052 * testsuite/libgomp.c/pr36802-3.c: New test.
7053
86a182bf
JJ
70542008-12-01 Janis Johnson <janis187@us.ibm.com>
7055
7056 PR libgomp/38270
7057 * config/linux/powerpc/mutex.h: New.
7058
956adfaf
JJ
70592008-12-01 Jakub Jelinek <jakub@redhat.com>
7060
a2d4cdc9
JJ
7061 PR c++/38257
7062 * testsuite/libgomp.c++/for-7.C: New test.
7063
956adfaf
JJ
7064 PR c++/38348
7065 * testsuite/libgomp.c++/for-6.C: New test.
7066
d4038ca2
JJ
70672008-11-26 Janis Johnson <janis187@us.ibm.com>
7068
7069 PR testsuite/28870
7070 * testsuite/lib/libgomp.exp: Include new timeout library files.
7071 (libgomp_target_compile): Set timeout value from new proc.
7072
8b159eea
SE
70732008-11-13 Steve Ellcey <sje@cup.hp.com>
7074
7075 PR libgomp/37938
7076 * config/linux/ia64/mutex.h: New.
7077
5c6ed53a
TB
70782008-11-04 Tobias Burnus <burnus@net-b.de>
7079
7080 PR libgomp/37935
7081 * libgomp.texi (Runtime library routines, environment variables):
7082 Update for OpenMP version 3.0.
7083
6b4a97ed
PG
70842008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
7085 Steve Ellcey <sje@cup.hp.com>
7086
7087 * configure: Regenerate for new libtool.
7088 * Makefile.in: Ditto.
7089 * testsuite/Makefile.in: Ditto.
7090
e2b34106
JJ
70912008-09-19 Jakub Jelinek <jakub@redhat.com>
7092 Andreas Tobler <a.tobler@schweiz.org>
7093
7094 * config/bsd/proc.c: New file.
8c3b3600 7095 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
7096 * configure.ac: Check for header <sys/sysctl.h>
7097 * configure: Regenerate.
7098 * config.h.in: Likewise.
7099
3606b8bf
JJ
71002008-09-05 Janis Johnson <janis187@us.ibm.com>
7101
7102 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
7103
6528b88d
AL
71042008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
7105
7106 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
7107 * Makefile.in: Regenerated.
7108 * testsuite/Makefile.in: Regenerated.
7109
d9b14b12 71102008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 7111
a16b68bb 7112 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
7113 depend on blddir if blddir exists.
7114 (libgomp_target_compile): Likewise.
7115 * testsuite/libgomp.c++/c++.exp: Likewise.
7116 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7117
70b1e376
RW
71182008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7119
7120 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
7121 Do not list GPL as Invariant Section.
7122
318e8c3f
IG
71232008-07-28 Ilie Garbacea <ilie@mips.com>
7124 Chao-ying Fu <fu@mips.com>
7125
7126 * configure.tgt: Enable futex for MIPS.
7127 * config/linux/mips/futex.h: New file.
7128
4db72361
JJ
71292008-07-16 Jakub Jelinek <jakub@redhat.com>
7130
7131 * team.c (gomp_team_end): Free team immediately if it has
7132 just one thread.
7133
87bd23b8
DE
71342008-07-08 David Edelsohn <edelsohn@gnu.org>
7135
7136 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
7137 * testsuite/libgomp.fortran/fortran.exp: Same.
7138 * testsuite/libgomp.c/c.exp: Same.
7139 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
7140 directory to library path first.
7141
323ff903
KW
71422008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
7143
7144 * env.c (parse_stacksize): Add cast to avoid warning.
7145 (parse_spincount): Likewise.
7146
b357f682
JJ
71472008-06-27 Jakub Jelinek <jakub@redhat.com>
7148
ca2b1311
JJ
7149 * testsuite/libgomp.c/loop-10.c: New test.
7150 * libgomp.c/loop-3.c (main): Add lastprivate clause.
7151 * libgomp.c++/loop-6.C (main): Likewise.
7152
b357f682
JJ
7153 PR debug/36617
7154 * testsuite/libgomp.c/debug-1.c: New test.
7155
09a46078
JJ
71562008-06-19 Jakub Jelinek <jakub@redhat.com>
7157
7158 * testsuite/libgomp.c/nqueens-1.c: New test.
7159
2368a460
JJ
7160 PR c++/36523
7161 * testsuite/libgomp.c++/task-7.C: New function.
7162
18c04407
RW
71632008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7164
7165 * configure: Regenerate.
7166
9c4e59e0
JDA
71672008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7168
7169 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
7170 mutex when HAVE_SYNC_BUILTINS isn't defined.
7171
6ccde948
RW
71722008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7173
7174 * libgomp.texi (omp_test_lock): Fix typo.
7175
b896f9fd
TB
71762008-06-12 Tobias Burnus <burnus@net-b.de>
7177
7178 * omp_lib.f90.in: Add "implicit none".
7179
c34938a8
JJ
71802008-06-12 Jakub Jelinek <jakub@redhat.com>
7181
7182 PR middle-end/36506
7183 * testsuite/libgomp.c/reduction-5.c: New test.
7184
976e44e3
JJ
71852008-06-11 Jakub Jelinek <jakub@redhat.com>
7186
5f836cbb
JJ
7187 * libgomp.h (struct gomp_task): Add in_tied_task field.
7188 * task.c (gomp_init_task): Initialize it.
7189 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
7190 unconditionally. Don't call gomp_team_barrier_wake if
7191 current task is implicit or if(0) from implicit and number of
7192 running tasks is equal to nthreads - 1.
7193
01501fc8
JJ
7194 PR libgomp/36471
7195 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
7196 omp_get_team_size_8): Fix pastos.
7197
976e44e3
JJ
7198 PR libgomp/36469
7199 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
7200 * configure: Regenerated.
7201 * config.h.in: Regenerated.
7202 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
7203 defined.
7204
e919209b
AT
72052008-06-06 Andreas Tobler <a.tobler@schweiz.org>
7206
7207 PR bootstrap/36452
7208 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
7209 (GOMP_loop_ull_dynamic_start): Likewise.
7210 (GOMP_loop_ull_guided_start): Likewise.
7211 (GOMP_loop_ull_ordered_static_start): Likewise.
7212 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
7213 (GOMP_loop_ull_ordered_guided_start): Likewise.
7214
a68ab351
JJ
72152008-06-06 Jakub Jelinek <jakub@redhat.com>
7216 Richard Henderson <rth@redhat.com>
7217 Ulrich Drepper <drepper@redhat.com>
7218 Jakob Blomer <jakob.blomer@ira.uka.de>
7219
7220 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
7221 Substitute also OMP_*LOCK_25*.
7222 * configure: Regenerated.
7223 * config.h.in: Regenerated.
7224 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
7225 ptrlock.c and task.c.
7226 * Makefile.in: Regenerated.
7227 * testsuite/Makefile.in: Regenerated.
7228 * task.c: New file.
7229 * loop_ull.c: New file.
7230 * iter_ull.c: New file.
7231 * libgomp.h: Include ptrlock.h.
7232 (enum gomp_task_kind): New type.
7233 (struct gomp_team): Add task_lock, task_queue, task_count,
7234 task_running_count, single_count fields. Add
7235 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
7236 Remove work_share_lock, generation_mask,
7237 oldest_live_gen, num_live_gen and init_work_shares fields, add
7238 work work_share_list_alloc, work_share_list_free and work_share_chunk
7239 fields. Change work_shares from pointer to pointers into an array.
7240 Change ordered_release field into gomp_sem_t ** from flexible array
7241 member. Add implicit_task and initial_work_shares fields.
7242 Move close to the end of the struct.
7243 (struct gomp_team_state): Add single_count, last_work_share,
7244 active_level and level fields, remove work_share_generation.
7245 (gomp_barrier_handle_tasks): New prototype.
7246 (gomp_finish_task): New inline function.
7247 (struct gomp_work_share): Move chunk_size, end, incr into
7248 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
7249 next_ll fields. Reshuffle fields. Add next_alloc,
7250 next_ws, next_free and inline_ordered_team_ids fields, change
7251 ordered_team_ids into pointer from flexible array member.
7252 Add mode field. Put lock and next into a different cache line
7253 from most of the write-once fields.
7254 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
7255 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
7256 gomp_iter_ull_guided_next): New prototypes.
7257 (gomp_new_icv): New prototype.
7258 (struct gomp_thread): Add thread_pool and task fields.
7259 (struct gomp_thread_pool): New type.
7260 (gomp_new_team): New prototype.
7261 (gomp_team_start): Change type of last argument.
7262 (gomp_new_work_share): Removed.
7263 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
7264 (gomp_work_share_init_done): New static inline.
7265 (gomp_throttled_spin_count_var, gomp_available_cpus,
7266 gomp_managed_threads): New extern decls.
7267 (gomp_init_task): New prototype.
7268 (gomp_spin_count_var): New extern var decl.
7269 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
7270 or no alias support, or if not PIC.
7271 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
7272 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
7273 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
7274 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
7275 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
7276 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
7277 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
7278 gomp_test_nest_lock_25): New prototypes.
7279 (omp_lock_symver, strong_alias): Define.
7280 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
7281 decls.
7282 (gomp_end_task): New.
7283 (struct gomp_task_icv, gomp_global_icv): New.
7284 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
7285 (struct gomp_task): New.
7286 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7287 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7288 (gomp_icv): New.
7289 (gomp_schedule_type): Reorder enum to match
7290 omp_sched_t.
7291 * team.c (struct gomp_thread_start_data): Add thread_pool and task
7292 fields.
7293 (gomp_thread_start): Add gomp_team_barrier_wait call.
7294 For non-nested case remove clearing of docked thread thr fields.
7295 Use pool fields instead of global gomp_* variables. Use
7296 gomp_barrier_wait_last when needed. Initialize ts.active_level.
7297 Create tasks for each member thread.
7298 (free_team): Only destroy team barrier, task_lock here and free it.
7299 (gomp_free_thread): Free last_team if non-NULL.
7300 (gomp_team_end): Call gomp_team_barrier_wait instead of
7301 gomp_barrier_wait. For nested case call one extra
7302 gomp_barrier_wait. Move here some destruction from free_team.
7303 Call free_team on pool->last_team if any, rather than freeing
7304 current team. Destroy work_share_list_free_lock ifndef
7305 HAVE_SYNC_BUILTINS.
7306 (gomp_new_icv): New function.
7307 (gomp_threads, gomp_threads_size, gomp_threads_used,
7308 gomp_threads_dock): Removed.
7309 (gomp_thread_destructor): New variable.
7310 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
7311 functions.
7312 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 7313 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
7314 Initialize thread_pool field for new threads. Clear single_count.
7315 Change last argument from ws to team, don't create
7316 new team, set ts.work_share to &team->work_shares[0] and clear
7317 ts.last_work_share. Don't clear ts.work_share_generation.
7318 If number of threads changed, adjust atomically gomp_managed_threads.
7319 Use gomp_init_task instead of gomp_new_task,
7320 set thr->task to the corresponding implicit_task array entry.
7321 Create tasks for each member thread. Initialize ts.level.
7322 (initialize_team): Call pthread_key_create on
7323 gomp_thread_destructor.
7324 (team_destructor): New function.
7325 (new_team): Removed.
7326 (gomp_new_team): New function.
7327 (free_team): Free gomp_work_share blocks chained through next_alloc,
7328 instead of freeing work_shares and destroying work_share_lock.
7329 (gomp_team_end): Call gomp_fini_work_share. If number of threads
7330 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
7331 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
7332 of gomp_barrier_wait.
7333 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
7334 instead of gomp_barrier_wait. Call gomp_work_share_init_done
7335 if gomp_work_share_start returned true. Don't unlock ws->lock.
7336 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
7337 of gomp_barrier_wait.
7338 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
7339 gomp_work_share_init_done if gomp_work_share_start returned true.
7340 Don't unlock ws->lock.
7341 * work.c: Include stddef.h.
7342 (free_work_share): Use work_share_list_free_lock instead
7343 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
7344 Call gomp_fini_work_share and then either free ws if orphaned, or
7345 put it into work_share_list_free list of the current team.
7346 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
7347 functions.
7348 (gomp_work_share_start, gomp_work_share_end,
7349 gomp_work_share_end_nowait): Rewritten.
7350 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
7351 (openmp_version): Set to 200805.
7352 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7353 omp_sched_guided, omp_sched_auto): New parameters.
7354 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7355 omp_set_max_active_levels, omp_get_max_active_levels,
7356 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7357 omp_get_active_level): New interfaces.
7358 * omp_lib.h.in (openmp_version): Set to 200805.
7359 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7360 omp_sched_guided, omp_sched_auto): New parameters.
7361 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7362 omp_set_max_active_levels, omp_get_max_active_levels,
7363 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7364 omp_get_active_level): New externals.
7365 * loop.c: Include limits.h.
7366 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
7367 GFS_AUTO.
7368 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
7369 Likewise. Use gomp_icv.
7370 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
7371 ts.static_trip here.
7372 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
7373 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
7374 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
7375 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
7376 don't unlock ws->lock, otherwise lock it.
7377 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
7378 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
7379 (gomp_parallel_loop_start): Call gomp_new_team instead of
7380 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
7381 Adjust gomp_team_start caller. Pass 0 as second argument to
7382 gomp_resolve_num_threads.
7383 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
7384 If adding ws->chunk_size nthreads + 1 times after end won't
7385 overflow, set ws->mode to 1.
7386 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
7387 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
7388 GOMP_loop_ull_ordered_static_start,
7389 GOMP_loop_ull_ordered_dynamic_start,
7390 GOMP_loop_ull_ordered_guided_start,
7391 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
7392 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
7393 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
7394 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
7395 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
7396 prototypes.
7397 * libgomp.map: Export lock routines also @@OMP_2.0.
7398 (GOMP_loop_ordered_dynamic_first,
7399 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
7400 GOMP_loop_ordered_static_first): Remove.
7401 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
7402 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
7403 GOMP_loop_ull_ordered_dynamic_next,
7404 GOMP_loop_ull_ordered_dynamic_start,
7405 GOMP_loop_ull_ordered_guided_next,
7406 GOMP_loop_ull_ordered_guided_start,
7407 GOMP_loop_ull_ordered_runtime_next,
7408 GOMP_loop_ull_ordered_runtime_start,
7409 GOMP_loop_ull_ordered_static_next,
7410 GOMP_loop_ull_ordered_static_start,
7411 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
7412 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
7413 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
7414 (omp_set_schedule, omp_get_schedule,
7415 omp_get_thread_limit, omp_set_max_active_levels,
7416 omp_get_max_active_levels, omp_get_level,
7417 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
7418 omp_set_schedule_, omp_set_schedule_8_,
7419 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7420 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7421 omp_get_max_active_levels_, omp_get_level_,
7422 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7423 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7424 New exports @@OMP_3.0.
7425 * omp.h.in (omp_sched_t): New type.
7426 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7427 omp_set_max_active_levels, omp_get_max_active_levels,
7428 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7429 omp_get_active_level): New prototypes.
7430 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
7431 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
7432 gomp_thread_limit_var, gomp_remaining_threads_count,
7433 gomp_remaining_threads_lock): New variables.
7434 (parse_spincount): New function.
7435 (initialize_env): Call gomp_init_num_threads unconditionally.
7436 Initialize gomp_available_cpus. Call parse_spincount,
7437 initialize gomp_{,throttled_}spin_count_var
7438 depending on presence and value of OMP_WAIT_POLICY and
7439 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
7440 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
7441 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
7442 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
7443 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
7444 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7445 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7446 (gomp_global_icv): New.
7447 (parse_schedule): Use it. Parse "auto".
7448 (omp_set_num_threads): Use gomp_icv.
7449 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
7450 Likewise.
7451 (omp_get_max_threads): Move from parallel.c.
7452 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7453 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
7454 add ialias.
7455 (parse_stacksize, parse_wait_policy): New functions.
7456 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
7457 both wrappers for compatibility and new locks.
7458 (omp_set_schedule, omp_get_schedule,
7459 omp_get_thread_limit, omp_set_max_active_levels,
7460 omp_get_max_active_levels, omp_get_level,
7461 omp_get_ancestor_thread_num, omp_get_team_size,
7462 omp_get_active_level): New ialias_redirect.
7463 (omp_set_schedule_, omp_set_schedule_8_,
7464 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7465 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7466 omp_get_max_active_levels_, omp_get_level_,
7467 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7468 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7469 New functions.
7470 * parallel.c: Include limits.h.
7471 (gomp_resolve_num_threads): Add count argument. Rewritten.
7472 (GOMP_parallel_start): Call gomp_new_team and pass that as last
7473 argument to gomp_team_start. Pass 0 as second argument to
7474 gomp_resolve_num_threads.
7475 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
7476 if gomp_thread_limit_var != ULONG_MAX.
7477 (omp_in_parallel): Implement using ts.active_level.
7478 (omp_get_max_threads): Move to env.c.
7479 (omp_get_level, omp_get_ancestor_thread_num,
7480 omp_get_team_size, omp_get_active_level): New functions,
7481 add ialias.
7482 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
7483 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
7484 gomp_iter_dynamic_next instead of the _locked variant and don't take
7485 lock around it, otherwise acquire it before calling
7486 gomp_iter_dynamic_next_locked.
7487 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
7488 gomp_iter_dynamic_next instead of the _locked variant and don't take
7489 lock around it.
7490 (GOMP_parallel_sections_start): Call gomp_new_team instead of
7491 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
7492 Adjust gomp_team_start caller. Pass count as second argument to
7493 gomp_resolve_num_threads, don't adjust num_threads after the call.
7494 Use gomp_icv.
7495 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
7496 ws->chunk_size by incr.
7497 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
7498 code.
7499 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
7500 types.
7501 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
7502 (omp_check_defines): Check even the compat defines.
7503 * config/linux/ptrlock.c: New file.
7504 * config/linux/ptrlock.h: New file.
7505 * config/linux/wait.h: New file.
7506 * config/posix/ptrlock.c: New file.
7507 * config/posix/ptrlock.h: New file.
7508 * config/linux/bar.h (gomp_team_barrier_wait,
7509 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7510 (gomp_team_barrier_set_task_pending,
7511 gomp_team_barrier_clear_task_pending,
7512 gomp_team_barrier_set_waiting_for_tasks,
7513 gomp_team_barrier_waiting_for_tasks,
7514 gomp_team_barrier_done): New inlines.
7515 (gomp_barrier_t): Rewritten.
7516 (gomp_barrier_state_t): New typedef.
7517 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
7518 gomp_barrier_wait_start): Rewritten.
7519 (gomp_barrier_wait_end): Change second argument to
7520 gomp_barrier_state_t.
7521 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7522 inlines.
7523 * config/linux/bar.c: Include wait.h instead of libgomp.h and
7524 futex.h.
7525 (gomp_barrier_wait_end): Rewritten.
7526 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7527 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
7528 * config/posix/bar.h (gomp_barrier_t): Add generation field.
7529 (gomp_barrier_state_t): New typedef.
7530 (gomp_team_barrier_wait,
7531 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7532 (gomp_barrier_wait_start): Or all but low 2 bits from generation
7533 into the return value. Return gomp_barrier_state_t.
7534 (gomp_team_barrier_set_task_pending,
7535 gomp_team_barrier_clear_task_pending,
7536 gomp_team_barrier_set_waiting_for_tasks,
7537 gomp_team_barrier_waiting_for_tasks,
7538 gomp_team_barrier_done): New inlines.
7539 (gomp_barrier_wait_end): Change second argument to
7540 gomp_barrier_state_t.
7541 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7542 inlines.
7543 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
7544 (gomp_barrier_wait_end): Change second argument to
3e348fcc 7545 gomp_barrier_state_t.
a68ab351
JJ
7546 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7547 gomp_team_barrier_wake): New functions.
7548 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
7549 futex.h.
7550 (gomp_futex_wake, gomp_futex_wait): New variables.
7551 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
7552 * config/linux/lock.c: Rewrite to make locks task owned,
7553 for backwards compatibility provide the old entrypoints
7554 if symbol versioning. Include wait.h instead of libgomp.h and
7555 futex.h.
7556 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
7557 * config/posix95/lock.c: Rewrite to make locks task owned,
7558 for backwards compatibility provide the old entrypoints
7559 if symbol versioning.
7560 * config/posix/lock.c: Rewrite to make locks task owned,
7561 for backwards compatibility provide the old entrypoints
7562 if symbol versioning.
7563 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
7564 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
7565 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
7566 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7567 (sys_futex0): Return error code.
7568 (futex_wake, futex_wait): If ENOSYS was returned, clear
7569 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7570 (cpu_relax, atomic_write_barrier): New static inlines.
7571 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7572 (futex_wake, futex_wait): If ENOSYS was returned, clear
7573 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7574 (cpu_relax, atomic_write_barrier): New static inlines.
7575 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7576 (sys_futex0): Return error code.
7577 (futex_wake, futex_wait): If ENOSYS was returned, clear
7578 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7579 (cpu_relax, atomic_write_barrier): New static inlines.
7580 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7581 (sys_futex0): Return error code.
7582 (futex_wake, futex_wait): If ENOSYS was returned, clear
7583 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7584 (cpu_relax, atomic_write_barrier): New static inlines.
7585 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7586 (sys_futex0): Return error code.
7587 (futex_wake, futex_wait): If ENOSYS was returned, clear
7588 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7589 (cpu_relax, atomic_write_barrier): New static inlines.
7590 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7591 (sys_futex0): Return error code.
7592 (futex_wake, futex_wait): If ENOSYS was returned, clear
7593 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7594 (cpu_relax, atomic_write_barrier): New static inlines.
7595 * config/linux/sem.c: Include wait.h instead of libgomp.h and
7596 futex.h.
7597 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
7598 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
7599 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
7600 types.
7601 (omp_nest_lock_t): Change owner into void *, add lock field.
7602 * config/posix95/omp-lock.h: Include semaphore.h.
7603 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7604 (omp_lock_t): Use sem_t instead of mutex if semaphores
7605 aren't broken.
7606 (omp_nest_lock_t): Likewise. Change owner to void *.
7607 * config/posix/omp-lock.h: Include semaphore.h.
7608 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7609 (omp_lock_t): Use sem_t instead of mutex if semaphores
7610 aren't broken.
7611 (omp_nest_lock_t): Likewise. Add owner field.
7612
76132008-06-06 Jakub Jelinek <jakub@redhat.com>
7614
7615 * testsuite/libgomp.c/collapse-1.c: New test.
7616 * testsuite/libgomp.c/collapse-2.c: New test.
7617 * testsuite/libgomp.c/collapse-3.c: New test.
7618 * testsuite/libgomp.c/icv-1.c: New test.
7619 * testsuite/libgomp.c/icv-2.c: New test.
7620 * testsuite/libgomp.c/lib-2.c: New test.
7621 * testsuite/libgomp.c/lock-1.c: New test.
7622 * testsuite/libgomp.c/lock-2.c: New test.
7623 * testsuite/libgomp.c/lock-3.c: New test.
7624 * testsuite/libgomp.c/loop-4.c: New test.
7625 * testsuite/libgomp.c/loop-5.c: New test.
7626 * testsuite/libgomp.c/loop-6.c: New test.
7627 * testsuite/libgomp.c/loop-7.c: New test.
7628 * testsuite/libgomp.c/loop-8.c: New test.
7629 * testsuite/libgomp.c/loop-9.c: New test.
7630 * testsuite/libgomp.c/nested-3.c: New test.
7631 * testsuite/libgomp.c/nestedfn-6.c: New test.
7632 * testsuite/libgomp.c/sort-1.c: New test.
7633 * testsuite/libgomp.c/task-1.c: New test.
7634 * testsuite/libgomp.c/task-2.c: New test.
7635 * testsuite/libgomp.c/task-3.c: New test.
7636 * testsuite/libgomp.c/task-4.c: New test.
7637 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
7638 to C++ testsuite default compiler options.
7639 * testsuite/libgomp.c++/collapse-1.C: New test.
7640 * testsuite/libgomp.c++/collapse-2.C: New test.
7641 * testsuite/libgomp.c++/ctor-10.C: New test.
7642 * testsuite/libgomp.c++/for-1.C: New test.
7643 * testsuite/libgomp.c++/for-2.C: New test.
7644 * testsuite/libgomp.c++/for-3.C: New test.
7645 * testsuite/libgomp.c++/for-4.C: New test.
7646 * testsuite/libgomp.c++/for-5.C: New test.
7647 * testsuite/libgomp.c++/loop-8.C: New test.
7648 * testsuite/libgomp.c++/loop-9.C: New test.
7649 * testsuite/libgomp.c++/loop-10.C: New test.
7650 * testsuite/libgomp.c++/task-1.C: New test.
7651 * testsuite/libgomp.c++/task-2.C: New test.
7652 * testsuite/libgomp.c++/task-3.C: New test.
7653 * testsuite/libgomp.c++/task-4.C: New test.
7654 * testsuite/libgomp.c++/task-5.C: New test.
7655 * testsuite/libgomp.c++/task-6.C: New test.
7656 * testsuite/libgomp.fortran/allocatable1.f90: New test.
7657 * testsuite/libgomp.fortran/allocatable2.f90: New test.
7658 * testsuite/libgomp.fortran/allocatable3.f90: New test.
7659 * testsuite/libgomp.fortran/allocatable4.f90: New test.
7660 * testsuite/libgomp.fortran/collapse1.f90: New test.
7661 * testsuite/libgomp.fortran/collapse2.f90: New test.
7662 * testsuite/libgomp.fortran/collapse3.f90: New test.
7663 * testsuite/libgomp.fortran/collapse4.f90: New test.
7664 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
7665 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
7666 * testsuite/libgomp.fortran/lib4.f90: New test.
7667 * testsuite/libgomp.fortran/lock-1.f90: New test.
7668 * testsuite/libgomp.fortran/lock-2.f90: New test.
7669 * testsuite/libgomp.fortran/nested1.f90: New test.
7670 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
7671 * testsuite/libgomp.fortran/strassen.f90: New test.
7672 * testsuite/libgomp.fortran/tabs1.f90: New test.
7673 * testsuite/libgomp.fortran/tabs2.f: New test.
7674 * testsuite/libgomp.fortran/task1.f90: New test.
7675 * testsuite/libgomp.fortran/task2.f90: New test.
7676 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
7677 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7678 * testsuite/libgomp.c/pr26943-2.c: Likewise.
7679 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7680 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7681
7a0112e7
JJ
76822008-05-23 Jakub Jelinek <jakub@redhat.com>
7683
7684 PR c++/36308
7685 * testsuite/libgomp.c++/ctor-11.C: New test.
7686 * testsuite/libgomp.c++/ctor-12.C: New test.
7687
91a5b394
JJ
76882008-05-15 Janis Johnson <janis187@us.ibm.com>
7689
7690 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
7691
c18c98c0
JJ
76922008-05-07 Jakub Jelinek <jakub@redhat.com>
7693
7694 PR middle-end/36106
7695 * testsuite/libgomp.c/atomic-5.c: New test.
7696 * testsuite/libgomp.c/atomic-6.c: New test.
7697 * testsuite/libgomp.c/autopar-1.c: New test.
7698
6d26724a
RW
76992008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7700
7701 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
7702 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
7703 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
7704 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
7705 * configure: Regenerate.
7706 * Makefile.in, testsuite/Makefile.in: Likewise.
7707
deb984e6
PB
77082008-04-18 Paolo Bonzini <bonzini@gnu.org>
7709
7710 PR bootstrap/35457
7711 * aclocal.m4: Regenerate.
7712 * configure: Regenerate.
7713
9e775963
JJ
77142008-03-18 Jakub Jelinek <jakub@redhat.com>
7715
8119fc93
JJ
7716 PR middle-end/35611
7717 * testsuite/libgomp.c/atomic-4.c: New test.
7718
9e775963
JJ
7719 PR libgomp/35625
7720 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
7721 (gomp_iter_guided_next): Likewise.
7722 * testsuite/libgomp.c/pr35625.c: New test.
7723
38d24731
RW
77242008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7725
7726 * aclocal.m4: Regenerate.
7727 * configure: Likewise.
7728 * Makefile.in: Likewise.
7729 * testsuite/Makefile.in: Likewise.
7730
d0fb20be
JJ
77312008-03-13 Jakub Jelinek <jakub@redhat.com>
7732
7733 PR middle-end/35185
7734 * testsuite/libgomp.c++/pr35185.C: New test.
7735
7c8f7639
JJ
77362008-03-12 Jakub Jelinek <jakub@redhat.com>
7737
7738 PR middle-end/35549
7739 * testsuite/libgomp.c/pr35549.c: New test.
7740
251923f5
JJ
77412008-03-06 Jakub Jelinek <jakub@redhat.com>
7742
7743 * testsuite/libgomp.c/atomic-3.c: New test.
7744
f489fba1
FXC
77452008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7746
7747 PR fortran/33197
251923f5 7748 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
7749 .F08 file suffixes.
7750
a1b25e49
PG
77512008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
7752
7753 PR libgomp/33131
7754 * configure.ac: Add ACX_HEADER_STRING.
7755 * env.c: Include strings.h.
7756 * aclocal.m4: Regenerate.
7757 * config.h.in: Regenerate.
7758 * configure: Regenerate.
7759 * Makefile.in: Regenerate.
7760 * testsuite/Makefile.in: Regenerate.
7761
6837b3b8
JJ
77622008-02-15 Jakub Jelinek <jakub@redhat.com>
7763
ac84c062
JJ
7764 PR middle-end/35196
7765 * testsuite/libgomp.c/pr35196.c: New test.
7766
6837b3b8
JJ
7767 PR middle-end/35130
7768 * testsuite/libgomp.fortran/pr35130.f90: New test.
7769 * testsuite/libgomp.c/pr35130.c: New test.
7770
c256730c
JJ
77712008-01-25 Jakub Jelinek <jakub@redhat.com>
7772
7773 PR middle-end/33880
7774 * testsuite/libgomp.c/pr33880.c: New test.
7775 * testsuite/libgomp.fortran/pr33880.f90: New test.
7776
c8e95542 77772008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
7778
7779 * configure: Regenerate.
7780
0f3e711e
JJ
77812008-01-08 Jakub Jelinek <jakub@redhat.com>
7782
7783 * configure.ac: Move futex checking into ../config/futex.m4.
7784 * configure: Rebuilt.
7785 * aclocal.m4: Rebuilt.
7786 * Makefile.in: Rebuilt.
7787
7788 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
7789 2007-10-15 ../config/tls.m4 change.
7790
5259c813
JJ
77912007-12-19 Jakub Jelinek <jakub@redhat.com>
7792
7793 PR c++/34513
7794 * testsuite/libgomp.c/pr34513.c: New test.
7795 * testsuite/libgomp.c++/pr34513.C: New test.
7796
ae8d8879
JH
77972007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
7798
7799 PR target/32765
7800 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
7801
2b4cf991
JJ
78022007-12-04 Jakub Jelinek <jakub@redhat.com>
7803
7804 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
7805
d2dda7fe
JJ
78062007-12-03 Jakub Jelinek <jakub@redhat.com>
7807
7808 * testsuite/libgomp.c/private-1.c: New test.
7809
d683ec81
PB
78102007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
7811 Paolo Bonzini <bonzini@gnu.org>
7812
7813 * Makefile.am: Use space as vpath separator. Use 'vpath %'
7814 instead of 'VPATH ='.
7815 * Makefile.in: Regenerate.
7816
a7415017
MK
78172007-11-23 Matthias Klose <doko@ubuntu.com>
7818
7819 * configure.ac: Adjust makeinfo version check.
7820 * configure: Regenerate.
7821
78e47463
JJ
78222007-11-10 Jakub Jelinek <jakub@redhat.com>
7823
7824 PR fortran/34020
7825 * testsuite/libgomp.fortran/pr34020.f90: New test.
7826
239371f9
JJ
78272007-11-06 Jakub Jelinek <jakub@redhat.com>
7828
7829 PR c++/33894
7830 * testsuite/libgomp.c++/atomic-1.C: New test.
7831
98a5fa94
JJ
78322007-10-25 Jakub Jelinek <jakub@redhat.com>
7833
7834 PR libgomp/33275
7835 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
7836 Make x and y integers rather than (implicit) reals. Add private (j)
7837 clause to the last omp parallel.
7838
3afcaaf4
MR
78392007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
7840
7841 * configure: Regenerate following changes to ../config/tls.m4.
7842
bd69daef
JJ
78432007-09-28 Jakub Jelinek <jakub@redhat.com>
7844
7845 * testsuite/libgomp.fortran/stack.f90: New test.
7846
1d0bd356
DS
78472007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
7848
7849 * config/mingw32/proc.c: New file.
7850
b3172cab
UB
78512007-09-05 Uros Bizjak <ubizjak@gmail.com>
7852
7853 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
7854 (main): Use __get_cpuid to get i386 target fetaures.
7855 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
7856 (main): Use __get_cpuid to get x86_64 target fetaures.
7857
6da17392
JH
78582007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
7859
7860 PR target/32765
7861 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
7862 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
7863
e1c82219
JJ
78642007-07-12 Jakub Jelinek <jakub@redhat.com>
7865
7866 PR fortran/32550
7867 * testsuite/libgomp.fortran/pr32550.f90: New test.
7868 * testsuite/libgomp.fortran/crayptr2.f90: New test.
7869
12a27363
L
78702007-07-05 H.J. Lu <hongjiu.lu@intel.com>
7871
7872 * aclocal.m4: Regenerated.
7873
5349080d
TB
78742007-07-05 Tobias Burnus <burnus@net-b.de>
7875
7876 PR fortran/32359
7877 * testsuite/libgomp.fortran/pr32359.f90: New.
7878
4f9c450c
JJ
78792007-07-02 Jakub Jelinek <jakub@redhat.com>
7880
7881 PR libgomp/32468
7882 * sections.c (GOMP_parallel_sections_start): Only decrease
7883 number of threads to COUNT if dyn_var is true.
7884 * testsuite/libgomp.c/pr32468.c: New test.
7885
28c67ed7
RO
78862007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7887
7888 PR libgomp/26308
7889 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
7890
64964499
JJ
78912007-06-21 Jakub Jelinek <jakub@redhat.com>
7892
7893 PR middle-end/32362
7894 * testsuite/libgomp.c/pr32362-1.c: New test.
7895 * testsuite/libgomp.c/pr32362-2.c: New test.
7896 * testsuite/libgomp.c/pr32362-3.c: New test.
7897
46d8fbd1
JJ
78982007-06-07 Jakub Jelinek <jakub@redhat.com>
7899
7900 * team.c (gomp_team_start): Fix setting up thread_attr
7901 stack size.
7902
82a6cadf
PB
79032007-06-02 Paolo Bonzini <bonzini@gnu.org>
7904
7905 * configure: Regenerate.
7906
1cf3d07d
SE
79072007-05-23 Steve Ellcey <sje@cup.hp.com>
7908
7909 * Makefile.in: Regenerate.
7910 * configure: Regenerate.
7911 * aclocal.m4: Regenerate.
7912 * testsuite/Makefile.in: Regenerate.
7913
12aac30b
JJ
79142007-05-04 Jakub Jelinek <jakub@redhat.com>
7915
7916 * config/linux/proc.c: New file.
7917
f1028b02
JJ
7918 PR libgomp/28482
7919 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
7920
06785a48
DF
79212007-04-19 Daniel Franke <franke.daniel@gmail.com>
7922
7923 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
7924
b3b08ba0
MK
79252007-04-16 Matthias Klose <doko@debian.org>
7926
7927 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
7928 flags if not building with -m64.
7929 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
7930 flag for i?86-*-* targets, if current target matches -m64.
7931
6b2c5ce0
SE
79322007-04-14 Steve Ellcey <sje@cup.hp.com>
7933
7934 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
7935 * Makefile.in: Regenerate.
7936
dd56fe7c
JDA
79372007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7938
7939 PR testsuite/31369
7940 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
7941 ld_library_path.
7942 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7943
a0884cf0
JJ
79442007-04-04 Jakub Jelinek <jakub@redhat.com>
7945
7946 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
7947 decls.
7948 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
7949 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
7950 (parse_affinity): New function.
7951 (initialize_env): Call it and gomp_init_affinity.
7952 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
7953 create new pthread_attr_t and call gomp_init_thread_affinity
7954 on it for each thread before passing the attribute to pthread_create.
7955 * config/linux/affinity.c: New file.
7956 * config/posix/affinity.c: New file.
7957 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
7958 * configure: Rebuilt.
7959 * config.h.in: Rebuilt.
7960 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
7961 * Makefile.in: Rebuilt.
7962
1850744b
AT
79632007-03-23 Andreas Tobler <a.tobler@schweiz.org>
7964
7965 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
7966 *-*-darwin*.
7967 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
7968 and use it if found.
7969
516f1ed8
UB
79702007-03-18 Uros Bizjak <ubizjak@gmail.com>
7971
7972 * testsuite/config/default.exp: New file.
7973 * testsuite/lib/libgomp.exp: New file.
7974 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
7975 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
7976 load_lib *, load_gcc_lib *): Move to libgomp.exp.
7977 (libgomp_load): Remove.
7978 * testsuite/lib/libgomp.exp (libgomp_init): Compute
7979 always_ld_library_path, not ld_library_path. Set additional_flags
7980 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
7981 (target_compile): Do not call libgomp_init. Append lang_library_path
7982 and lang_link_flags to options.
7983 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
7984 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
7985 here.
7986 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
7987 always_ld_library_path. Set LD_LIBRARY_PATH here.
7988 * testsuite/libgomp.fortran/fortran.exp: Ditto.
7989 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
7990 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
7991 CX8 flag.
7992 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
7993 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
7994 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
7995 * testsuite/libgomp.c/pr29947-1.c: Ditto.
7996 * testsuite/libgomp.c/atomic-10.c: Ditto.
7997
2ada56f5
JJ
79982007-03-21 Jakub Jelinek <jakub@redhat.com>
7999
8000 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
8001 dg-final cleanup-modules line.
8002 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
8003 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
8004 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
8005 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8006 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8007 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8008 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8009
f210f1cd
AS
80102007-03-18 Andreas Schwab <schwab@suse.de>
8011
8012 * acinclude.m4: Adjust regular expression for ld version
8013 extraction.
8014 * configure: Regenerate.
8015
c4dc950d
BM
80162007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
8017
8018 * Makefile.am: Add install-pdf target as copied from
8019 automake v1.10 rules.
8020 * Makefile.in: Regenerate
8021
e02a048f
JJ
80222007-02-07 Jakub Jelinek <jakub@redhat.com>
8023
78e075d4
JJ
8024 PR libgomp/28486
8025 * configure: Regenerate.
8026
e02a048f
JJ
8027 PR c++/30703
8028 * testsuite/libgomp.c++/pr30703.C: New test.
8029
60def7ed
JJ
80302007-02-02 Jakub Jelinek <jakub@redhat.com>
8031
8032 Revert:
8033 2006-07-05 Eric Christopher <echristo@apple.com>
8034 * configure.ac: Depend addition of -pthread on host OS.
8035 * configure: Regenerate.
8036
f1b0882e
RW
80372007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8038
8039 * libgomp.texi: Fix spacing after abbreviations.
8040
748b9d7c
DF
80412007-01-31 Daniel Franke <franke.daniel@gmail.com>
8042
8043 PR libgomp/30546
8044 * configure.ac: Add check for makeinfo
8045 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
8046 if an appropiate version of makeinfo is found.
8047 * aclocal.m4: Regenerated.
8048 * configure: Regenerated.
8049 * Makefile.in: Regenerated.
8050 * testsuite/Makefile.in: Regenerated.
8051
14734fc7
DF
80522007-01-29 Daniel Franke <franke.daniel@gmail.com>
8053
8054 PR libgomp/30540
8055 * libgomp.texi: More about implementation-dependent settings.
8056
7befd5d2
TB
80572007-01-26 Tobias Burnus <burnus@net-b.de>
8058
8059 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
8060
4288fea2
JJ
80612007-01-24 Jakub Jelinek <jakub@redhat.com>
8062
8063 PR middle-end/30494
8064 * testsuite/libgomp.c/pr30494.c: New test.
8065
627ab4b8
TT
80662007-01-15 Tom Tromey <tromey@redhat.com>
8067
8068 * configure: Rebuilt.
8069 * configure.ac: Fixed comment.
8070
7c2b7f45
DF
80712007-01-14 Daniel Franke <franke.daniel@gmail.com>
8072
8073 * libgomp.texi: Document implementation specific default values of
8074 environment variables.
8075
3721b9e1
DF
80762006-12-21 Daniel Franke <franke.daniel@gmail.com>
8077
8078 PR libgomp/28209
8079 * libgomp.texi: New file.
8080 * configure.ac: Add --enable-generated-files-in-srcdir option.
8081 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
8082 files to srcdir.
8083 * Makefile.in: Regenerated.
8084 * config.h.in: Regenerated.
8085 * testsuite/Makefile.in: Regenerated.
8086 * NOTES: Removed.
8087
62bd6216
DF
80882006-12-04 Daniel Franke <franke.daniel@gmail.com>
8089
8090 PR libgomp/29949
8091 * env.c (omp_set_num_threads): Set illegal thread count to 1.
8092
aad741f4
EB
80932006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
8094
8095 * configure: Regenerate.
8096
22568cc6
JJ
80972006-12-04 Jakub Jelinek <jakub@redhat.com>
8098
8099 PR libgomp/29947
8100 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
8101 start if there shouldn't be any loop iterations.
8102 (gomp_loop_ordered_static_start): Remove start == end test.
8103 * testsuite/libgomp.c/pr29947-1.c: New test.
8104 * testsuite/libgomp.c/pr29947-2.c: New test.
8105
a9690009
EB
81062006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
8107
8108 * configure.tgt: Force initial-exec TLS model on Linux only.
8109
597c25e6
DJ
81102006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
8111
8112 * configure: Regenerated.
8113
6acf0b38
UB
81142006-11-09 Uros Bizjak <ubizjak@gmail.com>
8115
8116 * env.c (parse_schedule): Reject out of range values.
8117 (parse_unsigned_long): Reject out of range, negative or zero values.
8118
a7a53ca5
JJ
81192006-10-29 Jakub Jelinek <jakub@redhat.com>
8120
8121 PR fortran/29629
8122 * testsuite/libgomp.fortran/pr29629.f90: New test.
8123
6d4d216a
EB
81242006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
8125
8126 PR libgomp/29494
8127 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
8128 * config/posix95: New directory.
8129 * config/posix95/omp-lock.h: New file.
8130 * config/posix95/lock.c: Likewise.
8131
5b043f08
GK
81322006-10-14 Geoffrey Keating <geoffk@apple.com>
8133
8134 * aclocal.m4: Regenerate.
8135 * configure: Regenerate.
8136
b50019f0
DS
81372006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
8138
8139 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
8140 '<' to '<='.
8141
8887708e
DS
81422006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
8143
8144 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
8145 test.
8146 * configure: Regenerate.
8147 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
8148
9b9e4cd6
JJ
81492006-09-26 Jakub Jelinek <jakub@redhat.com>
8150
a70ad3bb
JJ
8151 PR middle-end/25261
8152 PR middle-end/28790
8153 * testsuite/libgomp.c/nestedfn-4.c: New test.
8154 * testsuite/libgomp.c/nestedfn-5.c: New test.
8155 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
8156
9b9e4cd6
JJ
8157 PR fortran/29097
8158 * testsuite/libgomp.fortran/condinc1.f: New test.
8159 * testsuite/libgomp.fortran/condinc2.f: New test.
8160 * testsuite/libgomp.fortran/condinc3.f90: New test.
8161 * testsuite/libgomp.fortran/condinc4.f90: New test.
8162 * testsuite/libgomp.fortran/condinc1.inc: New file.
8163
2fb31455
TT
81642006-09-18 Tom Tromey <tromey@redhat.com>
8165
8166 * configure: Rebuilt.
8167
c663e301
JM
81682006-09-13 Joseph S. Myers <joseph@codesourcery.com>
8169
8170 PR c/28768
8171 PR preprocessor/14634
8172 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
8173 to AC_DEFINE.
8174 * configure: Regenerate.
8175
38371be9
SK
81762006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
8177
8178 * testsuite/libgomp.fortran/reduction3.f90: Change
8179 -2147483648 to -huge(i)-1 to avoid overflow.
8180 * testsuite/libgomp.fortran/reduction4.f90: Change
8181 Z'ffffffff' to not(0) to avoid overflow.
8182
571d5ac5
JM
81832006-08-26 Joseph S. Myers <joseph@codesourcery.com>
8184
8185 PR libgomp/25938
8186 * Makefile.am (libsubincludedir): New.
8187 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
8188 * Makefile.in: Regenerate.
8189
89b3e3cd
JJ
81902006-08-17 Jakub Jelinek <jakub@redhat.com>
8191
8192 PR libgomp/28725
8193 * env.c: Include ctype.h.
8194 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
8195 leading and/or trailing whitespace and compare strings case
8196 insensitively.
8197
742fae05
JJ
81982006-07-16 Jakub Jelinek <jakub@redhat.com>
8199
8200 PR fortran/28390
8201 * testsuite/libgomp.fortran/pr28390.f: New test.
8202
a1daed2d
EC
82032006-07-05 Eric Christopher <echristo@apple.com>
8204
8205 * configure.ac: Depend addition of -pthread on host OS.
8206 * configure: Regenerate.
8207
5d7b5199
JJ
82082006-06-21 Jakub Jelinek <jakub@redhat.com>
8209
8210 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
8211 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
8212 defined.
8213
fe5568e9
JJ
82142006-06-20 Jakub Jelinek <jakub@redhat.com>
8215
8216 PR libgomp/26175
8217 PR libgomp/26477
8218 * configure.ac: If neither --enable-linux-futex nor
8219 --disable-linux-futex is passed, determine the default by checking
8220 for compiling and/or running against NPTL. With --enable-linux-futex,
8221 check if SYS_gettid and SYS_futex are defined.
8222 * configure: Rebuilt.
8223
c3b11a40
RH
82242006-06-14 Richard Henderson <rth@redhat.com>
8225
8226 PR libgomp/28008
8227 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
8228 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
8229
d0d1b24d
RH
82302006-06-09 Richard Henderson <rth@redhat.com>
8231
8232 * env.c (gomp_nthreads_var): Change to unsigned long.
8233 (gomp_run_sched_chunk): Likewise.
8234 (parse_unsigned_long): Rename from parse_num_threads and generalize.
8235 (initialize_env): Initialize gomp_thread_attr.
8236 * libgomp.h (gomp_nthreads_var): Update decl.
8237 (gomp_run_sched_chunk): Likewise.
8238 (gomp_thread_attr): Declare.
8239 * team.c (gomp_thread_attr): Export.
8240 (initialize_team): Don't initialize it.
8241
cd75853e
JJ
82422006-06-09 Jakub Jelinek <jakub@redhat.com>
8243
8244 PR fortran/27916
8245 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
8246 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
8247
33815e0c
FXC
82482006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
8249
8250 * config/mingw32/time.c: New file.
8251 * configure.tgt: Use it.
8252
6667de0d
CD
82532006-05-23 Carlos O'Donell <carlos@codesourcery.com>
8254
8255 * Makefile.am: Add install-html target. Add install-html to .PHONY
8256 * Makefile.in: Regenerate.
8257
e962c46b
JDA
82582006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8259
8260 PR libgomp/27612
8261 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
8262 * testsuite/libgomp.c/critical-1.c: Likewise.
8263 * testsuite/libgomp.c/loop-1.c: Likewise.
8264 * testsuite/libgomp.c/loop-2.c: Likewise.
8265 * testsuite/libgomp.c/single-1.c: Likewise.
8266 * testsuite/libgomp.c/ordered-1.c: Likewise.
8267 * testsuite/libgomp.c/ordered-2.c: Likewise.
8268
eeb1d9e0
JJ
82692006-05-15 Jakub Jelinek <jakub@redhat.com>
8270
8271 PR middle-end/27416
8272 * libgomp.fortran/pr27416-1.f90: New test.
8273
693d710f
JJ
82742006-05-03 Jakub Jelinek <jakub@redhat.com>
8275
8276 PR fortran/27395
8277 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
8278 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
8279
8ca5b2a2
JJ
82802006-05-02 Jakub Jelinek <jakub@redhat.com>
8281
8282 PR c++/26943
8283 * testsuite/libgomp.c/pr26943-1.c: New test.
8284 * testsuite/libgomp.c/pr26943-2.c: New test.
8285 * testsuite/libgomp.c/pr26943-3.c: New test.
8286 * testsuite/libgomp.c/pr26943-4.c: New test.
8287 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
8288 * testsuite/libgomp.c++/pr26943.C: New test.
8289
077b0dfb
JJ
82902006-05-02 Jakub Jelinek <jakub@redhat.com>
8291
8292 PR middle-end/27337
8293 * testsuite/libgomp.c++/pr27337.C: New test.
8294
91b6c26d
JJ
82952006-04-26 Jakub Jelinek <jakub@redhat.com>
8296
8297 PR c/26171
8298 * testsuite/libgomp.c/pr26171.c: New test.
8299
60e1758f
RH
83002006-04-25 Richard Henderson <rth@redhat.com>
8301
8302 PR libgomp/25865
8303 * configure.ac: Use GCC_CHECK_TLS.
8304 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
8305 * Makefile.in, aclocal.m4, configure: Regenerate.
8306
615baed7
MK
83072006-04-10 Matthias Klose <doko@debian.org>
8308
8309 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
8310 directory names containing underscores.
8311
fae2b46b
JJ
83122006-03-21 Jakub Jelinek <jakub@redhat.com>
8313
8314 PR c++/26691
8315 * testsuite/libgomp.c++/pr26691.C: New test.
8316
11a5f608
JJ
83172006-03-13 Jakub Jelinek <jakub@redhat.com>
8318
8319 * testsuite/libgomp.fortran/retval2.f90: New test.
8320
1799e5d5
RH
83212006-03-09 Diego Novillo <dnovillo@redhat.com>
8322
8323 * testsuite/libgomp.c++: New directory.
8324
d349482e
AT
83252006-02-25 Shantonu Sen <ssen@opendarwin.org>
8326
8327 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
8328 * config/posix/sem.c: Implement the above.
8329
83302006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
8331
8332 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
8333 define HAVE_BROKEN_POSIX_SEMAPHORES.
8334 * configure: Rebuilt.
8335 * config.h.in: Rebuilt.
8336
124452c9
FXC
83372006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
8338
8339 PR bootstrap/26161
8340 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
8341 for the other pthread check.
8342 * configure: Regenerate.
8343 * config.h.in: Regenerate.
8344
dd8d6dfe
JJ
83452006-02-15 Jakub Jelinek <jakub@redhat.com>
8346
8347 PR libgomp/25938
8348 PR libgomp/25984
8349 * Makefile.am (fincludedir): New variable.
8350 (nodist_include_HEADERS): Remove Fortran files.
8351 (nodist_finclude_HEADERS): New variable.
8352 * Makefile.in: Regenerated.
8353
6c7a4dfd
JJ
83542006-02-13 Jakub Jelinek <jakub@redhat.com>
8355
8356 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
8357 Remove tests for returning assumed character length arrays.
8358
5142e08b
RS
83592006-02-12 Roger Sayle <roger@eyesopen.com>
8360 John David Anglin <dave@hiauly1.hia.nrc.ca>
8361
8362 PR libgomp/25936
8363 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 8364
5821fba8
UW
83652006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
8366
8367 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
8368
cb2bbc67
EB
83692006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
8370
8371 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
8372 part of LD_LIBRARY_PATH manually.
8373
f05ee80c
L
83742006-02-03 H.J. Lu <hongjiu.lu@intel.com>
8375
8376 PR libgomp/25852
8377 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
8378 libgomp_init.
8379
03b8fe49
PB
83802005-01-25 Paolo Bonzini <bonzini@gnu.org>
8381
8382 PR libgomp/25884
f05ee80c
L
8383 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
8384 * configure.ac (PERL): Don't set.
8385 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
8386 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
8387 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
8388 * omp.h.in: Wrap the new configure substitutions with @ characters.
8389 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
8390 * aclocal.m4, configure, Makefile.in: Regenerate.
8391 * mkomp_h.pl: Delete.
03b8fe49 8392
18cbfd85
PB
83932005-01-24 Paolo Bonzini <bonzini@gnu.org>
8394
8395 PR libgomp/25259
8396 * configure.ac: Use GCC_HEADER_STDINT.
8397 * libgomp.h: Include gstdint.h.
8398 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
8399 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
8400
c41303c6
RH
84012006-01-24 Richard Henderson <rth@redhat.com>
8402
8403 PR libgomp/25942
8404 * configure.ac: Add AM_MAINTAINER_MODE.
8405 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
8406
149b9553
DN
84072006-01-24 Diego Novillo <dnovillo@redhat.com>
8408
8409 * Makefile.in: Regenerate.
8410 * testsuite/Makefile.in: Regenerate.
8411 * aclocal.m4: Regenerate.
8412
192a50ad
AT
84132006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
8414
8415 * config/posix/proc.c: Conditional include of sys/loadavg.h for
8416 Solaris.
8417 * configure.ac: Add check for loadavg.h.
8418 (link_gomp): Adjust comment.
8419 * configure: Regenerate.
8420 * config.h.in: Regenerate.
8421
a55b8e18
SE
84222006-01-21 Steve Ellcey <sje@cup.hp.com>
8423
8424 PR libgomp/25877
8425 * configure.ac: Remove check for alloca.h.
8426 * configure: Regenerate.
8427 * config.h.in: Regenerate.
8428 * libgomp.h: define gomp_alloca to be __builtin_alloca.
8429 * team.c: Remove use of alloca.h.
8430 Call gomp_alloca instead of alloca.
8431
692eeb34
SE
84322006-01-20 Steve Ellcey <sje@cup.hp.com>
8433
8434 PR libgomp/25877
8435 * team.c: Add include of alloca.h.
8436 * configure.ac: Add check for alloca.h.
8437 * configure: Regenerate.
8438 * config.h.in: Regenerate.
8439
953ff289
DN
84402006-01-17 Jakub Jelinek <jakub@redhat.com>
8441
8442 PR fortran/25219
8443 * testsuite/libgomp.fortran/pr25219.f90: New test.
8444
84452005-12-05 Uros Bizjak <uros@kss-loka.si>
8446
8447 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
8448 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
8449 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8450 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8451 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
8452 testsuite/libgomp.fortran/threadprivate1.f90,
8453 testsuite/libgomp.fortran/threadprivate2.f90,
8454 testsuite/libgomp.fortran/threadprivate3.f90,
8455 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8456 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8457 testsuite/libgomp.fortran/omp_parse3.f90: Change required
8458 effective-target to TLS runtime.
8459
8460 * testsuite/libgomp.fortran/pr25162.f: Require
8461 effective-target TLS runtime.
8462
84632005-12-01 Jakub Jelinek <jakub@redhat.com>
8464
8465 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
8466 * testsuite/libgomp.c/nestedfn-3.c: New test.
8467
84682005-11-30 Jakub Jelinek <jakub@redhat.com>
8469
8470 PR fortran/25162
8471 * testsuite/libgomp.fortran/pr25162.f: New test.
8472
84732005-11-28 Jakub Jelinek <jakub@redhat.com>
8474
8475 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
8476 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
8477
84782005-11-25 Jakub Jelinek <jakub@redhat.com>
8479
8480 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
8481 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
8482 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
8483 single.c, team.c, work.c, config/linux/alpha/futex.h,
8484 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
8485 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
8486 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
8487 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
8488 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
8489 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
8490 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
8491 FSF address.
8492
84932005-11-18 Jakub Jelinek <jakub@redhat.com>
8494
8495 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
8496 to nodist_noinst_HEADERS.
8497 * Makefile.in: Rebuilt.
8498
8499 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
8500 add integer count field.
8501 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
8502 omp_nest_lock_t type change.
8503 (omp_init_nest_lock): Likewise. Initialize count to 0.
8504 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
8505 Increment count.
8506 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
8507 Decrement count.
8508 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
8509 Increment count if successful and return the new nesting level.
8510 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
8511 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
8512 * testsuite/libgomp.c/lib-1.c: New test.
8513 * testsuite/libgomp.fortran/lib1.f90: New test.
8514 * testsuite/libgomp.fortran/lib2.f: New test.
8515 * testsuite/libgomp.fortran/lib3.f: New test.
8516
85172005-11-17 Richard Henderson <rth@redhat.com>
8518
8519 PR 24845
8520 * Makefile.am (nodist_toolexeclib_HEADERS): New.
8521 * configure.ac (link_gomp): New. Substitute it.
8522 (AC_CONFIG_FILES): Add libgomp.spec.
8523 * libgomp.spec.in: New file.
8524 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
8525 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
8526
85272005-11-18 Jakub Jelinek <jakub@redhat.com>
8528
8529 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
8530 reduction(-:var) behaving the same as reduction(+:var).
8531 * testsuite/libgomp.c/reduction-4.c: New test.
8532
85332005-11-15 Uros Bizjak <uros@kss-loka.si>
8534
8535 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
8536 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
8537 testsuite/libgomp.c/copyin-3.c,
8538 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8539 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8540 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
8541 testsuite/libgomp.c++/pr24455.C,
8542 testsuite/libgomp.fortran/threadprivate1.f90,
8543 testsuite/libgomp.fortran/threadprivate2.f90,
8544 testsuite/libgomp.fortran/threadprivate3.f90,
8545 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8546 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8547 testsuite/libgomp.fortran/omp_parse3.f90: Require
8548 effective-target TLS.
8549
85502005-11-14 Diego Novillo <dnovillo@redhat.com>
8551
8552 * HEADER: Remove.
8553
85542005-11-13 Jakub Jelinek <jakub@redhat.com>
8555
8556 PR libgomp/24797
8557 * team.c (initialize_team): Pass NULL rather than free as
8558 pthread_key_create destructor. Initialize thread specific data
8559 pointer in initial thread to a static local variable rather than
8560 malloced memory.
8561
85622005-11-11 Uros Bizjak <uros@kss-loka.si>
8563
8564 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
8565 its location to ld_library_path.
8566
85672005-11-10 Diego Novillo <dnovillo@redhat.com>
8568
8569 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
8570
85712005-11-10 Diego Novillo <dnovillo@redhat.com>
8572
8573 * testsuite/libgomp.c: Rename from libgomp.dg.
8574
85752005-11-09 Diego Novillo <dnovillo@redhat.com>
8576
8577 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
8578 threadprivate variable 'i'.
8579
85802005-11-09 Jakub Jelinek <jakub@redhat.com>
8581
8582 * config/linux/s390/futex.h: New file.
8583 * configure.tgt: Use it.
8584
8585 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
8586 before the parallel.
8587
85882005-11-08 Jakub Jelinek <jakub@redhat.com>
8589
8590 PR c++/24734
8591 * testsuite/libgomp.c++/master-1.C: New test.
8592
85932005-11-07 Jakub Jelinek <jakub@redhat.com>
8594
8595 * testsuite/libgomp.dg/copyin-3.c: New test.
8596
85972005-11-07 Jakub Jelinek <jakub@redhat.com>
8598
8599 * testsuite/libgomp.fortran/retval1.f90: New test.
8600 * testsuite/libgomp.fortran/vla7.f90: New test.
8601
86022005-11-06 Jakub Jelinek <jakub@redhat.com>
8603
8604 * testsuite/libgomp.fortran/vla2.f90: New test.
8605 * testsuite/libgomp.fortran/vla3.f90: New test.
8606 * testsuite/libgomp.fortran/vla4.f90: New test.
8607 * testsuite/libgomp.fortran/vla5.f90: New test.
8608 * testsuite/libgomp.fortran/vla6.f90: New test.
8609
86102005-11-01 Jakub Jelinek <jakub@redhat.com>
8611
8612 * config/linux/sparc/futex.h: New file.
8613 * configure.tgt: Use it.
8614 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
8615
8616 * critical.c: Include stdlib.h.
8617 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
8618 ignoring return value.
8619 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
8620 LIBGOMP_CHECK_SYNC_BUILTINS check.
8621 * configure: Rebuilt.
8622
86232005-10-31 Jakub Jelinek <jakub@redhat.com>
8624
8625 * testsuite/libgomp.fortran/vla1.f90: New test.
8626
86272005-10-31 Richard Henderson <rth@redhat.com>
8628
8629 * testsuite/libgomp.fortran/character2.f90: Fix race condition
8630 setting 's' in different threads.
8631
86322005-10-31 Jakub Jelinek <jakub@redhat.com>
8633
8634 * libgomp.h (attribute_hidden, ialias): Define.
8635 * config/posix/proc.c (omp_get_num_procs): Add ialias.
8636 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
8637 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
8638 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8639 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8640 omp_test_lock, omp_test_nest_lock): Likewise.
8641 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
8642 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8643 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8644 omp_test_lock, omp_test_nest_lock): Likewise.
8645 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
8646 omp_get_dynamic, omp_get_nested): Likewise.
8647 * parallel.c (omp_get_num_threads, omp_get_max_threads,
8648 omp_get_thread_num, omp_in_parallel): Likewise.
8649 * fortran.c (ialias_redirect): Define.
8650 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
8651 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
8652 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
8653 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
8654 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
8655 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
8656 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
8657 omp_get_wtime): Add ialias_redirect.
8658
86592005-10-30 Jakub Jelinek <jakub@redhat.com>
8660
8661 * fortran.c: Include stdlib.h.
8662
86632005-10-29 Jakub Jelinek <jakub@redhat.com>
8664
8665 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
8666 * Makefile.in: Regenerated.
8667
86682005-10-28 Jakub Jelinek <jakub@redhat.com>
8669
8670 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
8671 * libgomp_f.h.in (omp_check_defines): New function.
8672 * env.c: Include libgomp_f.h.
8673 (initialize_env): Call omp_check_defines.
8674
8675 * testsuite/libgomp.dg/copyin-2.c: New test.
8676 * testsuite/libgomp.c++/copyin-2.C: New test.
8677 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
8678
8679 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
8680 * testsuite/libgomp.fortran/sharing2.f90: New test.
8681
8682 * testsuite/libgomp.dg/copyin-1.c: New test.
8683 * testsuite/libgomp.c++/copyin-1.C: New test.
8684
86852005-10-26 Jakub Jelinek <jakub@redhat.com>
8686
8687 * testsuite/libgomp.fortran/crayptr1.f90: New test.
8688
8689 * testsuite/libgomp.fortran/workshare1.f90: New test.
8690
8691 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
8692 only test.
8693 * libgomp.fortran/sharing1.f90: New test.
8694
86952005-10-24 Jakub Jelinek <jakub@redhat.com>
8696
8697 PR c++/24502
8698 * testsuite/libgomp.c++/loop-7.C: New test.
8699
8700 * testsuite/libgomp.dg/nestedfn-2.c: New test.
8701
8702 * testsuite/libgomp.dg/nestedfn-1.c: New test.
8703 * testsuite/libgomp.fortran/reduction6.f90: New test.
8704 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
8705
87062005-10-23 Richard Henderson <rth@redhat.com>
8707
8708 * testsuite/libgomp.c++/ctor-1.C: New.
8709 * testsuite/libgomp.c++/ctor-2.C: New.
8710 * testsuite/libgomp.c++/ctor-3.C: New.
8711 * testsuite/libgomp.c++/ctor-4.C: New.
8712 * testsuite/libgomp.c++/ctor-5.C: New.
8713 * testsuite/libgomp.c++/ctor-6.C: New.
8714 * testsuite/libgomp.c++/ctor-7.C: New.
8715 * testsuite/libgomp.c++/ctor-8.C: New.
8716 * testsuite/libgomp.c++/ctor-9.C: New.
8717
87182005-10-21 Diego Novillo <dnovillo@redhat.com>
8719
8720 PR 24455
8721 * testsuite/libgomp.c++/pr24455-1.C: New test.
8722 * testsuite/libgomp.c++/pr24455.C: New test.
8723 * testsuite/libgomp.dg/pr24455-1.c: New test.
8724 * testsuite/libgomp.dg/pr24455.c: New test.
8725
87262005-10-20 Richard Henderson <rth@redhat.com>
8727
8728 * testsuite/libgomp.c++/loop-6.C: New.
8729 * testsuite/libgomp.dg/loop-3.c: New.
8730
87312005-10-20 Jakub Jelinek <jakub@redhat.com>
8732
8733 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
8734 explicitly private.
8735 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
8736 explicitly shared.
8737
87382005-10-19 Diego Novillo <dnovillo@redhat.com>
8739
8740 * testsuite/libgomp.fortran/jacobi.f: New test.
8741
87422005-10-19 Richard Henderson <rth@redhat.com>
8743
8744 * configure.tgt (i?86-linux): Default to with_arch instead of
8745 CFLAGS. Add -mtune to match target_cpu.
8746 (x86_64-linux): Tune to i686.
8747
8748 * fortran.c (omp_test_nest_lock_): Fix typo.
8749
87502005-10-19 Jakub Jelinek <jakub@redhat.com>
8751
8752 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8753 gomp_ordered_sync): Do nothing if team->nthreads == 1.
8754 * testsuite/libgomp.dg/ordered-3.c: New test.
8755
8756 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
8757 Remove volatile keyword.
8758
8759 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
8760 in COMMON block to avoid warnings on 64-bit targets.
8761
87622005-10-18 Diego Novillo <dnovillo@redhat.com>
8763
8764 * testsuite/libgomp.dg/shared-3.c: New test.
8765
87662005-10-18 Jakub Jelinek <jakub@redhat.com>
8767
8768 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
8769 * testsuite/libgomp.fortran/reduction5.f90: New test.
8770
87712005-10-18 Jakub Jelinek <jakub@redhat.com>
8772
8773 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
8774 dg-options.
8775 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
8776 flush loop now that __sync_synchronize has proper memory barrier.
8777 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
8778 Add -ffixed-form to dg-options.
8779
87802005-10-17 Diego Novillo <dnovillo@redhat.com>
8781
8782 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
8783 from subdirectories.
8784 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
8785 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
8786 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
8787 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
8788 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
8789 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
8790 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
8791 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
8792 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
8793 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
8794 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
8795 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
8796 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
8797 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
8798 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
8799 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
8800 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
8801 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
8802 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
8803 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
8804 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
8805 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
8806 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
8807 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
8808 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
8809
88102005-10-17 Jakub Jelinek <jakub@redhat.com>
8811
8812 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
8813 lang_library_path exists. Use find instead of glob to gather tests.
8814 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
8815
88162005-10-17 Diego Novillo <dnovillo@redhat.com>
8817
8818 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
8819 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
8820 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
8821 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
8822 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
8823 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
8824 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
8825 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
8826 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
8827 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
8828 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
8829 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
8830 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
8831
88322005-10-15 Jakub Jelinek <jakub@redhat.com>
8833
8834 * testsuite/libgomp.dg/vla-1.c: New test.
8835
8836 * testsuite/libgomp.fortran/reference2.f90: New test.
8837
8838 * testsuite/libgomp.fortran/character2.f90: Remove explicit
8839 declaration of omp_get_thread_num.
8840 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
8841 use omp_lib.
8842
8843 * testsuite/libgomp.fortran/reduction1.f90: New test.
8844 * testsuite/libgomp.fortran/reduction2.f90: New test.
8845 * testsuite/libgomp.fortran/reduction3.f90: New test.
8846 * testsuite/libgomp.fortran/reduction4.f90: New test.
8847
88482005-10-13 Richard Henderson <rth@redhat.com>
8849
8850 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
8851 * Makefile.in: Regenerate.
8852 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
8853 * libgomp.h: Include bar.h.
8854 (struct gomp_barrier): Remove.
8855 (struct gomp_team): Add barrier. Replace master_barrier with
8856 master_release. Replace threads with ordered_release.
8857 (struct gomp_thread): Replace barrier with release.
8858 * ordered.c (gomp_ordered_first): Update for ordered_release change.
8859 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
8860 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
8861 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
8862 (GOMP_single_copy_end): Likewise.
8863 * team.c (gomp_threads_dock): New.
8864 (gomp_barrier_init, gomp_barrier_destroy): Remove.
8865 (gomp_thread_start): Use gomp_barrier_wait.
8866 (new_team, free_team): Update for gomp_team changes.
8867 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
8868 (gomp_team_end): Use gomp_barrier_wait.
8869 (initialize_team): Update for gomp_thread changes.
8870 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
8871 (gomp_work_share_end_nowait): Use atomic ops when available.
8872 * config/linux/bar.c, config/linux/bar.h: New files.
8873 * config/posix/bar.c, config/posix/bar.h: New files.
8874
88752005-10-13 Jakub Jelinek <jakub@redhat.com>
8876
8877 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
8878 * testsuite/libgomp.dg/single-2.c: New test.
8879
8880 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
8881 lang_link_flags): Unset, so that they aren't inherited from previously
8882 sourced *.exp.
8883
8884 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
8885
88862005-10-12 Richard Henderson <rth@redhat.com>
8887
8888 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
8889 (libgomp_init): Use lang_test_file, lang_library_path, and
8890 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
8891
8892 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
8893 (lang_test_file, lang_link_flags): New.
8894 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
8895
8896 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
8897 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
8898 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
8899 testsuite/libgomp.c++/parallel-1.C,
8900 testsuite/libgomp.c++/reduction-1.C,
8901 testsuite/libgomp.c++/reduction-2.C,
8902 testsuite/libgomp.c++/reduction-3.C,
8903 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
8904 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
8905 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
8906 New files, largely cribbed from the C testsuite.
8907
89082005-10-12 Jakub Jelinek <jakub@redhat.com>
8909
8910 * testsuite/libgomp.fortran/character1.f90: New test.
8911 * testsuite/libgomp.fortran/character2.f90: New test.
8912
8913 * testsuite/libgomp.dg/nested-1.c: New test.
8914 * testsuite/libgomp.dg/nested-2.c: New test.
8915 * testsuite/libgomp.fortran/do1.f90: New test.
8916 * testsuite/libgomp.fortran/do2.f90: New test.
8917
8918 * testsuite/libgomp.fortran/reference1.f90: New test.
8919
89202005-10-11 Jakub Jelinek <jakub@redhat.com>
8921
8922 * testsuite/libgomp.dg/reduction-1.c: New test.
8923 * testsuite/libgomp.dg/reduction-2.c: New test.
8924 * testsuite/libgomp.dg/reduction-3.c: New test.
8925
89262005-10-10 Jakub Jelinek <jakub@redhat.com>
8927
8928 * testsuite/libgomp.dg/atomic-1.c: New test.
8929 * testsuite/libgomp.dg/atomic-2.c: New test.
8930
89312005-10-09 Richard Henderson <rth@redhat.com>
8932
8933 * critical.c (atomic_lock): New.
8934 (initialize_critical): Initialize it.
8935 (GOMP_atomic_start, GOMP_atomic_end): New.
8936 * libgomp.map: Export them.
8937 * libgomp_g.h: Declare them.
8938
8939 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
8940
89412005-10-02 Richard Henderson <rth@redhat.com>
8942
8943 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
8944 to XCFLAGS instead of CFLAGS.
8945
89462005-09-30 Richard Henderson <rth@redhat.com>
8947
8948 * configure.ac: Determine whether -pthread or -lpthread is needed.
8949 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
8950 * Makefine.in, configure: Rebuild.
8951
89522005-09-28 Richard Henderson <rth@redhat.com>
8953
8954 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
8955 * testsuite/libgomp.dg/omp-single-3.c: New test.
8956
89572005-09-28 Diego Novillo <dnovillo@redhat.com>
8958
8959 * testsuite/libgomp.dg/omp-single-2.c: New test.
8960 * testsuite/libgomp.dg/shared-2.c: Fix return code.
8961
89622005-09-27 Richard Henderson <rth@redhat.com>
8963
8964 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
8965 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
8966
89672005-09-27 Jakub Jelinek <jakub@redhat.com>
8968
8969 * testsuite/libgomp.dg/omp-loop03.c: New test.
8970
89712005-09-27 Diego Novillo <dnovillo@redhat.com>
8972
8973 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
8974
89752005-09-27 Diego Novillo <dnovillo@redhat.com>
8976
8977 * testsuite/libgomp.dg/omp-single-1.c: New test.
8978 * testsuite/libgomp.dg/shared-1.c: Return 0.
8979 Add prototype for abort.
8980 * testsuite/libgomp.dg/shared-2.c: Likewise.
8981
89822005-09-26 Jakub Jelinek <jakub@redhat.com>
8983
8984 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
8985 constructs.
8986
89872005-09-26 Diego Novillo <dnovillo@redhat.com>
8988
8989 * testsuite/libgomp.dg/shared-1.c: New test.
8990 * testsuite/libgomp.dg/shared-2.c: New test.
8991
89922005-09-24 Richard Henderson <rth@redhat.com>
8993
8994 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
8995
89962005-09-24 Richard Henderson <rth@redhat.com>
8997
8998 * iter.c (gomp_iter_static_next): Round up when computing number
8999 of iterations. Don't bother distributing a remainder equally.
9000
9001 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
9002 Don't call srand. Zero b before testing.
9003 (main): New.
9004
90052005-09-24 Jakub Jelinek <jakub@redhat.com>
9006
9007 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
9008 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
9009
90102005-09-23 Jakub Jelinek <jakub@redhat.com>
9011
9012 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
9013 without !$omp end do, followed immediately by subroutine end.
9014
90152005-09-23 Diego Novillo <dnovillo@redhat.com>
9016
9017 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
9018
90192005-09-22 Richard Henderson <rth@redhat.com>
9020
9021 * critical.c (GOMP_critical_name_start): Change argument to void**.
9022 Reuse the pointer space if the mutex fits.
9023 (GOMP_critical_name_end): Likewise.
9024 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
9025 * libgomp_g.h (GOMP_critical_name_start): Update decl.
9026 (GOMP_critical_name_end): Likewise.
9027 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
9028 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
9029
90302005-09-20 Richard Henderson <rth@redhat.com>
9031
9032 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
9033 (create_lock_lock): New.
9034 (initialize_critical): Initialize it.
9035 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
9036 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
9037
90382005-09-20 Diego Novillo <dnovillo@redhat.com>
9039
9040 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
9041
90422005-09-20 Diego Novillo <dnovillo@redhat.com>
9043
9044 * testsuite/libgomp.dg/omp-loop01.c: New test.
9045 * testsuite/libgomp.dg/omp-loop02.c: New test.
9046
90472005-09-20 Jakub Jelinek <jakub@redhat.com>
9048
9049 * configure.ac (AC_PROG_FC): Add.
9050 (USE_FORTRAN): New automake conditional.
9051 * configure: Rebuilt.
9052 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
9053 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
9054 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
9055 Add rules to build them.
9056 * Makefile.in: Rebuilt.
9057 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
9058 OMP_NEST_LOCK_KIND.
9059 * libgomp.map: Add Fortran wrappers.
9060 * libgomp_f.h.in: New file.
9061 * omp_lib.h.in: New file.
9062 * omp_lib.f90.in: New file.
9063 * fortran.c: New file.
9064 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
9065 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
9066 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
9067 libgfortran has been built.
9068 * testsuite/libgomp.fortran/fortran.exp: New file.
9069 * testsuite/libgomp.fortran/omp_cond1.f: New test.
9070 * testsuite/libgomp.fortran/omp_cond2.f: New test.
9071 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
9072 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
9073 * testsuite/libgomp.fortran/omp_hello.f: New test.
9074 * testsuite/libgomp.fortran/omp_orphan.f: New test.
9075 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
9076 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
9077 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
9078 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
9079 * testsuite/libgomp.fortran/omp_reduction.f: New test.
9080 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
9081 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
9082
90832005-08-30 Richard Henderson <rth@redhat.com>
9084
9085 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
9086 function for when aliases are not usable.
9087 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
9088 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9089 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
9090 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
9091 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
9092 GOMP_loop_ordered_guided_next): Likewise.
9093 * ordered.c (GOMP_ordered_start): Likewise.
9094
90952005-08-01 Diego Novillo <dnovillo@redhat.com>
9096
9097 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
9098 * testsuite/libgomp.dg/omp_hello.c: Fix return code
9099 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
9100 * testsuite/libgomp.dg/omp_orphan.c: Likewise
9101 * testsuite/libgomp.dg/omp_reduction.c: Likewise
9102 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
9103 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
9104 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
9105 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
9106
91072005-07-07 Eric Christopher <echristo@redhat.com>
9108 Diego Novillo <dnovillo@redhat.com>
9109
9110 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
9111 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
9112 up code.
9113 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
9114 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
9115 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
9116 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
9117 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
9118 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
9119 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
9120
91212005-06-13 Diego Novillo <dnovillo@redhat.com>
9122
9123 * TOPLEVEL.patch: Remove.
9124
91252005-05-16 Richard Henderson <rth@redhat.com>
9126
9127 * configure.ac: Test for clock_gettime.
9128 * config.h.in, configure: Rebuild.
9129 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
9130 (omp_get_wtime): Use clock_gettime if available.
9131 (omp_get_wtick): Use clock_getres if available.
9132
91332005-05-11 Richard Henderson <rth@redhat.com>
9134
9135 * config/linux/ia64/futex.h: New file.
9136 * configure.tgt: Use it.
9137
9138 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
9139
91402005-05-07 Richard Henderson <rth@redhat.com>
9141
9142 * config/linux/powerpc/futex.h: New file.
9143 * configure.tgt: Use it.
9144
9145 * config/linux/i486/futex.h: Merge ...
9146 * config/linux/x86_64/futex.h: ... into ...
9147 * config/linux/x86/futex.h: ... here.
9148 * configure.tgt: Update to match.
9149
91502005-05-06 Richard Henderson <rth@redhat.com>
9151
9152 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
9153 * config/linux/i486/futex.h: Likewise.
9154 * config/linux/x86_64/futex.h: Likewise.
9155
9156 * config/linux/lock.c: New file.
9157 * config/linux/omp-lock.h: New file.
9158
9159 * critical.c, env.h: Don't include omp.h
9160 * config/posix/lock.c: Include libgomp.h instead of omp.h.
9161 * config/posix/time.c: Likewise.
9162 * config/posix/omp-lock.h: New file.
9163 * libgomp.h: Include omp-lock.h and omp.h.
9164 * Makefile.am (nodist_include_HEADERS): New.
9165 (omp.h): New rule.
9166 * configure.ac (PERL): New.
9167 * mkomp_h.pl: New file.
9168 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
9169 with templates.
9170 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
9171
9172 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
9173 build directory. Re-add -march=i486 hack.
9174
9175 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
9176 (libgomp_link_flags): Remove.
9177 (libgomp_initialized): Remove.
9178 (libgomp_init): Don't protect from reinitialization. Copy code
9179 from libstdc++ for getting the multilib set correctly.
9180
91812005-05-05 Richard Henderson <rth@redhat.com>
9182
9183 * config/linux/alpha/futex.h: New file.
9184 * configure.tgt (alpha*-*-linux*): Use it.
9185
9186 * config/posix/mutex.c: New file.
9187 * config/posix/sem.c: Use libgomp.h.
9188
9189 * configure.tgt (x86_64-linux): Also test CC for -m32.
9190 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
9191
a1daed2d 9192 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
9193 after $gccpath.
9194
9195 * Makefile.am (SUBDIRS): New.
9196 (libgomp_la_LDFLAGS): Add -lpthread.
9197 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
9198 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
9199
9200 * libgomp_g.h: New file.
9201 * libgomp.h: Split out all public declarations to libgomp_g.h.
9202 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
9203 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
9204 * config/linux/sem.h: Likewise.
9205 * config/posix/sem.h: Likewise.
9206
9207 * Makefile.am (AM_LDFLAGS): New.
9208 (libgomp_version_script): Split out from ...
9209 (libgomp_la_LDFLAGS): ... here.
9210 (libgomp_version_info): New.
9211 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
9212 (LIBGOMP_ENABLE): New.
9213 (LIBGOMP_CHECK_LINKER_FEATURES): New.
9214 (LIBGOMP_ENABLE_SYMVERS): New.
9215 * configure.ac (AC_INIT): Version 1.0.
9216 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
9217 (enable-linux-futex): Likewise. Rename from enable-futex.
9218 (libtool_VERSION): New.
9219 (LIBGOMP_ENABLE_SYMVERS): Use it.
9220 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
9221 * Makefile.in, aclocal.m4, configure: Rebuild.
9222
9223 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
9224 (gomp_mutex_unlock_slow): Fix typo.
9225 * config/linux/sem.c: Similarly.
9226 (gomp_sem_post_slow): Fix typo.
9227 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
9228 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
9229 [__PIC__] (sys_futex0): Don't use tmp output in asm.
9230
9231 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
9232 (libgomp_la_LDFLAGS): Add top_srcdir to path.
9233 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
9234 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
9235 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
9236 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
9237 LDFLAGS. Pull enable_futex check to top-level.
9238 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
9239 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
9240
9241 First attempt at real configury.
9242 * Makefile, config.h: Remove file.
9243 * Makefile.am, Makefile.in: New file.
9244 * acinclude.m4 aclocal.m4: New file.
9245 * configure.ac, configure.tgt, configure: New file.
9246
9247 * config/posix/lock.c: Rename from sys-lock.c.
9248 * config/posix/mutex.h: Rename from sys-mutex.h.
9249 * config/posix/sem.c: Rename from sys-sem.c.
9250 * config/posix/sem.h: Rename from sys-sem.h.
9251 * config/posix/proc.c: Rename from sys-proc.c.
9252 * config/posix/time.c: Rename from sys-proc.c.
9253
9254 * config/linux/mutex.c: New file.
9255 * config/linux/mutex.h: New file.
9256 * config/linux/sem.c: New file.
9257 * config/linux/sem.h: New file.
9258 * config/linux/i486/futex.h: New file.
9259 * config/linux/x86_64/futex.h: New file.
9260
92612005-05-04 Richard Henderson <rth@redhat.com>
9262
9263 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
9264 * libgomp.h: Declare them.
9265 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
9266 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
9267
92682005-05-04 Richard Henderson <rth@redhat.com>
9269
9270 * libgomp-1 code drop
9271
92722005-05-04 Richard Henderson <rth@redhat.com>
9273
9274 * iter.c (gomp_iter_static_next): Return tri-state on 0.
9275 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
9276 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
9277 (gomp_iter_static_next): Update.
9278 (gomp_ordered_static_next): Update.
9279 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
9280 (gomp_loop_ordered_static_start): Likewise. Exit early for a
9281 totally empty range.
9282 (gomp_loop_ordered_static_next): Refine test for calling
9283 gomp_ordered_static_next.
9284 * testsuite/ordered-1.c: Add case for more threads than iterations.
9285
9286 * iter.c (gomp_iter_runtime_next_locked): Remove.
9287 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 9288 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
9289 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9290 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
9291 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
9292 gomp_loop_ordered_guided_next): Downcase name, make static, add
9293 an external alias with the old name.
9294 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9295 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
9296 switch and call one of the above static functions.
9297 * libgomp.h: Update.
9298
9299 * work.c (gomp_work_share_start): Lock the mutex for !first too.
9300 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
9301 GOMP_loop_guided_start, GOMP_loop_runtime_start,
9302 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9303 GOMP_loop_ordered_guided_start): Update to match.
9304 * sections.c (GOMP_sections_start): Likewise.
9305 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
9306
9307 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
9308 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
9309 Use bounds check instead of modulus.
9310 (gomp_ordered_sync): Split out of GOMP_ordered_start.
9311 (gomp_ordered_last): Don't sync with ordered_owner here.
9312 (gomp_ordered_next): Likewise.
9313 (gomp_ordered_static_loop_next): Likewise.
9314 * loop.c, libgomp.h: Update to match.
9315
9316 * libgomp.h (GOMP_barrier): Declare.
9317
9318 * testsuite/barrier-1.c: New file.
9319 * testsuite/critical-1.c: New file.
9320 * testsuite/ordered-2.c: New file.
9321 * testsuite/ordered-1.c: New file.
9322 * testsuite/sections-1.c: New file.
9323 * testsuite/single-1.c: New file.
9324 * testsuite/Makefile (TESTS): Add them.
9325
93262005-05-04 Richard Henderson <rth@redhat.com>
9327
9328 * libgomp.h (struct gomp_work_share): Add ordered_owner.
9329 * loop.c (GOMP_loop_static_start): If not the startup thread,
9330 acquire the mutex to wait for initialization complete.
9331 (GOMP_loop_ordered_static_start): Likewise.
9332 (GOMP_loop_ordered_runtime_start): Likewise.
9333 (GOMP_loop_ordered_static_first): Remove.
9334 (GOMP_loop_ordered_dynamic_first): Remove.
9335 (GOMP_loop_ordered_guided_first): Remove.
9336 (GOMP_loop_ordered_runtime_first): Remove.
9337 * ordered.c (gomp_ordered_loop_first): Post to own release when
9338 we're the first thread.
9339 (gomp_ordered_loop_last): Wait on release if not owner.
9340 (gomp_ordered_loop_next): Likewise.
9341 (gomp_ordered_static_loop_init): New.
9342 (gomp_ordered_static_loop_next): Use ordered_owner.
9343 (GOMP_ordered_start): Likewise.
9344 * work.c (gomp_new_work_share): Initialize ordered_owner.
9345
93462005-05-03 Richard Henderson <rth@redhat.com>
9347
9348 * Makefile (OPT): New.
9349 (CFLAGS): Use it.
9350
9351 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
9352 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
9353 * libgomp.h, libgomp.map, NOTES: Update to match.
9354
9355 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
9356 Add initialized and thr members.
9357 (gomp_thread_start): Pause when initially spawned to wait for
9358 the whole team to be created.
9359 (gomp_team_start): Release team members at the end.
9360
9361 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
9362 (f_foo_1): Use GOMP_loop_end.
9363 (f_foo_2): Use GOMP_loop_end_nowait.
9364
9365 * testsuite/loop-2.c: New file.
9366 * testsuite/Makefile (TESTS): Add it.
9367
93682005-05-03 Richard Henderson <rth@redhat.com>
9369
9370 * iter.c (gomp_iter_static_next): Fix overflow check typo.
9371 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
9372 * team.c (new_team): Initialize oldest_live_gen to 1 if no
9373 initial work_share.
9374
9375 * testsuite/Makefile: New file.
9376 * testsuite/loop-1.c: New file.
9377
93782005-05-03 Richard Henderson <rth@redhat.com>
9379
9380 Initial implementation and checkin.
21fa2a29 9381\f
85ec4feb 9382Copyright (C) 2005-2018 Free Software Foundation, Inc.
21fa2a29
JJ
9383
9384Copying and distribution of this file, with or without modification,
9385are permitted in any medium without royalty provided the copyright
9386notice and this notice are preserved.