]> gcc.gnu.org Git - gcc.git/blob - libgomp/ChangeLog
Daily bump.
[gcc.git] / libgomp / ChangeLog
1 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
2
3 * libgomp.texi (Support of strictly structured blocks in Fortran):
4 Adjust to 'Y'.
5 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
6
7 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
8
9 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
10 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
11
12 2021-10-20 Jakub Jelinek <jakub@redhat.com>
13
14 PR libgomp/102838
15 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
16 (struct gomp_work_share): Only use aligned(64) attribute if
17 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
18 add padding before lock to ensure lock is at offset 64 bytes
19 into the structure.
20 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
21 New poor man's static assertions.
22 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
23 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
24
25 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
26 Richard Biener <rguenther@suse.de>
27
28 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
29
30 2021-10-18 Jakub Jelinek <jakub@redhat.com>
31
32 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
33 && gomp_places_list_len < count after nfirst <= nlast loop condition.
34
35 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
36
37 PR fortran/102086
38 PR fortran/92189
39 PR fortran/92621
40 PR fortran/101308
41 PR fortran/101309
42 PR fortran/101635
43 PR fortran/92482
44 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
45
46 2021-10-15 Jakub Jelinek <jakub@redhat.com>
47
48 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
49 type from char [50] to const char *.
50 (places_array): Add a testcase for simplified syntax place followed
51 by length or length and stride.
52
53 2021-10-15 Jakub Jelinek <jakub@redhat.com>
54
55 * env.c (parse_one_place): Handle non-negative-number the same
56 as { non-negative-number }. Reject even !number:1 and
57 !number:1:stride or !place:1 or !place:1:stride instead of just
58 length other than 1.
59 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
60 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
61 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
62 as implemented.
63 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
64 simplified syntax.
65
66 2021-10-15 Jakub Jelinek <jakub@redhat.com>
67
68 * env.c (parse_schedule): For strtoul or strtoull calls which don't
69 clearly reject return value 0 as invalid handle the case where end
70 pointer is the same as first argument as invalid.
71 (parse_unsigned_long_1): Likewise.
72 (parse_one_place): Likewise.
73 (parse_places_var): Likewise.
74 (parse_stacksize): Likewise.
75 (parse_spincount): Likewise.
76 (parse_affinity): Likewise.
77 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
78 Make code valid C89.
79 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
80 For strtoul calls which don't clearly reject return value 0 as
81 invalid handle the case where end pointer is the same as first
82 argument as invalid.
83 (gomp_affinity_init_level_1): Likewise.
84 (gomp_affinity_init_numa_domains): Likewise.
85 * config/rtems/proc.c (parse_thread_pools): Likewise.
86
87 2021-10-15 Jakub Jelinek <jakub@redhat.com>
88
89 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
90 after creating count places clean up and return immediately.
91 * testsuite/libgomp.c/places-6.c: New test.
92 * testsuite/libgomp.c/places-7.c: New test.
93 * testsuite/libgomp.c/places-8.c: New test.
94 * testsuite/libgomp.c/places-9.c: New test.
95 * testsuite/libgomp.c/places-10.c: New test.
96
97 2021-10-15 Jakub Jelinek <jakub@redhat.com>
98
99 * env.c (parse_places_var): Handle numa_domains as level 5.
100 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
101 function.
102 (gomp_affinity_init_level): Use it instead of
103 gomp_affinity_init_level_1 for level == 5.
104 * testsuite/libgomp.c/places-5.c: New test.
105
106 2021-10-15 Jakub Jelinek <jakub@redhat.com>
107
108 * env.c (parse_places_var): Handle ll_caches as level 4.
109 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
110 function.
111 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
112 last level cache.
113 (gomp_affinity_init_level): Likewise.
114 * testsuite/libgomp.c/places-1.c: New test.
115 * testsuite/libgomp.c/places-2.c: New test.
116 * testsuite/libgomp.c/places-3.c: New test.
117 * testsuite/libgomp.c/places-4.c: New test.
118
119 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
120
121 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
122 directive.
123
124 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
125
126 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
127
128 2021-10-12 Julian Brown <julian@codesourcery.com>
129
130 * target.c (gomp_copy_host2dev): Release device lock on cbuf
131 error path.
132
133 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
134
135 * testsuite/libgomp.fortran/icv-3.f90: New.
136 * testsuite/libgomp.fortran/icv-4.f90: New.
137
138 2021-10-12 Jakub Jelinek <jakub@redhat.com>
139
140 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
141 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
142 OMP_TEAMS_THREAD_LIMIT): Document.
143
144 2021-10-12 Jakub Jelinek <jakub@redhat.com>
145
146 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
147 to avoid makeinfo warnings.
148
149 2021-10-12 Jakub Jelinek <jakub@redhat.com>
150
151 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
152 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
153
154 2021-10-12 Jakub Jelinek <jakub@redhat.com>
155
156 PR libgomp/102628
157 PR libgomp/102668
158 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
159 allocation sizes from 420 to 320 and from 768 to 568.
160 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
161 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
162 for cr from 16 to 4.
163
164 2021-10-12 Jakub Jelinek <jakub@redhat.com>
165
166 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
167 * testsuite/libgomp.c/scan-12.c: Likewise.
168 * testsuite/libgomp.c/scan-13.c: Likewise.
169 * testsuite/libgomp.c/scan-14.c: Likewise.
170 * testsuite/libgomp.c/scan-15.c: Likewise.
171 * testsuite/libgomp.c/scan-16.c: Likewise.
172 * testsuite/libgomp.c/scan-17.c: Likewise.
173 * testsuite/libgomp.c/scan-18.c: Likewise.
174 * testsuite/libgomp.c/scan-19.c: Likewise.
175 * testsuite/libgomp.c/scan-20.c: Likewise.
176 * testsuite/libgomp.c/scan-21.c: Likewise.
177 * testsuite/libgomp.c/scan-22.c: Likewise.
178 * testsuite/libgomp.c++/scan-9.C: Likewise.
179 * testsuite/libgomp.c++/scan-10.C: Likewise.
180 * testsuite/libgomp.c++/scan-11.C: Likewise.
181 * testsuite/libgomp.c++/scan-12.C: Likewise.
182 * testsuite/libgomp.c++/scan-13.C: Likewise.
183 * testsuite/libgomp.c++/scan-14.C: Likewise.
184 * testsuite/libgomp.c++/scan-15.C: Likewise.
185 * testsuite/libgomp.c++/scan-16.C: Likewise.
186
187 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
188
189 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
190
191 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
192
193 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
194 omp_atv_serialized.
195 * omp.h.in: Add deprecated flag for omp_atv_sequential.
196 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
197 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
198 * testsuite/libgomp.fortran/alloc-12.f90: New test.
199
200 2021-10-11 Jakub Jelinek <jakub@redhat.com>
201
202 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
203 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
204 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
205 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
206 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
207 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
208 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
209 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
210 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
211 omp_set_teams_thread_limit{,_,_8_}.
212 * icv.c (omp_set_num_teams, omp_get_max_teams,
213 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
214 functions.
215 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
216 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
217 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
218 vars.
219 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
220 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
221 is not specified, use gomp_nteams_var.
222 * fortran.c (omp_set_num_teams, omp_get_max_teams,
223 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
224 ialias_redirect.
225 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
226 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
227 omp_get_teams_thread_limit_): New functions.
228
229 2021-10-09 liuhongt <hongtao.liu@intel.com>
230
231 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
232 * testsuite/libgomp.c++/scan-11.C: Ditto.
233 * testsuite/libgomp.c++/scan-12.C: Ditto.
234 * testsuite/libgomp.c++/scan-13.C: Ditto.
235 * testsuite/libgomp.c++/scan-14.C: Ditto.
236 * testsuite/libgomp.c++/scan-15.C: Ditto.
237 * testsuite/libgomp.c++/scan-16.C: Ditto.
238 * testsuite/libgomp.c++/scan-9.C: Ditto.
239 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
240 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
241 * testsuite/libgomp.c/scan-11.c: Ditto.
242 * testsuite/libgomp.c/scan-12.c: Ditto.
243 * testsuite/libgomp.c/scan-13.c: Ditto.
244 * testsuite/libgomp.c/scan-14.c: Ditto.
245 * testsuite/libgomp.c/scan-15.c: Ditto.
246 * testsuite/libgomp.c/scan-16.c: Ditto.
247 * testsuite/libgomp.c/scan-17.c: Ditto.
248 * testsuite/libgomp.c/scan-18.c: Ditto.
249 * testsuite/libgomp.c/scan-19.c: Ditto.
250 * testsuite/libgomp.c/scan-20.c: Ditto.
251 * testsuite/libgomp.c/scan-21.c: Ditto.
252 * testsuite/libgomp.c/scan-22.c: Ditto.
253
254 2021-10-09 Jakub Jelinek <jakub@redhat.com>
255
256 * libgomp.texi (OpenMP 5.1): Mention implemented support for
257 structured block sequences in C/C++. Mention support for
258 unconstrained/reproducible modifiers on order clause.
259 Mention partial (C/C++ only) support of extentensions to atomics
260 construct. Mention partial (C/C++ on clause only) support of
261 align/allocator modifiers on allocate clause.
262
263 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
264
265 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
266 based on libgomp.c-c++-common/order-reproducible-1.c.
267 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
268 * testsuite/libgomp.fortran/my-usleep.c: New test.
269
270 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
271
272 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
273 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
274 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
275 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
276 based on libgomp.c-c++-common/alloc-9.c.
277
278 2021-10-01 Jakub Jelinek <jakub@redhat.com>
279
280 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
281 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
282
283 2021-10-01 Jakub Jelinek <jakub@redhat.com>
284
285 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
286 ialias_redirect.
287 * env.c (handle_omp_display_env): Use ialias_call.
288 * icv-device.c: Move ialias right below each function.
289 (omp_get_device_num): Use ialias_call.
290 * fortran.c (omp_fulfill_event): Add ialias_redirect.
291 * icv.c (omp_get_active_level): Add ialias_redirect.
292
293 2021-10-01 Jakub Jelinek <jakub@redhat.com>
294
295 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
296 __alloc_align__ (1) attribute.
297 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
298
299 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
300
301 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
302 for -fintrinsic-modules-path= warning of the C compiler.
303 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
304 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
305
306 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
307
308 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
309 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
310 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
311 omp_realloc): Add.
312 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
313 omp_realloc): Add.
314 * testsuite/libgomp.fortran/alloc-10.f90: New test.
315 * testsuite/libgomp.fortran/alloc-6.f90: New test.
316 * testsuite/libgomp.fortran/alloc-7.c: New test.
317 * testsuite/libgomp.fortran/alloc-7.f90: New test.
318 * testsuite/libgomp.fortran/alloc-8.f90: New test.
319 * testsuite/libgomp.fortran/alloc-9.f90: New test.
320
321 2021-09-30 Jakub Jelinek <jakub@redhat.com>
322
323 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
324 omp_realloc): New prototypes.
325 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
326 attribute.
327 * allocator.c: Include string.h.
328 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
329 variable and use it instead of alignment so that when retrying the old
330 alignment is used again. Don't retry if new alignment is the same
331 as old alignment, unless allocator had pool size.
332 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
333 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
334 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
335 omp_aligned_calloc and omp_realloc.
336 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
337 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
338 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
339 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
340 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
341 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
342
343 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
344
345 PR libgomp/96661
346 * configure.ac: Only check for int-type = 2*size_t support when
347 building with Fortran support.
348 * configure: Regenerate.
349
350 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
351
352 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
353 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
354
355 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
356
357 * team.c: Initialize start_data.
358 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
359 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
360
361 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
362
363 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
364 dg-message back to dg-note.
365
366 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
367
368 PR fortran/94070
369 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
370 expected dg-note output.
371
372 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
373
374 PR fortran/55534
375 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
376 r12-3722 by removing -Wno-missing-include-dirs.
377 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
378
379 2021-09-22 Jakub Jelinek <jakub@redhat.com>
380
381 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
382 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
383
384 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
385
386 PR fortran/55534
387 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
388 to ALWAYS_CFLAGS.
389 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
390
391 2021-09-18 Jakub Jelinek <jakub@redhat.com>
392
393 * testsuite/libgomp.c++/default-1.C: New test.
394 * testsuite/libgomp.c-c++-common/default-1.c: New test.
395 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
396 to default clause in C and C++" as implemented.
397
398 2021-09-17 Julian Brown <julian@codesourcery.com>
399
400 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
401
402 2021-09-17 Julian Brown <julian@codesourcery.com>
403
404 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
405
406 2021-09-17 Jakub Jelinek <jakub@redhat.com>
407
408 * libgomp.texi (OpenMP 5.1): Spelling fix,
409 declare variante -> declare variant.
410
411 2021-09-17 Jakub Jelinek <jakub@redhat.com>
412
413 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
414 Use /* */ comments instead of //.
415 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
416 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
417 * testsuite/libgomp.c++/atomic-16.C: New test.
418 * testsuite/libgomp.c++/atomic-17.C: New test.
419
420 2021-09-10 Jakub Jelinek <jakub@redhat.com>
421
422 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
423 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
424 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
425
426 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
427
428 * libgomp.texi (OpenMP Implementation Status): Extend
429 OpenMP 5.0 section.
430 (OpenACC Profiling Interface): Fix typo.
431
432 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
433
434 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
435 not to 4.5; link to new section.
436 (OpenMP Implementation Status): New.
437
438 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
439
440 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
441
442 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
443
444 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
445 dg-output.
446 * testsuite/libgomp.fortran/error-1.f90: Likewise.
447
448 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
449 Jakub Jelinek <jakub@redhat.com>
450
451 * testsuite/libgomp.c/address-space-1.c: New file.
452
453 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
454
455 * testsuite/lib/libgomp.exp
456 (check_effective_target_offload_target_intelmic): Remove 'proc'.
457 (check_effective_target_offload_device_intel_mic): New 'proc'.
458 * testsuite/libgomp.c-c++-common/on_device_arch.h
459 (device_arch_intel_mic, on_device_arch_intel_mic): New.
460 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
461 'dg-xfail-run-if'.
462 * testsuite/libgomp.fortran/target10.f90: Likewise.
463
464 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
465
466 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
467 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
468 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
469 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
470
471 2021-08-23 Jakub Jelinek <jakub@redhat.com>
472
473 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
474 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
475 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
476
477 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
478
479 * config/nvptx/error.c (fwrite, exit): Override, too.
480 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
481 of offloading testing.
482 * testsuite/libgomp.fortran/error-1.f90: Likewise.
483
484 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
485
486 * testsuite/libgomp.fortran/error-1.f90: New test.
487
488 2021-08-20 Jakub Jelinek <jakub@redhat.com>
489
490 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
491 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
492 * error.c (GOMP_warning, GOMP_error): New functions.
493 * testsuite/libgomp.c-c++-common/error-1.c: New test.
494
495 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
496
497 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
498 omp_target_free. omp_target_is_present, omp_target_memcpy,
499 omp_target_memcpy_rect, omp_target_associate_ptr,
500 omp_target_disassociate_ptr): Add interface.
501 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
502 omp_target_free. omp_target_is_present, omp_target_memcpy,
503 omp_target_memcpy_rect, omp_target_associate_ptr,
504 omp_target_disassociate_ptr): Add interface.
505 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
506 interface block for omp_alloc + omp_free.
507 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
508 * testsuite/libgomp.fortran/refcount-1.f90: New test.
509 * testsuite/libgomp.fortran/target-12.f90: New test.
510
511 2021-08-18 Jakub Jelinek <jakub@redhat.com>
512
513 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
514
515 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
516
517 * testsuite/libgomp.fortran/scope-1.f90: New test.
518 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
519
520 2021-08-17 Jakub Jelinek <jakub@redhat.com>
521
522 * Makefile.am (libgomp_la_SOURCES): Add scope.c
523 * Makefile.in: Regenerated.
524 * libgomp_g.h (GOMP_scope_start): Declare.
525 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
526 * scope.c: New file.
527 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
528 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
529
530 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
531
532 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
533 '?:' issues.
534
535 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
536
537 * testsuite/libgomp.fortran/masked-1.f90: New test.
538
539 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
540
541 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
542
543 2021-08-12 Jakub Jelinek <jakub@redhat.com>
544
545 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
546
547 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
548
549 * env.c (parse_bind_var): Accept 'primary' as alias for
550 'master'.
551 (omp_display_env): Add TODO comment to
552 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
553 * libgomp.texi: Change 'master thread' to 'primary thread'
554 in line with OpenMP 5.1.
555 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
556 omp_proc_bind_master is an alias of it.
557 (OMP_PROC_BIND): Mention 'PRIMARY'.
558 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
559 (omp_proc_bind_primary): Add.
560 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
561 * omp_lib.f90.in (omp_proc_bind_primary): Add.
562 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
563 * omp_lib.h.in (omp_proc_bind_primary): Add.
564 * testsuite/libgomp.c/affinity-1.c: Check that
565 'primary' works and is identical to 'master'.
566
567 2021-08-09 Julian Brown <julian@codesourcery.com>
568 Kwok Cheung Yeung <kcy@codesourcery.com>
569 Thomas Schwinge <thomas@codesourcery.com>
570
571 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
572 16.
573 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
574 [acc_device_radeon]: Update.
575 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
576 [ACC_DEVICE_TYPE_radeon]: Likewise.
577 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
578 [acc_device_radeon]: Likewise.
579 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
580 [ACC_DEVICE_TYPE_radeon]: Likewise.
581 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
582 'openacc_radeon_accel_selected' and '-O0'.
583 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
584
585 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
586
587 * icv-device.c (omp_get_device_num): New API function, host side.
588 * fortran.c (omp_get_device_num_): New interface function.
589 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
590 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
591 omp_get_device_num_.
592 * libgomp.texi (omp_get_device_num): Add documentation for new API
593 function.
594 * omp.h.in (omp_get_device_num): Add declaration.
595 * omp_lib.f90.in (omp_get_device_num): Likewise.
596 * omp_lib.h.in (omp_get_device_num): Likewise.
597 * target.c (gomp_load_image_to_device): If additional entry for device
598 number exists at end of returned entries from 'load_image_func' hook,
599 copy the assigned device number over to the device variable.
600 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
601 (omp_get_device_num): New API function, device side.
602 * plugin/plugin-gcn.c ("symcat.h"): Add include.
603 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
604 at end of returned 'target_table' entries.
605 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
606 (omp_get_device_num): New API function, device side.
607 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
608 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
609 at end of returned 'target_table' entries.
610 * testsuite/lib/libgomp.exp
611 (check_effective_target_offload_target_intelmic): New function for
612 testing for intelmic offloading.
613 * testsuite/libgomp.c-c++-common/target-45.c: New test.
614 * testsuite/libgomp.fortran/target10.f90: New test.
615
616 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
617 Ulrich Drepper <drepper@redhat.com>
618
619 * fortran.c (omp_display_env_, omp_display_env_8_): Only
620 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
621
622 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
623 Julian Brown <julian@codesourcery.com>
624 Kwok Cheung Yeung <kcy@codesourcery.com>
625
626 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
627 's%oaccdevlow%oaccloops%g'.
628 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
629 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
630 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
631 Likewise.
632 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
633 Likewise.
634 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
635 Likewise.
636 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
637 Likewise.
638 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
639 Likewise.
640 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
641 Likewise.
642 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
643 Likewise.
644 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
645 Likewise.
646 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
647
648 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
649
650 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
651 threader.
652 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
653
654 2021-07-27 Ulrich Drepper <drepper@gmail.com>
655
656 * env.c (wait_policy, stacksize): New static variables,
657 move out of handle_omp_display_env.
658 (omp_display_env): New function. The meat of the old
659 handle_omp_display_env function.
660 (handle_omp_display_env): Change to not take parameters
661 and instead use the global variables. Only perform
662 parsing, defer to omp_display_env for the implementation.
663 (initialize_env): Remove local variables wait_policy and
664 stacksize. Don't pass parameters to handle_omp_display_env.
665 * fortran.c: Add ialias_redirect for omp_display_env.
666 (omp_display_env_, omp_display_env_8_): New functions.
667 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
668 omp_display_env_, and omp_display_env_8_.
669 * omp.h.in: Declare omp_display_env.
670 * omp_lib.f90.in: Likewise.
671 * omp_lib.h.in: Likewise.
672
673 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
674 Julian Brown <julian@codesourcery.com>
675
676 * target.c (gomp_coalesce_buf_add): Update comment.
677 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
678 'aq && cbuf'.
679 (gomp_map_vars_internal): Only 'if (!aq)', do
680 'gomp_coalesce_buf_add'.
681 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
682 XFAIL.
683
684 2021-07-27 Julian Brown <julian@codesourcery.com>
685 Thomas Schwinge <thomas@codesourcery.com>
686
687 * libgomp.h (gomp_copy_host2dev): Update prototype.
688 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
689 argument to gomp_copy_host2dev (false).
690 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
691 (copy_data): Don't free src.
692 (queue_push_copy): Remove free_src handling.
693 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
694 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
695 snapshotting.
696 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
697 queue_push_copy.
698 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
699 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
700 data when true, and set up deferred freeing of temporary buffer.
701 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
702 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
703 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
704 calls to gomp_copy_host2dev with appropriate ephemeral argument.
705 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
706 XFAIL.
707
708 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
709 Tom de Vries <tom@codesourcery.com>
710
711 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
712 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
713
714 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
715
716 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
717 sequencing of 'async' data copying vs. profiling events.
718 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
719 Likewise.
720
721 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
722 Julian Brown <julian@codesourcery.com>
723
724 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
725 'async'/'wait' issue.
726 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
727 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
728 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
729
730 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
731 Joseph Myers <joseph@codesourcery.com>
732 Cesar Philippidis <cesar@codesourcery.com>
733
734 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
735 file.
736 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
737 Likewise.
738 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
739 Likewise.
740 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
741
742 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
743
744 PR target/101484
745 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
746 '-Wno-error=array-bounds'.
747 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
748 * libgomp.h [__AMDGCN__]: Likewise.
749
750 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
751
752 PR target/101484
753 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
754 * libgomp.h [__AMDGCN__]: Likewise.
755
756 2021-07-13 Jakub Jelinek <jakub@redhat.com>
757 Florian Weimer <fweimer@redhat.com>
758
759 * config/linux/sem.h: Don't include limits.h.
760 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
761 * config/linux/affinity.c: Include limits.h.
762
763 2021-07-01 Jakub Jelinek <jakub@redhat.com>
764
765 PR middle-end/94366
766 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
767
768 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
769
770 PR other/67300
771 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
772 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
773 avoid disabling other offload targets.
774 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
775 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
776 * testsuite/libgomp.c/target-44.c: Likewise.
777
778 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
779
780 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
781 target has shared memory and disable some scalar pointer/allocatable
782 checks if not as firstprivate does not work.
783
784 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
785
786 PR testsuite/101114
787 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
788 Add "target offload_device_nonshared_as" condition for enabling test.
789
790 2021-06-24 Jakub Jelinek <jakub@redhat.com>
791
792 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
793 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
794 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
795 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
796
797 2021-06-23 Jakub Jelinek <jakub@redhat.com>
798
799 PR middle-end/101167
800 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
801
802 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
803
804 * hashtab.h (htab_clear): New function with initialization code
805 factored out from...
806 (htab_create): ...here, adjust to use htab_clear function.
807 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
808 special refcount values, add comments.
809 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
810 (REFCOUNT_LINK): Likewise.
811 (REFCOUNT_STRUCTELEM): New special refcount range for structure
812 element siblings.
813 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
814 sibling maps.
815 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
816 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
817 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
818 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
819 (struct splay_tree_key_s): Add structelem_refcount and
820 structelem_refcount_ptr fields into a union with dynamic_refcount.
821 Add comments.
822 (gomp_map_vars): Delete declaration.
823 (gomp_map_vars_async): Likewise.
824 (gomp_unmap_vars): Likewise.
825 (gomp_unmap_vars_async): Likewise.
826 (goacc_map_vars): New declaration.
827 (goacc_unmap_vars): Likewise.
828 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
829 (goacc_enter_datum): Likewise.
830 (goacc_enter_data_internal): Likewise.
831 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
832 and goacc_unmap_vars.
833 (GOACC_data_start): Adjust to use goacc_map_vars.
834 (GOACC_data_end): Adjust to use goacc_unmap_vars.
835 * target.c (hash_entry_type): New typedef.
836 (htab_alloc): New function hook for hashtab.h.
837 (htab_free): Likewise.
838 (htab_hash): Likewise.
839 (htab_eq): Likewise.
840 (hashtab.h): Add file include.
841 (gomp_increment_refcount): New function.
842 (gomp_decrement_refcount): Likewise.
843 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
844 gomp_increment_refcount.
845 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
846 to gomp_map_vars_existing.
847 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
848 variable to guard OpenMP specific paths, adjust calls to
849 gomp_map_vars_existing, add structure element sibling splay_tree_key
850 sequence creation code, adjust Fortran map case to avoid increment
851 under OpenMP.
852 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
853 local refcount_set if caller passed in NULL, adjust call to
854 gomp_map_vars_internal.
855 (gomp_map_vars_async): Adjust and rename into...
856 (goacc_map_vars): ...this new function, adjust call to
857 gomp_map_vars_internal.
858 (gomp_remove_splay_tree_key): New function with code factored out from
859 gomp_remove_var_internal.
860 (gomp_remove_var_internal): Add code to handle removing multiple
861 splay_tree_key sequence for structure elements, adjust code to use
862 gomp_remove_splay_tree_key for splay-tree key removal.
863 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
864 gomp_decrement_refcount.
865 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
866 local refcount_set if caller passed in NULL, adjust call to
867 gomp_unmap_vars_internal.
868 (gomp_unmap_vars_async): Adjust and rename into...
869 (goacc_unmap_vars): ...this new function, adjust call to
870 gomp_unmap_vars_internal.
871 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
872 gomp_unmap_vars.
873 (GOMP_target_ext): Likewise.
874 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
875 (GOMP_target_data): Likewise.
876 (GOMP_target_data_ext): Likewise.
877 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
878 (gomp_exit_data): Add refcount_set parameter, adjust to use
879 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
880 after main loop.
881 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
882 gomp_map_vars and gomp_exit_data.
883 (gomp_target_task_fn): Likewise.
884 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
885 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
886 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
887 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
888 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
889 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
890
891 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
892
893 PR fortran/92568
894 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
895
896 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
897 Thomas Schwinge <thomas@codesourcery.com>
898
899 * libgomp.map (GOACC_2.0.2): New symbol version.
900 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
901 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
902
903 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
904 Andrew Stubbs <ams@codesourcery.com>
905
906 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
907 extracted from...
908 (GOACC_enter_exit_data): ... here.
909 (GOACC_declare): Use it.
910
911 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
912
913 * oacc-parallel.c (GOACC_declare): Move...
914 * oacc-mem.c: ... here.
915 * libgomp_g.h: Adjust.
916
917 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
918 Thomas Schwinge <thomas@codesourcery.com>
919
920 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
921 handling.
922
923 2021-06-10 Jakub Jelinek <jakub@redhat.com>
924
925 PR tree-optimization/100981
926 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
927 dsdotr and dsdoti to 0.
928
929 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
930
931 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
932 if atomic compare-and-swap is supported on 'int'.
933
934 2021-06-09 Richard Biener <rguenther@suse.de>
935
936 PR tree-optimization/100981
937 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
938
939 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
940
941 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
942 unconditionally.
943 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
944 Update.
945 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
947
948 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
949
950 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
951 '-DACC_MEM_SHARED=0'.
952 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
953 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
956 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
958 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
959 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
960 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
961 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
962 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
963 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
964 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
965 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
966 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
967 'acc_device_radeon' testing.
968 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
969 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
970 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
971 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
972 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
973 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
974 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
975 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
976 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
977 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
978 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
979 for non-'openacc_nvidia_accel_selected'.
980 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
981 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
982 all implement this checking".
983 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
984 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
985 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
986 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
987 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
988
989 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
990
991 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
992 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
993
994 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
995
996 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
997 for 'acc_device_radeon'.
998
999 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1000
1001 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
1002 for non-'acc_device_nvidia'.
1003
1004 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1005
1006 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
1007 'acc_device_radeon' testing.
1008 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1009 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1010 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1011
1012 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1013
1014 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
1015 require 'openacc_nvidia_accel_selected'. Fix up for
1016 'ACC_DEVICE_TYPE_radeon'.
1017
1018 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1019
1020 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
1021 'openacc_nvidia_accel_selected'.
1022 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1023
1024 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1025
1026 * testsuite/lib/libgomp.exp
1027 (check_effective_target_openacc_radeon_accel_selected):
1028 Streamline.
1029
1030 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1031
1032 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
1033 PR80547 workaround.
1034
1035 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1036
1037 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1038 <acc_device_nvidia>: Update comment.
1039
1040 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
1041
1042 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
1043
1044 2021-05-27 Jakub Jelinek <jakub@redhat.com>
1045
1046 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
1047 check_effective_target_openacc_cublas,
1048 check_effective_target_openacc_cudart): New.
1049 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
1050 target openacc_cublas.
1051 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1052 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1053 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
1054 target openacc_cuda.
1055 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1056 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1057 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1058 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1059 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1060 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1061 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1062 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1063 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
1064 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1065 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1066 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1067 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1068 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1069 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1070 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1071 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
1072 targets openacc_cublas and openacc_cudart.
1073 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1074 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1075 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1076 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1077 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
1078 Require effective target openacc_cudart.
1079 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
1080 for effective target openacc_cuda and add && defined USE_CUDA_H to
1081 preprocessor conditionals. Guard -lcuda also on openacc_cuda
1082 effective target.
1083
1084 2021-05-26 Jakub Jelinek <jakub@redhat.com>
1085
1086 PR libgomp/100573
1087 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
1088 GOMP_target_end_data, GOMP_target_update_ext,
1089 GOMP_target_enter_exit_data): New dummy entrypoints.
1090 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
1091 GOMP_target_end_data, GOMP_target_update_ext,
1092 GOMP_target_enter_exit_data): Likewise.
1093 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
1094 OMPFROM, OMPTO): Define.
1095 (main): Remove #pragma omp target teams around all the tests.
1096 * testsuite/libgomp.c-c++-common/target-41.c: New test.
1097 * testsuite/libgomp.c-c++-common/target-42.c: New test.
1098
1099 2021-05-25 Jakub Jelinek <jakub@redhat.com>
1100
1101 PR middle-end/99928
1102 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
1103
1104 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
1105
1106 PR fortran/86470
1107 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
1108 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
1109 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
1110
1111 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
1112
1113 PR testsuite/90115
1114 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
1115 uninteresting/varying diagnostics.
1116
1117 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1118
1119 PR middle-end/90115
1120 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
1121 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1122
1123 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1124
1125 PR middle-end/90115
1126 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
1127 file.
1128 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1129 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
1130 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1131 Likewise.
1132 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1133 Likewise.
1134 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1135 Likewise.
1136 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1137 Likewise.
1138 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1139 Likewise.
1140 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1141 Likewise.
1142 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1143 Likewise.
1144 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1145 Likewise.
1146 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1147 Likewise.
1148 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1149 Likewise.
1150 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1151 Likewise.
1152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1153 Likewise.
1154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1155 Likewise.
1156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1157 Likewise.
1158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1159 Likewise.
1160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1161 Likewise.
1162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1163 Likewise.
1164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1165 Likewise.
1166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1167 Likewise.
1168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1169 Likewise.
1170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1171 Likewise.
1172 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1173 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1174 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1175 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1177 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1178 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1179 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1180 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1181 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1183 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1184 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1185 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1186 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1187 Likewise.
1188 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
1189 Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
1191 Likewise.
1192 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1193 Likewise.
1194 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1195 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1196 Likewise.
1197 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1198 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1199 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1200 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1201 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1202 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1203 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1204 Likewise.
1205 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1206 Likewise.
1207 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1208 Likewise.
1209 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1210 Likewise.
1211 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1212 Likewise.
1213 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1214 Likewise.
1215 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1216 Likewise.
1217 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1218 Likewise.
1219 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1220 Likewise.
1221 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1222 Likewise.
1223 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1224 Likewise.
1225 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1226 Likewise.
1227 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1228 Likewise.
1229 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1230 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1231 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1232 Likewise.
1233 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1234 Likewise.
1235 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1236 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1237 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1238
1239 2021-05-21 Julian Brown <julian@codesourcery.com>
1240 Chung-Lin Tang <cltang@codesourcery.com>
1241 Thomas Schwinge <thomas@codesourcery.com>
1242
1243 PR middle-end/90115
1244 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
1245 test.
1246 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1247 Likewise.
1248 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1249 Likewise.
1250
1251 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1252
1253 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
1254 for nvptx offloading.
1255
1256 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
1257
1258 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
1259
1260 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
1261
1262 PR target/83812
1263 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
1264
1265 2021-05-19 Julian Brown <julian@codesourcery.com>
1266
1267 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
1268
1269 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1270
1271 * testsuite/lib/libgomp.exp
1272 (check_effective_target_offload_target_nvptx): Don't shadow global
1273 'offload_targets' variable.
1274
1275 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1276
1277 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
1278 '-latomic' to nvptx offloading compilation.
1279 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1280
1281 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1282
1283 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
1284 offloading compilation.
1285
1286 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
1287
1288 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
1289 if new tasks generated.
1290 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
1291
1292 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
1293
1294 * testsuite/libgomp.fortran/parallel-master.f90: New test.
1295
1296 2021-05-13 Martin Liska <mliska@suse.cz>
1297
1298 PR testsuite/100569
1299 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
1300 * testsuite/libgomp.c/pr46032-2.c: Likewise.
1301 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
1302 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
1303
1304 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
1305
1306 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
1307 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
1308
1309 2021-05-11 Jakub Jelinek <jakub@redhat.com>
1310
1311 PR middle-end/100471
1312 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
1313 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
1314 reduction pointer.
1315 * testsuite/libgomp.c/task-reduction-4.c: New test.
1316
1317 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
1318 Tom de Vries <tdevries@suse.de>
1319
1320 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
1321 complex/floating-point || + && reduction with 'omp target'.
1322 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1323
1324 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
1325
1326 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
1327 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
1328 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
1329 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
1330
1331 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
1332
1333 PR testsuite/100397
1334 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
1335 declaration to scope of non-'depend'-guarded assignment to avoid races.
1336
1337 2021-05-03 Tom de Vries <tdevries@suse.de>
1338
1339 PR target/100321
1340 * testsuite/libgomp.c/target-44.c: New test.
1341
1342 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
1343
1344 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
1345
1346 2021-04-29 Tom de Vries <tdevries@suse.de>
1347
1348 * testsuite/libgomp.c/pr81778.c: New test.
1349
1350 2021-04-29 Tom de Vries <tdevries@suse.de>
1351
1352 PR target/100232
1353 * testsuite/libgomp.c/target-43.c: New file.
1354
1355 2021-04-28 Jakub Jelinek <jakub@redhat.com>
1356 Tobias Burnus <tobias@codesourcery.com>
1357
1358 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
1359 * target.c (gomp_load_plugin_for_device): If set and if a plugin
1360 can't be dlopened, silently assume it has no devices.
1361 * Makefile.in: Regenerate.
1362 * config.h.in: Regenerate.
1363 * configure: Regenerate.
1364
1365 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
1366
1367 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1368 Use [Ww]arning in dg-bogus as FE diagnostic and default
1369 diagnostic differ and the result depends on ENABLE_OFFLOAD.
1370 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1371 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1372 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1373
1374 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
1375
1376 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1377 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
1378 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1379 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1380 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1381
1382 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1383 Nathan Sidwell <nathan@codesourcery.com>
1384 Tom de Vries <vries@codesourcery.com>
1385 Julian Brown <julian@codesourcery.com>
1386 Kwok Cheung Yeung <kcy@codesourcery.com>
1387
1388 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
1389 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
1390 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1391 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1392 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1393 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1394 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
1395 Likewise.
1396 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1397 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1398 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1399 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1400 Likewise.
1401 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1403 Likewise.
1404 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1405 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1406 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1407 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1408 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1409 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1410 Likewise.
1411 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1412 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1413 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1414 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1415 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1416 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1417 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1418 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1419 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1420 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1421 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1422
1423 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1424
1425 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
1426 compile with '-w'.
1427 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1429 Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
1432 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1433 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1434 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1435 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1436 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1437
1438 2021-04-22 Richard Biener <rguenther@suse.de>
1439
1440 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
1441 only on nvptx-none.
1442
1443 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1444
1445 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
1446 omp_depend_kind instead of defining it as 16.
1447
1448 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1449
1450 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1451 New, based on check_effective_target_offload_target_nvptx.
1452 (check_effective_target_offload_target_nvptx): Call it.
1453 (check_effective_target_offload_target_amdgcn): New.
1454 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
1455 Require target offload_target_nvptx || offload_target_amdgcn.
1456 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
1457 * testsuite/libgomp.c/pr86416-1.c: Likewise.
1458 * testsuite/libgomp.c/pr86416-2.c: Likewise.
1459
1460 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1461
1462 * testsuite/libgomp.fortran/depobj-1.f90: New test.
1463
1464 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1465
1466 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1467 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
1468 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1469 Likewise.
1470 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1471 Likewise.
1472 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1473
1474 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
1475
1476 PR target/99555
1477 * testsuite/lib/libgomp.exp
1478 (check_effective_target_offload_device_nvptx): New.
1479 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
1480 resolved, make sure that we exit quickly, with error status,
1481 XFAILed.
1482 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
1483 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1484
1485 2021-04-14 Jakub Jelinek <jakub@redhat.com>
1486
1487 PR testsuite/100071
1488 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
1489 cp = omp_alloc with cp, p arguments instead of cq, q and call
1490 c_f_pointer after last cq = omp_alloc with cq, q.
1491
1492 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
1493
1494 PR middle-end/98088
1495 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
1496 for loop with GT/GE condition.
1497 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1498
1499 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
1500
1501 PR middle-end/84991
1502 PR middle-end/84992
1503 PR middle-end/90779
1504 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
1505
1506 2021-04-09 Jakub Jelinek <jakub@redhat.com>
1507
1508 PR libgomp/99984
1509 * team.c (gomp_thread_start): Call pthread_setspecific for
1510 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
1511 has been initialized to avoid false positive warning.
1512
1513 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
1514
1515 PR target/99555
1516 * testsuite/lib/on_device_arch.c: Move to ...
1517 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
1518 * testsuite/libgomp.fortran/on_device_arch.c: New file;
1519 #include on_device_arch.h.
1520 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
1521 on_device_arch.h instead of using dg-additional-source.
1522 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1523 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
1524 on_device_arch.c without relative paths.
1525
1526 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1527
1528 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
1529 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
1530 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
1531 * config.h.in: Regenerate.
1532 * configure: Likewise.
1533
1534 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1535
1536 PR target/99555
1537 * testsuite/lib/on_device_arch.c: New file.
1538 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1539 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
1540 skip for nvptx offloading, with error status.
1541 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1542
1543 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1544
1545 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1546 OpenACC 'serial' construct diagnostic for nvptx offloading.
1547
1548 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
1549
1550 PR c++/99509
1551 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
1552
1553 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
1554
1555 PR fortran/98858
1556 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
1557
1558 2021-03-04 Jakub Jelinek <jakub@redhat.com>
1559
1560 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
1561 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
1562 checking of -m32 or -mx32 options on the command line.
1563 * config.h.in: Regenerated.
1564 * configure: Regenerated.
1565
1566 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
1567
1568 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
1569 support from the target.
1570
1571 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1572 Jakub Jelinek <jakub@redhat.com>
1573
1574 PR libgomp/98738
1575 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
1576 (struct gomp_task): Replace detach and completion_sem fields with
1577 union containing completion_sem and detach_team. Add deferred_p
1578 field.
1579 (struct gomp_team): Remove task_detach_queue.
1580 * task.c: Include assert.h.
1581 (gomp_init_task): Initialize deferred_p and completion_sem fields.
1582 Rearrange initialization order of fields.
1583 (task_fulfilled_p): Delete.
1584 (GOMP_task): Use address of task as the event handle. Remove
1585 initialization of detach field. Initialize deferred_p field.
1586 Use automatic local for completion_sem. Initialize detach_team field
1587 for deferred tasks.
1588 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
1589 Set kind of suspended detach task to GOMP_TASK_DETACHED and
1590 decrement task_running_count. Move finish_cancelled block out of
1591 else branch. Relocate call to gomp_team_barrier_done.
1592 (GOMP_taskwait): Handle tasks with completion events that have not
1593 been fulfilled.
1594 (GOMP_taskgroup_end): Likewise.
1595 (omp_fulfill_event): Use address of task as event handle. Post to
1596 completion_sem for undeferred tasks. Clear detach_team if task
1597 has not finished. For finished tasks, handle post-execution tasks,
1598 call gomp_team_barrier_wake if necessary, and free task.
1599 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
1600 (free_team): Remove free of task_detach_queue.
1601 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
1602 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
1603 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
1604 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
1605 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
1606 Change data-sharing of detach events on enclosing parallel to private.
1607 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
1608 taskwait directive.
1609 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
1610 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
1611 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
1612 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
1613 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
1614 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
1615 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
1616 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
1617 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
1618 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
1619 Change data-sharing of detach events on enclosing parallel to private.
1620 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
1621 taskwait directive.
1622 * testsuite/libgomp.fortran/task-detach-7.f90: New.
1623 * testsuite/libgomp.fortran/task-detach-8.f90: New.
1624 * testsuite/libgomp.fortran/task-detach-9.f90: New.
1625 * testsuite/libgomp.fortran/task-detach-10.f90: New.
1626 * testsuite/libgomp.fortran/task-detach-11.f90: New.
1627
1628 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
1629
1630 PR fortran/99171
1631 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
1632
1633 2021-02-17 Julian Brown <julian@codesourcery.com>
1634
1635 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
1636 expected errors.
1637
1638 2021-02-17 Julian Brown <julian@codesourcery.com>
1639
1640 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
1641 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
1642
1643 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1644
1645 * config/linux/x86/futex.h (__futex_wait):
1646 Revert output type back to long.
1647 (__futex_wake): Ditto.
1648 (futex_wait): Update for revert.
1649 (futex_wake): Ditto.
1650
1651 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1652
1653 * config/linux/x86/futex.h (__futex_wait): New static inline
1654 wrapper function. Correct output type to int and
1655 timeout type to void *.
1656 (__futex_wake): New static inline wrapper function.
1657 Correct output type to int.
1658 (futex_wait): Use __futex_wait.
1659 (futex_wake): Use __futex_wake.
1660
1661 2021-02-10 Julian Brown <julian@codesourcery.com>
1662
1663 PR fortran/98979
1664 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
1665 errors.
1666
1667 2021-02-04 Julian Brown <julian@codesourcery.com>
1668
1669 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
1670
1671 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
1672
1673 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
1674 EF_AMDGPU_MACH_AMDGCN_GFX908.
1675 (gcn_gfx908_s): New constant string.
1676 (isa_hsa_name): Add gfx908.
1677 (isa_code): Add gfx908.
1678
1679 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1680
1681 * libgomp.texi (omp_fulfill_event): New entry.
1682
1683 2021-01-20 Jakub Jelinek <jakub@redhat.com>
1684
1685 * task.c (GOMP_task): Rename priority argument to priority_arg,
1686 add priority automatic variable and modify that variable. Instead of
1687 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
1688 check flags for that bit.
1689
1690 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
1691
1692 PR fortran/98476
1693 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
1694
1695 2021-01-18 Andreas Schwab <schwab@suse.de>
1696
1697 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
1698
1699 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1700
1701 * config/rtems/sem.h (gomp_sem_getcount): New function.
1702
1703 2021-01-18 Jakub Jelinek <jakub@redhat.com>
1704
1705 * config/linux/sem.h (gomp_sem_getcount): New function.
1706 * config/posix/sem.h (gomp_sem_getcount): New function.
1707 * config/posix/sem.c (gomp_sem_getcount): New function.
1708 * config/accel/sem.h (gomp_sem_getcount): New function.
1709 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
1710 (omp_fulfill_event): Likewise.
1711
1712 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1713
1714 * fortran.c (omp_fulfill_event_): New.
1715 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
1716 (struct gomp_team): Add task_detach_queue and task_detach_count
1717 fields.
1718 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
1719 * libgomp_g.h (GOMP_task): Add extra argument.
1720 * omp.h.in (enum omp_event_handle_t): New.
1721 (omp_fulfill_event): New.
1722 * omp_lib.f90.in (omp_event_handle_kind): New.
1723 (omp_fulfill_event): New.
1724 * omp_lib.h.in (omp_event_handle_kind): New.
1725 (omp_fulfill_event): Declare.
1726 * priority_queue.c (priority_tree_find): New.
1727 (priority_list_find): New.
1728 (priority_queue_find): New.
1729 * priority_queue.h (priority_queue_predicate): New.
1730 (priority_queue_find): New.
1731 * task.c (gomp_init_task): Initialize detach field.
1732 (task_fulfilled_p): New.
1733 (GOMP_task): Add detach argument. Ignore detach argument if
1734 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
1735 field. Copy address of completion_sem into detach argument and
1736 into the start of the data record. Wait for detach event if task
1737 not deferred.
1738 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
1739 Remove completed tasks and requeue dependent tasks.
1740 (omp_fulfill_event): New.
1741 * team.c (gomp_new_team): Initialize task_detach_queue and
1742 task_detach_count fields.
1743 (free_team): Free task_detach_queue field.
1744 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
1745 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
1746 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
1747 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
1748 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
1749 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
1750 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
1751 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
1752 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
1753 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
1754 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
1755 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
1756
1757 2021-01-15 Jakub Jelinek <jakub@redhat.com>
1758
1759 PR target/70454
1760 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
1761 be added through preprocessor check on
1762 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
1763
1764 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
1765
1766 PR libgomp/65099
1767 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
1768 configurations.
1769 * configure: Regenerate.
1770 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
1771 check.
1772
1773 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1774
1775 * configure: Re-generate.
1776
1777 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1778
1779 * configure: Re-generate.
1780
1781 2021-01-05 Julian Brown <julian@codesourcery.com>
1782
1783 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
1784 (struct ptx_device): Add omp_stacks struct.
1785 (nvptx_open_device): Initialise cached-stacks housekeeping info.
1786 (nvptx_close_device): Free cached stacks block and mutex.
1787 (nvptx_stacks_free): New function.
1788 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
1789 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
1790 (nvptx_stacks_alloc): Rename to...
1791 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
1792 size or smaller is required.
1793 (nvptx_stacks_free): Remove.
1794 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
1795 during kernel execution.
1796
1797 2021-01-01 Jakub Jelinek <jakub@redhat.com>
1798
1799 * libgomp.texi: Bump @copying's copyright year.
1800
1801 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
1802
1803 * libgomp.texi (Top): Avoid bad "up" link.
1804
1805 2020-12-18 Jakub Jelinek <jakub@redhat.com>
1806
1807 * testsuite/libgomp.c/task-6.c: New test.
1808
1809 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
1810
1811 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
1812 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
1813
1814 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
1815
1816 * testsuite/libgomp.fortran/scan-1.f90: New test.
1817
1818 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
1819
1820 PR target/97865
1821 * configure: Regenerate.
1822
1823 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
1824
1825 * configure: Regenerate.
1826
1827 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
1828
1829 * testsuite/libgomp.oacc-c++/cache-1.C: New.
1830 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
1831
1832 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
1833
1834 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
1835 expected results.
1836
1837 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
1838
1839 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
1840 (reserved): Delete unused define.
1841
1842 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
1843
1844 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
1845 Tcl 8.5-specific behavior.
1846 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1847
1848 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
1849
1850 * env.c (gomp_global_icv): Remove nest_var field. Add
1851 max_active_levels_var field.
1852 (gomp_max_active_levels_var): Remove.
1853 (parse_boolean): Return true on success.
1854 (handle_omp_display_env): Express OMP_NESTED in terms of
1855 max_active_levels_var. Change format specifier for
1856 max_active_levels_var.
1857 (initialize_env): Set max_active_levels_var from
1858 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
1859 OMP_PROC_BIND.
1860 * icv.c (omp_set_nested): Express in terms of
1861 max_active_levels_var.
1862 (omp_get_nested): Likewise.
1863 (omp_set_max_active_levels): Use max_active_levels_var field instead
1864 of gomp_max_active_levels_var.
1865 (omp_get_max_active_levels): Likewise.
1866 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
1867 max_active_levels_var field.
1868 (gomp_supported_active_levels): Set to UCHAR_MAX.
1869 (gomp_max_active_levels_var): Delete.
1870 * libgomp.texi (omp_get_nested): Update documentation.
1871 (omp_set_nested): Likewise.
1872 (OMP_MAX_ACTIVE_LEVELS): Likewise.
1873 (OMP_NESTED): Likewise.
1874 (OMP_NUM_THREADS): Likewise.
1875 (OMP_PROC_BIND): Likewise.
1876 * parallel.c (gomp_resolve_num_threads): Replace reference
1877 to nest_var with max_active_levels_var. Use max_active_levels_var
1878 field instead of gomp_max_active_levels_var.
1879
1880 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
1881
1882 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
1883 nvptx_usleep; use also for device={arch(gcn)}.
1884
1885 2020-11-14 Jakub Jelinek <jakub@redhat.com>
1886
1887 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
1888 (foo): Add tests for non-VLA private and firstprivate clauses on
1889 omp task.
1890 (bar): Likewise. Remove taking of address from private/firstprivate
1891 variables.
1892 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
1893 (foo): Add p, q, px and s arguments. Add tests for array reductions
1894 and for non-VLA private and firstprivate clauses on omp task.
1895 (bar): Removed.
1896 (main): Adjust foo caller. Don't call bar.
1897
1898 2020-11-13 Gergö Barany <gergo@codesourcery.com>
1899 Thomas Schwinge <thomas@codesourcery.com>
1900
1901 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1902 New.
1903 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1904 Likewise.
1905 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1906 Likewise.
1907 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
1908 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1909
1910 2020-11-13 Gergö Barany <gergo@codesourcery.com>
1911 Thomas Schwinge <thomas@codesourcery.com>
1912
1913 PR fortran/94358
1914 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
1915
1916 2020-11-13 Jakub Jelinek <jakub@redhat.com>
1917
1918 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
1919 for array reductions.
1920 (main): Adjust foo callers.
1921
1922 2020-11-12 Jakub Jelinek <jakub@redhat.com>
1923
1924 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
1925 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
1926 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
1927 * allocator.c (omp_aligned_alloc): New for now static function,
1928 add alignment argument and handle it.
1929 (omp_alloc): Reimplement using omp_aligned_alloc.
1930 (GOMP_alloc, GOMP_free): New functions.
1931 (omp_free): Add ialias.
1932 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
1933 * testsuite/libgomp.c++/allocate-1.C: New test.
1934
1935 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
1936
1937 PR fortran/97782
1938 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
1939
1940 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
1941
1942 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
1943 usable.
1944 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
1945 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
1946 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
1947 (goacc_enter_data_internal): Likewise.
1948 * target.c (gomp_map_vars_internal):
1949 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
1950 of gomp_attach_pointer for OpenMP cases.
1951 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
1952 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
1953 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
1954
1955 2020-11-05 Ulrich Drepper <drepper@redhat.com>
1956 Kwok Cheung Yeung <kcy@codesourcery.com>
1957
1958 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
1959 * Makefile.in: Regenerate.
1960 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
1961 pragmas to ignore -Wdeprecated-declarations warnings.
1962 * icv.c: Likewise.
1963 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
1964 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
1965 and omp_get_nested with __GOMP_DEPRECATED_5_0.
1966 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
1967 deprecated.
1968 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
1969 to test options.
1970 * testsuite/libgomp.c/affinity-1.c: Likewise.
1971 * testsuite/libgomp.c/affinity-2.c: Likewise.
1972 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
1973 * testsuite/libgomp.c/lib-1.c: Likewise.
1974 * testsuite/libgomp.c/nested-1.c: Likewise.
1975 * testsuite/libgomp.c/nested-2.c: Likewise.
1976 * testsuite/libgomp.c/nested-3.c: Likewise.
1977 * testsuite/libgomp.c/pr32362-1.c: Likewise.
1978 * testsuite/libgomp.c/pr32362-2.c: Likewise.
1979 * testsuite/libgomp.c/pr32362-3.c: Likewise.
1980 * testsuite/libgomp.c/pr35549.c: Likewise.
1981 * testsuite/libgomp.c/pr42942.c: Likewise.
1982 * testsuite/libgomp.c/pr61200.c: Likewise.
1983 * testsuite/libgomp.c/sort-1.c: Likewise.
1984 * testsuite/libgomp.c/target-5.c: Likewise.
1985 * testsuite/libgomp.c/target-6.c: Likewise.
1986 * testsuite/libgomp.c/teams-1.c: Likewise.
1987 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
1988 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1989 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1990 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
1991 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1992 * testsuite/libgomp.fortran/lib2.f: Likewise.
1993 * testsuite/libgomp.fortran/nested1.f90: Likewise.
1994 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1995
1996 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
1997
1998 PR target/85486
1999 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
2000 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2001 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2002
2003 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2004
2005 PR testsuite/80219
2006 PR testsuite/85303
2007 * testsuite/lib/libgomp.exp (libgomp_init): Set
2008 'gcc_warning_prefix', 'gcc_error_prefix'.
2009
2010 2020-10-30 Jakub Jelinek <jakub@redhat.com>
2011
2012 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
2013 even in field_tgt_clear initializer.
2014
2015 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2016
2017 * testsuite/libgomp.c/target-42.c: New test.
2018
2019 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2020 Tom de Vries <tdevries@suse.de>
2021
2022 PR testsuite/81690
2023 * testsuite/libgomp.c/usleep.h: New file.
2024 * testsuite/libgomp.c/target-32.c: Include usleep.h.
2025 (main): Use tgt_usleep instead of usleep.
2026 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
2027 (main): Use tgt_usleep instead of usleep.
2028
2029 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2030
2031 PR lto/96680
2032 * testsuite/libgomp.c/declare-variant-1.c: New test.
2033
2034 2020-10-22 Jakub Jelinek <jakub@redhat.com>
2035
2036 * testsuite/libgomp.c/target-41.c: New test.
2037
2038 2020-10-22 Jakub Jelinek <jakub@redhat.com>
2039
2040 * icv.c (omp_get_initial_device): Remove including corresponding
2041 ialias.
2042 * icv-device.c (omp_get_initial_device): New function. Return
2043 gomp_get_num_devices (). Add ialias.
2044 * target.c (resolve_device): Don't fail with
2045 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
2046 gomp_get_num_devices ().
2047 (omp_target_alloc, omp_target_free, omp_target_is_present,
2048 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
2049 omp_target_disassociate_ptr, omp_pause_resource): Use
2050 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
2051 first use in the functions, in uses dominated by the
2052 gomp_get_num_devices call use num_devices_openmp instead.
2053 * libgomp.texi (omp_get_initial_device): Document.
2054 * config/gcn/icv-device.c (omp_get_initial_device): New function.
2055 Add ialias.
2056 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
2057 * testsuite/libgomp.c/target-40.c: New test.
2058
2059 2020-10-21 Jakub Jelinek <jakub@redhat.com>
2060
2061 * env.c (parse_target_offload): Change new_offload var type to int,
2062 preinitialize to -1, remove found var and test new_offload != -1
2063 instead of found.
2064
2065 2020-10-20 Jakub Jelinek <jakub@redhat.com>
2066
2067 * target.c (gomp_target_init): Inside of the function, use automatic
2068 variables corresponding to num_devices, num_devices_openmp and devices
2069 global variables and update the globals only at the end of the
2070 function.
2071
2072 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
2073
2074 * env.c (gomp_target_offload_var): New.
2075 (parse_target_offload): New.
2076 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
2077 (initialize_env): Parse OMP_TARGET_OFFLOAD.
2078 * libgomp.h (gomp_target_offload_t): New.
2079 (gomp_target_offload_var): New.
2080 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
2081 * target.c (resolve_device): Generate error if device not found and
2082 offloading is mandatory.
2083 (gomp_target_fallback): Generate error if offloading is mandatory.
2084 (GOMP_target): Add argument in call to gomp_target_fallback.
2085 (GOMP_target_ext): Likewise.
2086 (gomp_target_data_fallback): Generate error if offloading is mandatory.
2087 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
2088 (GOMP_target_data_ext): Likewise.
2089 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
2090 (gomp_target_init): Return early if offloading is disabled.
2091
2092 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
2093
2094 * libgomp.texi (omp_get_max_active_levels): Modify description.
2095 (omp_get_supported_active_levels): Make descriptions consistent.
2096
2097 2020-10-14 Jakub Jelinek <jakub@redhat.com>
2098
2099 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
2100
2101 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2102
2103 * env.c (gomp_max_active_levels_var): Initialize to
2104 gomp_supported_active_levels.
2105 (initialize_env): Limit gomp_max_active_levels_var to be at most
2106 equal to gomp_supported_active_levels.
2107 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
2108 (omp_get_supported_active_levels_): New.
2109 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
2110 to at most equal to gomp_supported_active_levels.
2111 (omp_get_supported_active_levels): New.
2112 * libgomp.h (gomp_supported_active_levels): New.
2113 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
2114 omp_get_supported_active_levels_.
2115 * libgomp.texi (omp_get_supported_active_levels): New.
2116 (omp_set_max_active_levels): Update. Add reference to
2117 omp_get_supported_active_levels.
2118 * omp.h.in (omp_get_supported_active_levels): New.
2119 * omp_lib.f90.in (omp_get_supported_active_levels): New.
2120 * omp_lib.h.in (omp_get_supported_active_levels): New.
2121 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
2122 against omp_get_supported_active_levels.
2123 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
2124
2125 2020-10-11 Clement Chigot <clement.chigot@atos.net>
2126
2127 * config/t-aix: Delete and recreate libgomp before creating
2128 FAT library.
2129
2130 2020-10-08 Tom de Vries <tdevries@suse.de>
2131
2132 PR libgomp/81802
2133 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
2134 dimensions.
2135
2136 2020-10-06 Tom de Vries <tdevries@suse.de>
2137
2138 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
2139
2140 2020-10-06 Tom de Vries <tdevries@suse.de>
2141
2142 PR middle-end/90861
2143 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
2144
2145 2020-10-05 Tom de Vries <tdevries@suse.de>
2146
2147 PR fortran/95654
2148 * testsuite/libgomp.fortran/pr95654.f90: New test.
2149
2150 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
2151
2152 * Makefile.in: Regenerate with automake 1.15.1.
2153 * aclocal.m4: Likewise.
2154 * configure: Likewise.
2155 * testsuite/Makefile.in: Likewise.
2156
2157 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
2158
2159 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
2160 and amdgcn targets.
2161
2162 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
2163
2164 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
2165
2166 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
2167
2168 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
2169 total number of threads is one.
2170 (gomp_team_barrier_wake): Likewise.
2171 (gomp_team_barrier_wait_end): Likewise.
2172 (gomp_team_barrier_wait_cancel_end): Likewise.
2173 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
2174 (gomp_team_barrier_wake): Likewise.
2175 (gomp_team_barrier_wait_end): Likewise.
2176 (gomp_team_barrier_wait_cancel_end): Likewise.
2177 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2178
2179 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
2180
2181 PR middle-end/96390
2182 * testsuite/libgomp.c++/pr96390.C: New test.
2183 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
2184
2185 2020-09-27 Clement Chigot <clement.chigot@atos.net>
2186
2187 * config/t-aix: Use $(AR) without -X32_64.
2188
2189 2020-09-25 Jakub Jelinek <jakub@redhat.com>
2190
2191 * testsuite/libgomp.c/loop-25.c: New test.
2192
2193 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
2194
2195 PR fortran/95654
2196 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
2197
2198 2020-09-22 Tom de Vries <tdevries@suse.de>
2199
2200 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
2201 fails.
2202
2203 2020-09-16 Nathan Sidwell <nathan@acm.org>
2204
2205 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
2206
2207 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
2208
2209 PR fortran/96668
2210 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
2211
2212 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
2213
2214 PR fortran/96668
2215 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
2216 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
2217 (gomp_map_vars_existing): Update call to it.
2218 (gomp_map_fields_existing): Likewise
2219 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
2220 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
2221 remapped.
2222 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
2223 GOMP_MAP_POINTER.
2224 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
2225 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2226
2227 2020-09-14 Tom de Vries <tdevries@suse.de>
2228
2229 * config/nvptx/atomic.c: New file. Add
2230 __sync_val_compare_and_swap_16.
2231 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
2232 target offload_target_nvptx.
2233
2234 2020-09-08 Julian Brown <julian@codesourcery.com>
2235
2236 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
2237 iteration-ordering assumptions.
2238
2239 2020-09-08 Julian Brown <julian@codesourcery.com>
2240
2241 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
2242 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2243
2244 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
2245
2246 * plugin/plugin-nvptx.c (nvptx_free):
2247 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
2248 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
2249 comments.
2250
2251 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
2252
2253 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
2254
2255 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2256
2257 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
2258
2259 2020-08-13 Jakub Jelinek <jakub@redhat.com>
2260
2261 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
2262 * testsuite/libgomp.c/loop-23.c (main): Likewise.
2263 * testsuite/libgomp.c/loop-24.c: New test.
2264
2265 2020-08-08 Jakub Jelinek <jakub@redhat.com>
2266 Tobias Burnus <tobias@codesourcery.com>
2267
2268 PR fortran/93553
2269 * testsuite/libgomp.fortran/pr93553.f90: New test.
2270
2271 2020-08-05 Jakub Jelinek <jakub@redhat.com>
2272
2273 * testsuite/libgomp.c/loop-22.c: New test.
2274 * testsuite/libgomp.c/loop-23.c: New test.
2275
2276 2020-08-05 Jakub Jelinek <jakub@redhat.com>
2277
2278 PR middle-end/96459
2279 * testsuite/libgomp.c/teams-3.c: New test.
2280 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
2281 if not defined yet.
2282 (N(test)): Use it before all N(f*) calls.
2283 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
2284 (main): Don't call all test_* functions from within
2285 #pragma omp teams reduction(|:err), call them directly.
2286
2287 2020-08-04 Tom de Vries <tdevries@suse.de>
2288
2289 PR target/96428
2290 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
2291 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
2292
2293 2020-08-03 Julian Brown <julian@codesourcery.com>
2294 Thomas Schwinge <thomas@codesourcery.com>
2295
2296 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
2297 shared-memory devices. Extend with further checking.
2298
2299 2020-08-03 Martin Jambor <mjambor@suse.cz>
2300
2301 * plugin/Makefrag.am: Remove configuration of HSA plugin.
2302 * aclocal.m4: Regenerated.
2303 * Makefile.in: Regenerated.
2304 * config.h.in: Regenerated.
2305 * configure: Regenerated.
2306 * plugin/configfrag.ac: Likewise.
2307 * plugin/hsa_ext_finalize.h: Removed.
2308 * plugin/plugin-hsa.c: Likewise.
2309 * testsuite/Makefile.in: Regenerated.
2310 * testsuite/lib/libgomp.exp
2311 (offload_target_to_openacc_device_type): Remove hsa case.
2312 (check_effective_target_hsa_offloading_selected_nocache): Removed
2313 (check_effective_target_hsa_offloading_selected): Likewise.
2314 (libgomp_init): Do not add -Wno-hsa to additional_flags.
2315 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
2316 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2317 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
2318 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2319 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2320 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2321 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
2322 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2323 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2324 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2325 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2326 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2327 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2328 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2329 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2330 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2331 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
2332 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2333 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
2334 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2335 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2336 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
2337 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2338 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2339
2340 2020-07-27 Julian Brown <julian@codesourcery.com>
2341 Thomas Schwinge <thomas@codesourcery.com>
2342
2343 * libgomp.h (struct target_var_desc): Rename do_detach field to
2344 is_attach.
2345 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
2346 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
2347 (goacc_enter_data_internal): Don't affect reference counts
2348 for attach mappings.
2349 (goacc_exit_data_internal): Don't affect reference counts for detach
2350 mappings.
2351 * target.c (gomp_map_vars_existing): Don't affect reference counts for
2352 attach mappings.
2353 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
2354 mark attach mappings.
2355 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
2356 reference count for attach mappings.
2357 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
2358 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2359 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2360 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
2361 test as shouldfail.
2362 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
2363 gracefully in no-finalize mode.
2364 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
2365
2366 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
2367
2368 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
2369 use.
2370 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2371 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2372
2373 2020-07-23 Julian Brown <julian@codesourcery.com>
2374 Thomas Schwinge <thomas@codesourcery.com>
2375
2376 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
2377 finalization for detach operation.
2378 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
2379 New test.
2380
2381 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
2382
2383 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
2384 * libgomp_f.h.in (omp_check_defines): Check whether
2385 sizeof of determined Fortran kind and C typedef match.
2386 * omp_lib.f90.in: Add omp_depened_kind.
2387 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
2388 * configure: Regenerate.
2389 * Makefile.in: Regenerate.
2390 * testsuite/Makefile.in: Regenerate.
2391
2392 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
2393
2394 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
2395 gcc/testsuite/c-c++-common/gomp/.
2396 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
2397 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
2398 from gcc/testsuite/gfortran.dg/gomp/.
2399 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
2400
2401 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
2402
2403 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
2404 * omp_lib.h.in: Likewise.
2405
2406 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
2407
2408 PR target/95620
2409 * testsuite/libgomp.c/pr95620.c: New test.
2410
2411 2020-07-16 Julian Brown <julian@codesourcery.com>
2412 Thomas Schwinge <thomas@codesourcery.com>
2413
2414 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
2415 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
2416
2417 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2418
2419 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
2420 avoid conversion on 32bit systems from 32bit to 64bit due
2421 to -fdefault-integer-8.
2422
2423 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2424
2425 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
2426 variables; add character(kind=4) tests; update TODO comment.
2427
2428 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2429
2430 * allocator.c: Add ialias for omp_init_allocator and
2431 omp_destroy_allocator.
2432 * configure.ac: Set INTPTR_T_KIND.
2433 * configure: Regenerate.
2434 * Makefile.in: Regenerate.
2435 * testsuite/Makefile.in: Regenerate.
2436 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
2437 omp_set_default_allocator_, omp_get_default_allocator_): New
2438 functions and ialias_redirect.
2439 * icv.c: Add ialias for omp_set_default_allocator and
2440 omp_get_default_allocator.
2441 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
2442 omp_destroy_allocator_, omp_set_default_allocator_ and
2443 omp_get_default_allocator_.
2444 * omp_lib.f90.in: Add allocator traits parameters, declare
2445 allocator routines and add related kind parameters.
2446 * omp_lib.h.in: Likewise.
2447 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
2448 * testsuite/libgomp.fortran/alloc-1.F90: New test.
2449 * testsuite/libgomp.fortran/alloc-2.F90: New test.
2450 * testsuite/libgomp.fortran/alloc-3.F: New test.
2451 * testsuite/libgomp.fortran/alloc-4.f90: New test.
2452 * testsuite/libgomp.fortran/alloc-5.f90: New test.
2453
2454 2020-07-14 Tom de Vries <tom@codesourcery.com>
2455 Cesar Philippidis <cesar@codesourcery.com>
2456 Thomas Schwinge <thomas@codesourcery.com>
2457 Kwok Cheung Yeung <kcy@codesourcery.com>
2458
2459 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
2460 New variable.
2461 (acc_init_1): Set acc_init_thread to pthread_self (). Set
2462 acc_init_state to initializing at the start, and to initialized at the
2463 end.
2464 (self_initializing_p): New function.
2465 (acc_get_device_type): Return acc_device_none if called by thread that
2466 is currently executing acc_init_1.
2467 * libgomp.texi (acc_get_device_type): Update documentation.
2468 (Implementation Status and Implementation-Defined Behavior): Likewise.
2469 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
2470
2471 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
2472
2473 * config/t-aix: Set BITS from compiler cpp macro.
2474
2475 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
2476
2477 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
2478
2479 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
2480
2481 PR fortran/67311
2482 * testsuite/libgomp.fortran/target-map-1.f90: New test.
2483
2484 2020-07-14 Jakub Jelinek <jakub@redhat.com>
2485
2486 * testsuite/libgomp.c/loop-21.c: New test.
2487
2488 2020-07-13 Julian Brown <julian@codesourcery.com>
2489 Thomas Schwinge <thomas@codesourcery.com>
2490
2491 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
2492
2493 2020-07-10 Julian Brown <julian@codesourcery.com>
2494 Thomas Schwinge <thomas@codesourcery.com>
2495
2496 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
2497 dynamic_refcount.
2498 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2499 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
2500 dynamic_refcount.
2501 (acc_unmap_data): Update comment.
2502 (goacc_map_var_existing, goacc_enter_datum): Adjust for
2503 dynamic_refcount semantics.
2504 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
2505 Adjust for dynamic_refcount semantics.
2506 (goacc_enter_data_internal): Implement "present" case of dynamic
2507 memory-map handling here. Update "non-present" case for
2508 dynamic_refcount semantics.
2509 (goacc_exit_data_internal): Use goacc_exit_datum_1.
2510 * target.c (gomp_map_vars_internal): Remove
2511 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
2512 handling.
2513 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
2514 (gomp_load_image_to_device): Substitute dynamic_refcount for
2515 virtual_refcount.
2516 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
2517 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
2518 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
2519 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
2520 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
2521 trace output.
2522 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
2523 trace output.
2524 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
2525 test.
2526 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2527 Remove stale comment.
2528 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
2529 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2530 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2531 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2532 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2533 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
2534
2535 2020-07-10 Julian Brown <julian@codesourcery.com>
2536 Thomas Schwinge <thomas@codesourcery.com>
2537
2538 * oacc-mem.c (goacc_map_var_existing): New function.
2539 (goacc_enter_datum): Use above function.
2540 (goacc_exit_datum_1): New function.
2541 (goacc_exit_datum): Use above function.
2542
2543 2020-07-09 Julian Brown <julian@codesourcery.com>
2544 Thomas Schwinge <thomas@codesourcery.com>
2545
2546 PR middle-end/95270
2547 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
2548 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
2549
2550 2020-07-09 Julian Brown <julian@codesourcery.com>
2551
2552 * oacc-mem.c (find_group_last): Group data-movement clauses
2553 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
2554 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
2555
2556 2020-07-09 Jakub Jelinek <jakub@redhat.com>
2557
2558 * testsuite/libgomp.c/loop-19.c: New test.
2559 * testsuite/libgomp.c/loop-20.c: New test.
2560
2561 2020-07-09 Jakub Jelinek <jakub@redhat.com>
2562
2563 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
2564 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
2565 it. Remove __omp_alloctrait_value_max__.
2566 * allocator.c (omp_init_allocator): Handle omp_atv_default for
2567 omp_atk_alignment and omp_atk_pool_size.
2568
2569 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2570
2571 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
2572 behavior for 'GOMP_MAP_FORCE_FROM'.
2573 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
2574
2575 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2576
2577 * oacc-mem.c (goacc_exit_data_internal): Remove
2578 'GOMP_MAP_ALWAYS_FROM' handling.
2579
2580 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2581
2582 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
2583 'scan-assembler' with 'scan-offload-rtl'.
2584 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2585 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2586 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
2587 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
2588
2589 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2590
2591 * target.c (gomp_map_vars_existing): Assert 'kind !=
2592 GOMP_MAP_ATTACH'.
2593 (gomp_map_vars_internal): Clean up.
2594
2595 2020-06-27 Jakub Jelinek <jakub@redhat.com>
2596
2597 * testsuite/libgomp.c/loop-17.c: New test.
2598 * testsuite/libgomp.c/loop-18.c: New test.
2599
2600 2020-06-26 Marek Polacek <polacek@redhat.com>
2601
2602 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
2603
2604 2020-06-23 Alexandre Oliva <oliva@adacore.com>
2605
2606 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
2607 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
2608
2609 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
2610
2611 * Makefile.am: Use -include.
2612 * Makefile.in: Regenerate.
2613
2614 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
2615
2616 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
2617 * Makefile.in: Regenerate
2618 * configure.ac (tmake_file): Substitute.
2619 * configure: Regenerate.
2620 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
2621 * config/t-aix: New file.
2622
2623 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
2624
2625 PR lto/94848
2626 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
2627 'dg-do run'.
2628
2629 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
2630
2631 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
2632 variant for HSA_RUNTIME_LIB name.
2633 (find_executable_symbol_1): Delete.
2634 (find_executable_symbol): Delete.
2635 (init_kernel_properties): Add ".kd" suffix to symbol names.
2636 (find_load_offset): Delete.
2637 (create_and_finalize_hsa_program): Remove relocation handling.
2638
2639 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
2640
2641 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
2642
2643 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
2644
2645 PR lto/94848
2646 PR middle-end/95551
2647 * testsuite/libgomp.fortran/target-var.f90: New test.
2648
2649 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2650 Julian Brown <julian@codesourcery.com>
2651
2652 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
2653 special handling.
2654
2655 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2656 Julian Brown <julian@codesourcery.com>
2657
2658 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2659 Simplify.
2660
2661 2020-06-05 Julian Brown <julian@codesourcery.com>
2662
2663 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
2664 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
2665
2666 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2667
2668 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2669 Evaluate 'copyfrom' individually for each entry.
2670 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
2671
2672 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2673
2674 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2675 Evaluate 'finalize' individually for each entry.
2676 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
2677 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
2678 file.
2679
2680 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2681
2682 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
2683 usage.
2684 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
2685
2686 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2687 Julian Brown <julian@codesourcery.com>
2688
2689 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
2690 checking.
2691 (acc_unmap_data, goacc_exit_data_internal): Restore
2692 'is_tgt_unmapped' checking.
2693 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
2694 file.
2695 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
2696 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2697 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2698 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2699 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2700 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2701
2702 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2703 Julian Brown <julian@codesourcery.com>
2704
2705 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
2706
2707 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2708
2709 PR libgomp/92854
2710 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
2711
2712 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2713
2714 PR libgomp/92854
2715 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
2716 more.
2717
2718 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2719 Julian Brown <julian@codesourcery.com>
2720
2721 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
2722 'gomp_map_vars'.
2723 (acc_map_data): Clean up accordingly.
2724
2725 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2726
2727 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
2728 of over-eager 'finalize' clause.
2729 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
2730 file.
2731 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2732 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2733 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2734 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2735 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2736 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
2737 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2738 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
2739
2740 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2741
2742 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
2743
2744 2020-06-04 Julian Brown <julian@codesourcery.com>
2745
2746 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
2747 error path.
2748 (goacc_detach_internal): Likewise.
2749
2750 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2751
2752 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
2753 the checkpoint.
2754 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2755 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2756 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2757 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2758 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2759
2760 2020-06-02 Jakub Jelinek <jakub@redhat.com>
2761
2762 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
2763 defined.
2764
2765 2020-05-30 Jakub Jelinek <jakub@redhat.com>
2766
2767 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
2768
2769 2020-05-30 Jakub Jelinek <jakub@redhat.com>
2770
2771 * allocator.c (omp_alloc): For size == 0, return NULL early.
2772
2773 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
2774
2775 PR bootstrap/95413
2776 * configure: Regenerated.
2777
2778 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
2779
2780 PR libfortran/95191
2781 * testsuite/libgomp.fortran/async_io_9.f90: New test.
2782
2783 2020-05-19 Jakub Jelinek <jakub@redhat.com>
2784
2785 * omp.h.in (omp_uintptr_t): New typedef.
2786 (__GOMP_UINTPTR_T_ENUM): Define.
2787 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
2788 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
2789 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
2790 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
2791 omp_get_default_allocator, omp_alloc, omp_free): Declare.
2792 * libgomp.h (struct gomp_team_state): Add def_allocator field.
2793 (gomp_def_allocator): Declare.
2794 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
2795 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
2796 omp_alloc and omp_free.
2797 * team.c (gomp_team_start): Copy over ts.def_allocator.
2798 * env.c (gomp_def_allocator): New variable.
2799 (parse_wait_policy): Adjust function comment.
2800 (parse_allocator): New function.
2801 (handle_omp_display_env): Print OMP_ALLOCATOR.
2802 (initialize_env): Call parse_allocator.
2803 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
2804 * allocator.c: New file.
2805 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
2806 functions.
2807 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
2808 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
2809 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
2810 * Makefile.in: Regenerated.
2811
2812 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
2813
2814 PR bootstrap/95147
2815 * configure: Regenerated.
2816
2817 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
2818
2819 PR libfortran/95119
2820 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
2821
2822 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
2823
2824 * configure: Regenerated.
2825
2826 2020-05-14 Jakub Jelinek <jakub@redhat.com>
2827
2828 * testsuite/libgomp.c-c++-common/target-40.c: New test.
2829
2830 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
2831
2832 PR fortran/94690
2833 * testsuite/libgomp.fortran/pr66199-3.f90: New.
2834 * testsuite/libgomp.fortran/pr66199-4.f90: New.
2835 * testsuite/libgomp.fortran/pr66199-5.f90: New.
2836 * testsuite/libgomp.fortran/pr66199-6.f90: New.
2837 * testsuite/libgomp.fortran/pr66199-7.f90: New.
2838 * testsuite/libgomp.fortran/pr66199-8.f90: New.
2839 * testsuite/libgomp.fortran/pr66199-9.f90: New.
2840
2841 2020-05-12 Jakub Jelinek <jakub@redhat.com>
2842
2843 * testsuite/libgomp.c/target-39.c: New test.
2844
2845 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
2846
2847 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
2848 * openacc.f90 (acc_device_current): Likewise.
2849 * openacc.h (acc_device_current): Likewise.
2850 * openacc_lib.h (acc_device_current): Likewise.
2851
2852 PR target/94282
2853 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
2854 'dg-allow-blank-lines-in-output'.
2855
2856 * oacc-init.c (get_openacc_name): Handle 'gcn'.
2857 * testsuite/lib/libgomp.exp
2858 (offload_target_to_openacc_device_type) [amdgcn*]: Return
2859 'radeon'. Adjust all users.
2860 (check_effective_target_openacc_amdgcn_accel_present): Rename
2861 to...
2862 (check_effective_target_openacc_radeon_accel_present): ... this.
2863 Adjust all users.
2864 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
2865 (check_effective_target_openacc_radeon_accel_selected): ... this.
2866 Adjust all users.
2867
2868 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
2869 'dg-do run'.
2870
2871 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
2872
2873 PR other/94629
2874
2875 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
2876 hsa_iterate_agents.
2877 (GOMP_OFFLOAD_init_device): Check return values from both calls to
2878 hsa_agent_iterate_regions.
2879
2880 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
2881
2882 PR middle-end/94635
2883 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
2884 run'.
2885
2886 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
2887
2888 PR middle-end/94120
2889 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
2890 test case.
2891
2892 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
2893
2894 PR middle-end/94635
2895 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
2896
2897 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
2898
2899 PR libgomp/92843
2900 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
2901 Rename to...
2902 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
2903 ... this.
2904 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
2905 Rename to...
2906 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
2907 ... this.
2908 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
2909 Rename to...
2910 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
2911 ... this.
2912 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
2913 Rename to...
2914 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
2915 ... this.
2916 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
2917 Rename to...
2918 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
2919 ... this.
2920 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
2921 Rename to...
2922 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
2923 ... this.
2924 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
2925 Rename to...
2926 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
2927 ... this.
2928 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
2929 Rename to...
2930 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2931 ... this.
2932 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
2933 Rename to...
2934 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
2935 ... this.
2936 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
2937 Rename to...
2938 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
2939 ... this.
2940 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
2941 Rename to...
2942 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
2943 ... this.
2944 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
2945 Rename to...
2946 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
2947 ... this.
2948 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
2949 Rename to...
2950 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
2951 ... this.
2952 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
2953 Rename to...
2954 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
2955 ... this.
2956 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
2957 Rename to...
2958 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
2959 ... this.
2960 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
2961 Rename to...
2962 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
2963 ... this.
2964
2965 2020-04-10 Julian Brown <julian@codesourcery.com>
2966 Thomas Schwinge <thomas@codesourcery.com>
2967
2968 PR libgomp/92843
2969 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
2970 New file.
2971 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
2972 Likewise.
2973 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
2974 Likewise.
2975 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
2976 Likewise.
2977 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
2978 Likewise.
2979 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
2980 Likewise.
2981 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
2982 Likewise.
2983 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
2984 Likewise.
2985 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
2986 Likewise.
2987 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
2988 Likewise.
2989 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
2990 Likewise.
2991 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
2992 Likewise.
2993 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
2994 Likewise.
2995 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
2996 Likewise.
2997 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
2998 Likewise.
2999 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
3000 Likewise.
3001
3002 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
3003
3004 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
3005 run'.
3006
3007 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
3008
3009 PR middle-end/94120
3010 * libgomp.oacc-c++/declare-pr94120.C: New.
3011
3012 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
3013
3014 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
3015 files.
3016 * configure: Regenerate.
3017 * testsuite/libgomp-site-extra.exp.in: New file.
3018 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
3019 variable.
3020 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
3021 variable.
3022 * testsuite/Makefile.in: Regenerate.
3023
3024 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
3025
3026 PR tree-optimization/89713
3027 PR c/94392
3028 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
3029 'bar.sync'.
3030 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3031
3032 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
3033
3034 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
3035 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
3036
3037 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
3038
3039 PR libgomp/81689
3040 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
3041
3042 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
3043
3044 PR libgomp/94251
3045 * target.c (gomp_load_image_to_device): Fix link
3046 variable handling.
3047
3048 2020-03-19 Jakub Jelinek <jakub@redhat.com>
3049
3050 PR c++/93931
3051 * testsuite/libgomp.c++/pr93931.C: New test.
3052
3053 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
3054
3055 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
3056 dg-allow-blank-lines-in-output.
3057
3058 2020-03-18 Julian Brown <julian@codesourcery.com>
3059 Tobias Burnus <tobias@codesourcery.com>
3060
3061 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
3062 it work concurrently.
3063
3064 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
3065
3066 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
3067 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
3068 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
3069
3070 2020-03-14 Jakub Jelinek <jakub@redhat.com>
3071
3072 PR middle-end/93566
3073 * testsuite/libgomp.c/pr93566.c: New test.
3074
3075 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
3076
3077 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
3078 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
3079 integer(acc_device_property) for the type of the return value of
3080 acc_get_property.
3081
3082 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
3083
3084 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
3085 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
3086 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
3087 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
3088 (acc_set_device_num): Fix Fortran argument name, use same name for C.
3089 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
3090 corrections; add note about the previous interface and named constant.
3091 (OpenACC library and environment variables): Fix two typos.
3092 * openacc.f90: Use for all procedures the argument names from the spec
3093 as for …_h they are user visible.
3094 (openacc_kinds): Rename acc_device_property to
3095 acc_device_property_kinds and change value to int32 ; and update users.
3096 Re-add acc_device_property for for backward compatibility.
3097 (acc_get_property_string_h): Clean up as acc_device_property_kind
3098 changed.
3099 (acc_get_property_h): Likewise and return c_size_t instead of
3100 acc_device_property.
3101 (openacc): Also export acc_device_property_kinds.
3102 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
3103 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
3104 handling; check against /= 0 instead of == 1 to match C.
3105 * openacc_lib.h: Use for all procedures the argument names from the spec
3106 as for …_h they are user visible. Place !GCC$ into the first column to
3107 be active also for fixed-form souce form.
3108 (acc_device_current, acc_device_property_kind, acc_device_property,
3109 acc_property_memory, acc_property_free_memory, acc_property_name,
3110 acc_property_vendor, acc_property_driver): New named constants.
3111 (acc_get_property, acc_get_property_string): New generic interface.
3112
3113 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
3114
3115 PR libgomp/93481
3116 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
3117 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
3118 optional.
3119 (gomp_target_task_fn): Assert "devicep->async_run_func".
3120 (clear_unsupported_flags): New function to remove unsupported flags
3121 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
3122 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
3123 * testsuite/libgomp.c/target-33.c:
3124 Remove xfail for offload_target_nvptx.
3125 * testsuite/libgomp.c/target-34.c: Likewise.
3126
3127 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
3128
3129 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
3130 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
3131 * testsuite/libgomp.c/target-34.c: Likewise.
3132 * testsuite/libgomp.c/target-link-1.c: Add xfail for
3133 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
3134
3135 2020-02-09 Jakub Jelinek <jakub@redhat.com>
3136
3137 * testsuite/libgomp.c/target-38.c: New test.
3138
3139 2020-02-06 Jakub Jelinek <jakub@redhat.com>
3140
3141 PR libgomp/93515
3142 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
3143
3144 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
3145
3146 * testsuite/lib/libgomp.exp
3147 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
3148 and not as 'source' argument to libgomp_target_compile.
3149
3150 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
3151
3152 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
3153 (gcn_gfx801_s): Remove.
3154 (isa_hsa_name): Remove gfx801.
3155 (isa_gcc_name): Remove gfx801/carizzo.
3156 (isa_code): Remove gfx801.
3157
3158 2020-02-03 Julian Brown <julian@codesourcery.com>
3159 Tobias Burnus <tobias@codesourcery.com>
3160
3161 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
3162 and *_finalize variants; document acc_attach and acc_detach; update
3163 references from OpenACC 2.0 to 2.6.
3164 * openacc.f90 (openacc_version): Update to 201711.
3165 * openacc_lib.h (openacc_version): Update to 201711.
3166 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
3167 openacc_version to 201711.
3168 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3169
3170 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
3171
3172 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
3173 and vgpr_count fields.
3174 (struct kernel_info): Add a field for a hsa_kernel_description.
3175 (run_kernel): Reduce the number of threads/workers if the requested
3176 number would require too many VGPRs.
3177 (init_basic_kernel_info): Initialize description field with
3178 the hsa_kernel_description entry for the kernel.
3179
3180 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
3181
3182 PR bootstrap/93409
3183 * plugin/configfrag.ac (enable_offload_targets): Skip
3184 HSA and GCN plugin besides -m32 also for -mx32.
3185 * configure: Regenerate.
3186
3187 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
3188
3189 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
3190
3191 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
3192
3193 * plugin-gcn.c (struct agent_info): Add fields "name" and
3194 "vendor_name" ...
3195 (GOMP_OFFLOAD_init_device): ... and init from here.
3196 (struct hsa_context_info): Add field "driver_version_s" ...
3197 (init_hsa_contest): ... and init from here.
3198 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
3199 implementation.
3200 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3201 Enable test execution for amdgcn and host offloading targets.
3202 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
3203 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3204 (expect_device_properties): Split function into ...
3205 (expect_device_string_properties): ... this new function ...
3206 (expect_device_memory): ... and this new function.
3207 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
3208 Add test.
3209
3210 2020-01-28 Julian Brown <julian@codesourcery.com>
3211
3212 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
3213 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
3214 component/non-component variable refs in a single directive.
3215 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
3216
3217 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
3218
3219 * configure.ac: Handle `--with-toolexeclibdir='.
3220 * Makefile.in: Regenerate.
3221 * aclocal.m4: Regenerate.
3222 * configure: Regenerate.
3223 * testsuite/Makefile.in: Regenerate.
3224
3225 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
3226
3227 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3228 (expect_device_properties): Remove "expected_free_mem" argument,
3229 change "expected_total_mem" argument type to size_t;
3230 change types of acc_get_property results to size_t,
3231 adapt format strings.
3232 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3233 Use %zu instead of %zd to print size_t values.
3234 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
3235 rename to ...
3236 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
3237 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
3238 rename to ...
3239 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
3240
3241 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
3242
3243 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
3244 the device id.
3245
3246 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
3247
3248 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
3249 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
3250 Adjust test dimensions for amdgcn.
3251 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
3252 gang/worker/vector expectations dynamically.
3253 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
3254 (main): Likewise.
3255 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
3256 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
3257 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
3258 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
3259 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
3260 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
3261 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
3262 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
3263 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
3264 (acc_gang): Recognise acc_device_radeon.
3265 (acc_worker): Likewise.
3266 (acc_vector): Likewise.
3267 (main): Set expectations for amdgcn.
3268 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
3269 (main): Adjust gang/worker/vector expectations dynamically.
3270 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
3271 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
3272 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
3273 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
3274 for amdgcn.
3275
3276 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
3277
3278 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
3279 acc_device_radeon.
3280 (openacc): Likewise.
3281 * openacc.f90 (openacc_kinds): Likewise.
3282 (openacc): Likewise.
3283 * openacc.h (acc_device_t): Likewise.
3284 * openacc_lib.h: Likewise.
3285 * testsuite/lib/libgomp.exp
3286 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
3287 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
3288 (cb_compute_construct_end): Likewise.
3289 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
3290 (cb_enqueue_launch_start): Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
3292 (cb_enter_data_end): Likewise.
3293 (cb_exit_data_start): Likewise.
3294 (cb_exit_data_end): Likewise.
3295 (cb_compute_construct_end): Likewise.
3296 (cb_enqueue_launch_start): Likewise.
3297 (cb_enqueue_launch_end): Likewise.
3298 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
3299 (main): Likewise.
3300
3301 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
3302
3303 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
3304 to use this instead of 'enum gomp_device_property'.
3305 (GOMP_OFFLOAD_get_property): Rename to...
3306 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
3307 * libgomp.h (struct gomp_device_descr): Move
3308 'GOMP_OFFLOAD_openacc_get_property'...
3309 (struct acc_dispatch_t): ... here. Adjust all users.
3310 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
3311
3312 * target.c (gomp_map_vars_internal)
3313 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
3314 paths.
3315
3316 2020-01-10 Jakub Jelinek <jakub@redhat.com>
3317
3318 PR libgomp/93219
3319 * libgomp.h (gomp_print_string): Change return type from void to int.
3320 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
3321 not all characters have been written.
3322
3323 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
3324
3325 * libgomp.texi: Fix typos, use https.
3326
3327 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
3328
3329 * testsuite/libgomp.fortran/optional-map.f90: Add test for
3330 unallocated/disassociated actual arguments to nonallocatable/nonpointer
3331 dummy arguments; those are/shall be regarded as absent arguments.
3332 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3333 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
3334
3335 2020-01-01 Jakub Jelinek <jakub@redhat.com>
3336
3337 Update copyright years.
3338
3339 * libgomp.texi: Bump @copying's copyright year.
3340
3341 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
3342
3343 PR libgomp/93065
3344 * oacc-init.c (goacc_runtime_deinitialize): New function.
3345
3346 2019-12-28 Jakub Jelinek <jakub@redhat.com>
3347
3348 PR bootstrap/93074
3349 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
3350 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
3351
3352 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
3353 Frederik Harwath <frederik@codesourcery.com>
3354 Thomas Schwinge <tschwinge@codesourcery.com>
3355
3356 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
3357 * libgomp-plugin.h (gomp_device_property_value): New union.
3358 (gomp_device_property_value): New prototype.
3359 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
3360 constant.
3361 (acc_device_property_t): New enum.
3362 (acc_get_property, acc_get_property_string): New prototypes.
3363 * oacc-init.c (acc_get_device_type): Also assert that result
3364 is not `acc_device_current'.
3365 (get_property_any, acc_get_property, acc_get_property_string):
3366 New functions.
3367 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
3368 `acc_property_memory', `acc_property_free_memory',
3369 `acc_property_name', `acc_property_vendor' and
3370 `acc_property_driver' constants. Add `acc_device_property' data
3371 type.
3372 (openacc_internal): Add `acc_get_property' and
3373 `acc_get_property_string' interfaces. Add `acc_get_property_h',
3374 `acc_get_property_string_h', `acc_get_property_l' and
3375 `acc_get_property_string_l'.
3376 * oacc-host.c (host_get_property): New function.
3377 (host_dispatch): Wire it.
3378 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
3379 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
3380 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
3381 * libgomp.texi (OpenACC Runtime Library Routines): Add
3382 `acc_get_property'.
3383 (acc_get_property): New node.
3384 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
3385 function (stub).
3386 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
3387 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
3388 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
3389 calls.
3390 (GOMP_OFFLOAD_get_property): New function.
3391 (struct ptx_device): Add new field "name".
3392 (cuda_driver_version_s): Add new static variable ...
3393 (nvptx_init): ... and init from here.
3394
3395 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
3396 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
3397 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
3398 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
3399 with test helper functions.
3400
3401 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
3402
3403 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
3404
3405 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
3406 variable.
3407
3408 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
3409
3410 * target.c (gomp_map_vars_internal): Restore 'omp declare target
3411 link' handling.
3412
3413 2019-12-19 Julian Brown <julian@codesourcery.com>
3414
3415 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
3416 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
3417 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
3418
3419 2019-12-19 Julian Brown <julian@codesourcery.com>
3420 Cesar Philippidis <cesar@codesourcery.com>
3421
3422 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
3423 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
3424 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
3425 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
3426 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
3427 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
3428 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
3429 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
3430 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
3431 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
3432 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
3433 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
3434 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
3435
3436 2019-12-19 Julian Brown <julian@codesourcery.com>
3437
3438 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
3439 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
3440 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
3441 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
3442 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
3443 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
3444 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
3445 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
3446 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
3447 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
3448 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
3449 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
3450
3451 2019-12-19 Julian Brown <julian@codesourcery.com>
3452
3453 * libgomp.h (struct target_var_desc): Add do_detach flag.
3454 * oacc-init.c (acc_shutdown_1): Free aux block if present.
3455 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
3456 struct components. Tidy up and add some new checks.
3457 (goacc_enter_data_internal): Update call to find_group_last.
3458 (goacc_exit_data_internal): Support detach operations and
3459 GOMP_MAP_STRUCT.
3460 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
3461 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
3462 attach/detach in enter/exit data detection code.
3463 * target.c (gomp_map_vars_existing): Initialise do_detach field of
3464 tgt_var_desc.
3465 (gomp_map_vars_internal): Support attach.
3466 (gomp_unmap_vars_internal): Support detach.
3467
3468 2019-12-19 Julian Brown <julian@codesourcery.com>
3469 Thomas Schwinge <thomas@codesourcery.com>
3470
3471 * libgomp.h (struct splay_tree_aux): Add attach_count field.
3472 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
3473 * libgomp.map (OACC_2.6): New section. Add acc_attach,
3474 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
3475 acc_detach_finalize_async.
3476 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
3477 acc_detach, acc_detach_async, acc_detach_finalize,
3478 acc_detach_finalize_async): New functions.
3479 * openacc.h (acc_attach, acc_attach_async, acc_detach,
3480 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
3481 prototypes.
3482 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
3483 (gomp_remove_var_internal): Free attachment counts if present.
3484 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
3485 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
3486
3487 2019-12-19 Julian Brown <julian@codesourcery.com>
3488 Cesar Philippidis <cesar@codesourcery.com>
3489
3490 * libgomp.h (gomp_map_val): Add prototype.
3491 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
3492 open-coding device-address calculation.
3493 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
3494 non-present case.
3495
3496 2019-12-19 Julian Brown <julian@codesourcery.com>
3497
3498 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
3499 field for virtual_refcount.
3500 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3501 (gomp_free_memmap): Remove prototype.
3502 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
3503 instead of calling gomp_free_memmap.
3504 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
3505 dynamic_refcount.
3506 (acc_unmap_data): Open code instead of forcing target_mem_desc's
3507 to_free field to NULL then calling gomp_unmap_vars. Handle
3508 REFCOUNT_INFINITY on target blocks.
3509 (goacc_enter_data): Rename to...
3510 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
3511 handling for mapping groups. Use virtual_refcount instead of
3512 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
3513 map_map_vars_async call. Re-do lookup for target pointer return value.
3514 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
3515 renamed goacc_enter_datum function.
3516 (goacc_exit_data): Rename to...
3517 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
3518 (acc_delete, acc_delete_async, acc_delete_finalize,
3519 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
3520 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
3521 goacc_exit_datum function.
3522 (gomp_acc_remove_pointer, find_pointer): Remove functions.
3523 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
3524 New functions.
3525 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
3526 goacc_exit_data_internal helper functions.
3527 * target.c (gomp_map_vars_internal): Handle
3528 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
3529 semantics.
3530 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
3531 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
3532 virtual_refcount field instead of dynamic_refcount.
3533 (gomp_free_memmap): Remove function.
3534 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
3535 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
3536 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
3537
3538 2019-12-19 Julian Brown <julian@codesourcery.com>
3539 Thomas Schwinge <thomas@codesourcery.com>
3540
3541 * libgomp.h (struct splay_tree_aux): New.
3542 (struct splay_tree_key_s): Replace link_key field with aux pointer.
3543 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
3544 to aux struct.
3545 (gomp_remove_var_internal): Free aux block if present.
3546 (gomp_load_image_to_device): Zero-initialise aux field instead of
3547 link_key field.
3548 (omp_target_associate_pointer): Zero-initialise aux field.
3549
3550 2019-12-18 Jakub Jelinek <jakub@redhat.com>
3551
3552 PR middle-end/86416
3553 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
3554 q or none.
3555 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
3556 L or none.
3557
3558 2019-12-19 Julian Brown <julian@codesourcery.com>
3559 Maciej W. Rozycki <macro@codesourcery.com>
3560 Tobias Burnus <tobias@codesourcery.com>
3561 Thomas Schwinge <thomas@codesourcery.com>
3562
3563 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
3564 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
3565 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
3566 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
3567 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
3568 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
3569 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
3570 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
3571 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
3572
3573 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
3574
3575 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3576 called...
3577 (goacc_insert_pointer): ... from here, "present" case.
3578 (goacc_insert_pointer): Inline function into...
3579 (GOACC_enter_exit_data): ... here, and simplify.
3580
3581 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3582 called...
3583 (goacc_insert_pointer): ... from here, "not present" case.
3584
3585 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
3586 all users.
3587
3588 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
3589 'goacc_enter_data', 'goacc_exit_data'.
3590
3591 * oacc-mem.c (delete_copyout): Refactor into...
3592 (goacc_exit_data): ... this. Adjust all users.
3593
3594 * oacc-mem.c (present_create_copy): Refactor into...
3595 (goacc_enter_data): ... this. Adjust all users.
3596
3597 * target.c (gomp_unmap_vars_internal): Add a safeguard to
3598 'gomp_remove_var'.
3599
3600 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
3601 like 'GOMP_MAP_FROM'.
3602
3603 PR libgomp/92726
3604 PR libgomp/92970
3605 PR libgomp/92984
3606 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
3607 fails.
3608 (GOACC_enter_exit_data): Simplify accordingly.
3609 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
3610 subsuming...
3611 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
3612 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
3613 file.
3614 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
3615 subsuming...
3616 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
3617 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
3618 file.
3619 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
3620 subsuming...
3621 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
3622
3623 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
3624 'finalize' handling.
3625
3626 PR libgomp/92848
3627 * oacc-mem.c (acc_map_data, present_create_copy)
3628 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
3629 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
3630 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
3631 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
3632 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
3633 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
3634 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
3635 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3636 Remove "XFAIL"s.
3637
3638 * target.c (gomp_unmap_tgt): Make it 'static'.
3639 * libgomp.h (gomp_unmap_tgt): Remove.
3640
3641 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
3642
3643 PR middle-end/86416
3644 * testsuite/libgomp.c/pr86416-1.c: New.
3645 * testsuite/libgomp.c/pr86416-2.c: New.
3646
3647 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
3648
3649 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
3650 all symbols as public except for the 'use …, only' imported symbol,
3651 which is private.
3652 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3653 all symbols from module openacc_kinds as PUBLIC
3654 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
3655 fix comment typo.
3656 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
3657
3658 2019-12-13 Julian Brown <julian@codesourcery.com>
3659
3660 PR libgomp/92881
3661
3662 * libgomp.h (gomp_remove_var_async): Add prototype.
3663 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
3664 gomp_remove_var.
3665 * target.c (gomp_unref_tgt): Change return type to bool, indicating
3666 whether target_mem_desc was unmapped.
3667 (gomp_unref_tgt_void): New.
3668 (gomp_remove_var): Reimplement in terms of...
3669 (gomp_remove_var_internal): ...this new helper function.
3670 (gomp_remove_var_async): New, implemented using above helper function.
3671 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
3672 gomp_unref_tgt.
3673
3674 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
3675
3676 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
3677 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3678 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
3679 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
3680 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
3681 Likewise.
3682 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
3683 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
3684
3685 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
3686
3687 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
3688 as public except for the 'use …, only' imported symbol, which is
3689 private.
3690 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3691 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
3692 attributes for acc_copyout_finalize and acc_delete_finalize.
3693
3694 2019-12-11 Jakub Jelinek <jakub@redhat.com>
3695
3696 PR fortran/92899
3697 * testsuite/libgomp.fortran/atomic1.f90: New test.
3698
3699 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3700
3701 PR libgomp/92843
3702 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
3703 reference counting for structured 'REFCOUNT_INFINITY'. Add some
3704 assertions.
3705 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
3706 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
3707 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
3708 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3709 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3710
3711 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
3712 * oacc-mem.c: ... here.
3713 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
3714 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
3715 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3716 Remove.
3717 * libgomp_g.h: Update.
3718
3719 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
3720 * oacc-async.c: ... here.
3721 * oacc-int.h (goacc_wait): Declare.
3722 * libgomp_g.h: Update
3723
3724 PR libgomp/92854
3725 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
3726 New file.
3727 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
3728 Likewise.
3729 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
3730 Likewise.
3731 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
3732 Likewise.
3733 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
3734 Likewise.
3735 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
3736 Likewise.
3737
3738 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3739 Julian Brown <julian@codesourcery.com>
3740
3741 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
3742 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
3743
3744 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
3745
3746 * omp_lib.h.in: Fix spelling of function declaration
3747 omp_get_cancell(l)ation.
3748 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
3749 Fix typos.
3750 * env.c: Fix comment typos.
3751 * oacc-host.c: Likewise.
3752 * ordered.c: Likewise.
3753 * task.c: Likewise.
3754 * team.c: Likewise.
3755 * config/gcn/task.c: Likewise.
3756 * config/gcn/team.c: Likewise.
3757 * config/nvptx/task.c: Likewise.
3758 * config/nvptx/team.c: Likewise.
3759 * plugin/plugin-gcn.c: Likewise.
3760 * testsuite/libgomp.fortran/jacobi.f: Likewise.
3761 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3762 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
3763
3764 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
3765
3766 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
3767 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
3768 unnecessary 'dg-additional-options "-w"'.
3769
3770 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3771 Julian Brown <julian@codesourcery.com>
3772
3773 PR libgomp/92116
3774 PR libgomp/92877
3775
3776 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
3777 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
3778 Adjust all users.
3779 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3780 Remove XFAIL.
3781 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3782 Likewise.
3783 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
3784
3785 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3786
3787 PR libgomp/92503
3788 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
3789 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
3790 file.
3791 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
3792 Likewise.
3793 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
3794 Likewise.
3795 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
3796 Likewise.
3797 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3798 Likewise.
3799 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3800 Likewise.
3801 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3802 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3803 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3804 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3805 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3806 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3807 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3808 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3809 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
3810 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3811
3812 PR libgomp/92840
3813 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
3814 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
3815 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
3816 New file.
3817 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
3818 Likewise.
3819 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
3820 Likewise.
3821 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3822 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
3823
3824 PR libgomp/92511
3825 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
3826 this file...
3827 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
3828 this file...
3829 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
3830 file...
3831 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
3832 file...
3833 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3834 ... with their content moved into, and extended in this new file.
3835 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
3836 New file.
3837 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
3838 Likewise.
3839 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
3840 Likewise.
3841 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
3842 Likewise.
3843
3844 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
3845
3846 PR libgomp/92854
3847 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
3848
3849 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
3850
3851 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
3852
3853 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
3854
3855 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
3856 unique.
3857 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
3858 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3859 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
3860 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
3861 Ditto.
3862 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
3863 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
3864
3865 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
3866
3867 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
3868
3869 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
3870 Kwok Cheung Yeung <kcy@codesourcery.com>
3871
3872 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
3873 if input it a NULL pointer.
3874 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
3875 diagnostic of NULL pointer.
3876 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
3877 * testsuite/libgomp.fortran/optional-map.f90: New.
3878 * testsuite/libgomp.fortran/use_device_addr-1.f90
3879 (test_dummy_opt_callee_1_absent): New.
3880 (test_dummy_opt_call_1): Call it.
3881 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
3882 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
3883 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
3884 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
3885 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
3886 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
3887 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
3888 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
3889 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
3890 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
3891 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
3892 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
3893 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
3894 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
3895 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
3896 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
3897
3898 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
3899
3900 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
3901 expect dg-output of 'Error termination.' for GCN.
3902 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3903 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3904
3905 2019-12-04 Jakub Jelinek <jakub@redhat.com>
3906
3907 PR fortran/92756
3908 * testsuite/libgomp.fortran/teams1.f90: New test.
3909 * testsuite/libgomp.fortran/teams2.f90: New test.
3910
3911 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
3912
3913 * oacc-init.c (acc_known_device_type): Add function.
3914 (unknown_device_type_error): Add function.
3915 (name_of_acc_device_t): Change to call unknown_device_type_error
3916 on unknown type.
3917 (resolve_device): Use acc_known_device_type.
3918 (acc_init): Fail if acc_device_t argument is not valid.
3919 (acc_shutdown): Likewise.
3920 (acc_get_num_devices): Likewise.
3921 (acc_set_device_type): Likewise.
3922 (acc_get_device_num): Likewise.
3923 (acc_set_device_num): Likewise.
3924 (acc_on_device): Add comment that argument validity is not checked.
3925
3926 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
3927
3928 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
3929 Recognize amdgcn.
3930 (check_effective_target_openacc_amdgcn_accel_present): New proc.
3931 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
3932 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
3933 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3934 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3935
3936 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
3937
3938 PR libgomp/91938
3939 * configure.tgt: Avoid IE tls on *-*-musl*.
3940
3941 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
3942
3943 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
3944 adding a common-block test case.
3945
3946 2019-11-29 Jakub Jelinek <jakub@redhat.com>
3947
3948 PR c++/60228
3949 * testsuite/libgomp.c++/udr-20.C: New test.
3950 * testsuite/libgomp.c++/udr-21.C: New test.
3951
3952 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
3953
3954 * testsuite/lib/libgomp.exp
3955 (check_effective_target_offload_target_nvptx): New proc.
3956 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
3957 'dg-skip-if'.
3958 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
3959 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
3960 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
3961
3962 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3963
3964 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
3965 * testsuite/libgomp.c/pr39591-2.c: Likewise.
3966 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3967 * testsuite/libgomp.c/private-1.c: Likewise.
3968 * testsuite/libgomp.c/task-1.c: Likewise.
3969 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
3970
3971 2019-11-20 Julian Brown <julian@codesourcery.com>
3972
3973 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
3974 aq->mutex here.
3975 (queue_push_launch): Lock aq->mutex before calling
3976 wait_for_queue_nonfull.
3977 (queue_push_callback): Likewise.
3978 (queue_push_asyncwait): Likewise.
3979 (queue_push_placeholder): Likewise.
3980
3981 2019-11-20 Julian Brown <julian@codesourcery.com>
3982
3983 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
3984 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
3985 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
3986 return code.
3987
3988 2019-11-20 Julian Brown <julian@codesourcery.com>
3989
3990 PR libgomp/92511
3991
3992 * oacc-mem.c (present_create_copy): Fix device pointer return value in
3993 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
3994 in non-present/create case.
3995 (delete_copyout): Change error condition to fail only on copies outside
3996 of mapped block. Adjust error message accordingly.
3997 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
3998 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
3999 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
4000 message.
4001 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4002 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
4003 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4004
4005 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
4006
4007 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4008 libatomic in build-tree testing.
4009
4010 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
4011
4012 * testsuite/Makefile.in: Regenerate.
4013
4014 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
4015
4016 * testsuite/libgomp.c/target-print-1.c: New file.
4017 * testsuite/libgomp.fortran/target-print-1.f90: New file.
4018 * testsuite/libgomp.oacc-c/print-1.c: New file.
4019 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
4020
4021 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4022 Kwok Cheung Yeung <kcy@codesourcery.com>
4023 Julian Brown <julian@codesourcery.com>
4024 Tom de Vries <tom@codesourcery.com>
4025
4026 * plugin/Makefrag.am: Add amdgcn plugin support.
4027 * plugin/configfrag.ac: Likewise.
4028 * plugin/plugin-gcn.c: New file.
4029 * configure: Regenerate.
4030 * Makefile.in: Regenerate.
4031 * testsuite/Makefile.in: Regenerate.
4032
4033 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4034
4035 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
4036 and use team_malloc variants.
4037 (gomp_gcn_exit_kernel): Use team_free.
4038 * libgomp.h (TEAM_ARENA_SIZE): Define.
4039 (TEAM_ARENA_START): Define.
4040 (TEAM_ARENA_FREE): Define.
4041 (TEAM_ARENA_END): Define.
4042 (team_malloc): New function.
4043 (team_malloc_cleared): New function.
4044 (team_free): New function.
4045 * team.c (gomp_new_team): Initialize and use team_malloc.
4046 (free_team): Use team_free.
4047 (gomp_free_thread): Use team_free.
4048 (gomp_pause_host): Use team_free.
4049 * work.c (gomp_init_work_share): Use team_malloc.
4050 (gomp_fini_work_share): Use team_free.
4051
4052 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4053 Kwok Cheung Yeung <kcy@codesourcery.com>
4054 Julian Brown <julian@codesourcery.com>
4055 Tom de Vries <tom@codesourcery.com>
4056
4057 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
4058 * Makefile.in: Regenerate.
4059 * config.h.in (PLUGIN_GCN): Add new undef.
4060 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
4061 * config/gcn/affinity-fmt.c: New file.
4062 * config/gcn/bar.c: New file.
4063 * config/gcn/bar.h: New file.
4064 * config/gcn/doacross.h: New file.
4065 * config/gcn/icv-device.c: New file.
4066 * config/gcn/oacc-target.c: New file.
4067 * config/gcn/simple-bar.h: New file.
4068 * config/gcn/target.c: New file.
4069 * config/gcn/task.c: New file.
4070 * config/gcn/team.c: New file.
4071 * config/gcn/time.c: New file.
4072 * configure.ac: Add amdgcn*-*-*.
4073 * configure: Regenerate.
4074 * configure.tgt: Add amdgcn*-*-*.
4075 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
4076 * libgomp.h (gcn_thrs): Add amdgcn variant.
4077 (set_gcn_thrs): Likewise.
4078 (gomp_thread): Likewise.
4079 * oacc-int.h (goacc_thread): Likewise.
4080 * oacc-target.c: New file.
4081 * openacc.f90 (acc_device_gcn): New parameter.
4082 * openacc.h (acc_device_t): Add acc_device_gcn.
4083 * team.c (gomp_free_pool_helper): Add amdgcn support.
4084
4085 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4086 Julian Brown <julian@codesourcery.com>
4087
4088 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
4089 parameter.
4090 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
4091 queue constructor.
4092 * oacc-host.c (host_openacc_async_construct): Add device parameter.
4093 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
4094 device parameter.
4095
4096 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4097
4098 * configure.tgt (nvptx*-*-*): Add "accel" directory.
4099 * config/nvptx/libgomp-plugin.c: Move ...
4100 * config/accel/libgomp-plugin.c: ... to here.
4101 * config/nvptx/lock.c: Move ...
4102 * config/accel/lock.c: ... to here.
4103 * config/nvptx/mutex.c: Move ...
4104 * config/accel/mutex.c: ... to here.
4105 * config/nvptx/mutex.h: Move ...
4106 * config/accel/mutex.h: ... to here.
4107 * config/nvptx/oacc-async.c: Move ...
4108 * config/accel/oacc-async.c: ... to here.
4109 * config/nvptx/oacc-cuda.c: Move ...
4110 * config/accel/oacc-cuda.c: ... to here.
4111 * config/nvptx/oacc-host.c: Move ...
4112 * config/accel/oacc-host.c: ... to here.
4113 * config/nvptx/oacc-init.c: Move ...
4114 * config/accel/oacc-init.c: ... to here.
4115 * config/nvptx/oacc-mem.c: Move ...
4116 * config/accel/oacc-mem.c: ... to here.
4117 * config/nvptx/oacc-plugin.c: Move ...
4118 * config/accel/oacc-plugin.c: ... to here.
4119 * config/nvptx/omp-lock.h: Move ...
4120 * config/accel/omp-lock.h: ... to here.
4121 * config/nvptx/openacc.f90: Move ...
4122 * config/accel/openacc.f90: ... to here.
4123 * config/nvptx/pool.h: Move ...
4124 * config/accel/pool.h: ... to here.
4125 * config/nvptx/proc.c: Move ...
4126 * config/accel/proc.c: ... to here.
4127 * config/nvptx/ptrlock.c: Move ...
4128 * config/accel/ptrlock.c: ... to here.
4129 * config/nvptx/ptrlock.h: Move ...
4130 * config/accel/ptrlock.h: ... to here.
4131 * config/nvptx/sem.c: Move ...
4132 * config/accel/sem.c: ... to here.
4133 * config/nvptx/sem.h: Move ...
4134 * config/accel/sem.h: ... to here.
4135 * config/nvptx/thread-stacksize.h: Move ...
4136 * config/accel/thread-stacksize.h: ... to here.
4137
4138 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
4139 Tobias Burnus <tobias@codesourcery.com>
4140 Frederik Harwath <frederik@codesourcery.com>
4141 Thomas Schwinge <thomas@codesourcery.com>
4142
4143 libgomp/
4144 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
4145 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
4146 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
4147
4148 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
4149 Kwok Cheung Yeung <kcy@codesourcery.com>
4150
4151 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
4152 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
4153
4154 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
4155
4156 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
4157
4158 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
4159 run'.
4160 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4161 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
4162
4163 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
4164
4165 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4166 Add expected warnings about missing reduction clauses.
4167 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4168 Likewise.
4169 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
4170 Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4172 Likewise.
4173
4174 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
4175
4176 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
4177 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
4178 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
4179 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4180 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4181 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4182
4183 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
4184
4185 PR fortran/92305
4186 * testsuite/libgomp.fortran/allocatable2.f90: Use
4187 unique numbers with 'stop'.
4188 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4189 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4190 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
4191 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
4192 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
4193
4194 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
4195
4196 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
4197 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
4198 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4199 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
4200 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
4201 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
4202
4203 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4204
4205 * testsuite/libgomp.fortran/target9.f90: New.
4206
4207 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4208
4209 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
4210 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
4211 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
4212 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
4213 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
4214 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
4215 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
4216 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
4217 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
4218 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
4219 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
4220 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
4221 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
4222 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
4223 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
4224 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
4225 * testsuite/libgomp.fortran/associate1.f90: Ditto.
4226 * testsuite/libgomp.fortran/associate2.f90: Ditto.
4227 * testsuite/libgomp.fortran/associate3.f90: Ditto.
4228 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
4229 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
4230 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
4231 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
4232 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
4233 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
4234 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
4235 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
4236 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
4237 * testsuite/libgomp.fortran/character1.f90: Ditto.
4238 * testsuite/libgomp.fortran/character2.f90: Ditto.
4239 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
4240 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
4241 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
4242 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
4243 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
4244 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
4245 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
4246 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
4247 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
4248 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
4249 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
4250 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
4251 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
4252 * testsuite/libgomp.fortran/do1.f90: Ditto.
4253 * testsuite/libgomp.fortran/do2.f90: Ditto.
4254 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
4255 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
4256 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
4257 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
4258 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
4259 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
4260 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
4261 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
4262 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
4263 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
4264 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
4265 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
4266 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
4267 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
4268 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
4269 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
4270 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
4271 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
4272 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
4273 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
4274 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
4275 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
4276 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
4277 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
4278 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
4279 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
4280 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
4281 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
4282 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
4283 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
4284 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
4285 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
4286 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
4287 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
4288 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
4289 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
4290 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
4291 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
4292 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
4293 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
4294 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
4295 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
4296 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
4297 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
4298 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
4299 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
4300 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
4301 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
4302 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
4303 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4304 * testsuite/libgomp.fortran/lib1.f90: Ditto.
4305 * testsuite/libgomp.fortran/lib4.f90: Ditto.
4306 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
4307 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
4308 * testsuite/libgomp.fortran/nested1.f90: Ditto.
4309 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
4310 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
4311 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
4312 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4313 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
4314 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
4315 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4316 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
4317 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
4318 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
4319 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
4320 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
4321 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
4322 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
4323 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4324 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
4325 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4326 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
4327 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
4328 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
4329 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
4330 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
4331 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
4332 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
4333 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4334 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
4335 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
4336 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
4337 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
4338 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
4339 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4340 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
4341 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
4342 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
4343 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
4344 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4345 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
4346 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
4347 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
4348 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
4349 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
4350 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
4351 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
4352 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
4353 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
4354 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
4355 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
4356 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
4357 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
4358 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
4359 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
4360 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
4361 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
4362 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
4363 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
4364 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
4365 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4366 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
4367 * testsuite/libgomp.fortran/reference1.f90: Ditto.
4368 * testsuite/libgomp.fortran/reference2.f90: Ditto.
4369 * testsuite/libgomp.fortran/retval1.f90: Ditto.
4370 * testsuite/libgomp.fortran/retval2.f90: Ditto.
4371 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
4372 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
4373 * testsuite/libgomp.fortran/simd1.f90: Ditto.
4374 * testsuite/libgomp.fortran/simd2.f90: Ditto.
4375 * testsuite/libgomp.fortran/simd3.f90: Ditto.
4376 * testsuite/libgomp.fortran/simd4.f90: Ditto.
4377 * testsuite/libgomp.fortran/simd5.f90: Ditto.
4378 * testsuite/libgomp.fortran/simd6.f90: Ditto.
4379 * testsuite/libgomp.fortran/simd7.f90: Ditto.
4380 * testsuite/libgomp.fortran/stack.f90: Ditto.
4381 * testsuite/libgomp.fortran/strassen.f90: Ditto.
4382 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
4383 * testsuite/libgomp.fortran/tabs2.f: Ditto.
4384 * testsuite/libgomp.fortran/target1.f90: Ditto.
4385 * testsuite/libgomp.fortran/target2.f90: Ditto.
4386 * testsuite/libgomp.fortran/target3.f90: Ditto.
4387 * testsuite/libgomp.fortran/target4.f90: Ditto.
4388 * testsuite/libgomp.fortran/target5.f90: Ditto.
4389 * testsuite/libgomp.fortran/target6.f90: Ditto.
4390 * testsuite/libgomp.fortran/target7.f90: Ditto.
4391 * testsuite/libgomp.fortran/target8.f90: Ditto.
4392 * testsuite/libgomp.fortran/task1.f90: Ditto.
4393 * testsuite/libgomp.fortran/task2.f90: Ditto.
4394 * testsuite/libgomp.fortran/task3.f90: Ditto.
4395 * testsuite/libgomp.fortran/task4.f90: Ditto.
4396 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4397 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4398 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4399 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4400 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4401 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
4402 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
4403 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
4404 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
4405 * testsuite/libgomp.fortran/udr1.f90: Ditto.
4406 * testsuite/libgomp.fortran/udr10.f90: Ditto.
4407 * testsuite/libgomp.fortran/udr11.f90: Ditto.
4408 * testsuite/libgomp.fortran/udr12.f90: Ditto.
4409 * testsuite/libgomp.fortran/udr13.f90: Ditto.
4410 * testsuite/libgomp.fortran/udr14.f90: Ditto.
4411 * testsuite/libgomp.fortran/udr15.f90: Ditto.
4412 * testsuite/libgomp.fortran/udr2.f90: Ditto.
4413 * testsuite/libgomp.fortran/udr3.f90: Ditto.
4414 * testsuite/libgomp.fortran/udr4.f90: Ditto.
4415 * testsuite/libgomp.fortran/udr5.f90: Ditto.
4416 * testsuite/libgomp.fortran/udr6.f90: Ditto.
4417 * testsuite/libgomp.fortran/udr7.f90: Ditto.
4418 * testsuite/libgomp.fortran/udr8.f90: Ditto.
4419 * testsuite/libgomp.fortran/udr9.f90: Ditto.
4420 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4421 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4422 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4423 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4424 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4425 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4426 * testsuite/libgomp.fortran/vla7.f90: Ditto.
4427 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4428 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4429 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4430
4431 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4432
4433 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
4434 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
4435 Ditto; add 'dg-do run' for torture testing.
4436 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
4437 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4438 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4439 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4440 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4441 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4442 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
4443 * testsuite/libgomp.fortran/task2.f90: Ditto.
4444 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4445 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4446 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4447 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4448 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4449 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4450
4451 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
4452
4453 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
4454 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
4455 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
4456 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
4457 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
4458 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
4459 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
4460 Use 'stop' not abort().
4461 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
4462 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
4463 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
4464 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
4465 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
4466 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
4467 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
4468 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
4469 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
4470 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
4471 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
4472 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
4473 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
4474 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
4475 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
4476 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
4477 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4478 Ditto.
4479 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4480 Ditto.
4481 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4482 Ditto.
4483 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4484 Ditto.
4485 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4486 Ditto.
4487 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
4488 Ditto.
4489 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
4490 Ditto.
4491 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
4492 Ditto.
4493 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
4494 Ditto.
4495 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
4496 Ditto.
4497 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
4498 Ditto.
4499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
4500 Ditto.
4501 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
4502 Ditto.
4503 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
4504 Ditto.
4505 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
4506 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
4507 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
4508 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
4509 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4510 Likewise and also add 'dg-do run'.
4511 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4512 Ditto.
4513
4514 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
4515 Tobias Burnus <tobias@codesourcery.com>
4516
4517 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
4518 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
4519 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
4520
4521 2019-10-14 Jakub Jelinek <jakub@redhat.com>
4522
4523 PR libgomp/92081
4524 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
4525 than 0.
4526
4527 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
4528
4529 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
4530 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
4531
4532 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
4533
4534 PR middle-end/92036
4535 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
4536 file.
4537
4538 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
4539
4540 PR testsuite/91884
4541 * testsuite/libgomp.fortran/fortran.exp: Conditionally
4542 add -lquadmath.
4543 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
4544
4545 2019-10-09 Jakub Jelinek <jakub@redhat.com>
4546
4547 PR libgomp/92028
4548 * target.c (gomp_map_vars_internal): Readd the previous
4549 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
4550 though do that just in the !not_found_cnt case.
4551
4552 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
4553
4554 * gfortran.dg/gomp/target-simd.f90: New.
4555
4556 2019-10-02 Julian Brown <julian@codesourcery.com>
4557 Cesar Philippidis <cesar@codesourcery.com>
4558
4559 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
4560 * target.c (FIELD_TGT_EMPTY): Define.
4561 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
4562 as switch instead of list of ifs.
4563 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
4564
4565 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
4566
4567 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
4568 include. Replace alloca () with __builtin_alloca ().
4569 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
4570
4571 2019-10-01 Jakub Jelinek <jakub@redhat.com>
4572
4573 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
4574 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
4575 * oacc-parallel.c: Don't include "libgomp_g.h".
4576 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
4577 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
4578 * aclocal.m4: Regenerated.
4579 * config.h.in: Regenerated.
4580 * configure: Regenerated.
4581 * Makefile.in: Regenerated.
4582
4583 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4584
4585 * libgomp_g.h: Include stdint.h instead of gstdint.h.
4586
4587 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
4588
4589 * configure: Regenerate.
4590
4591 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
4592
4593 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
4594 string is initialized.
4595
4596 2019-09-06 Florian Weimer <fweimer@redhat.com>
4597
4598 * configure: Regenerate.
4599
4600 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
4601
4602 PR other/79543
4603 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
4604 scanning to conform to the GNU Coding Standards.
4605 * configure: Regenerate.
4606
4607 2019-08-28 Jakub Jelinek <jakub@redhat.com>
4608
4609 PR libgomp/91530
4610 * testsuite/libgomp.c/scan-21.c: New test.
4611 * testsuite/libgomp.c/scan-22.c: New test.
4612
4613 2019-08-27 Jakub Jelinek <jakub@redhat.com>
4614
4615 PR libgomp/91530
4616 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
4617 targets.
4618 * testsuite/libgomp.c/scan-12.c: Likewise.
4619 * testsuite/libgomp.c/scan-13.c: Likewise.
4620 * testsuite/libgomp.c/scan-14.c: Likewise.
4621 * testsuite/libgomp.c/scan-15.c: Likewise.
4622 * testsuite/libgomp.c/scan-16.c: Likewise.
4623 * testsuite/libgomp.c/scan-17.c: Likewise.
4624 * testsuite/libgomp.c/scan-18.c: Likewise.
4625 * testsuite/libgomp.c/scan-19.c: Likewise.
4626 * testsuite/libgomp.c/scan-20.c: Likewise.
4627 * testsuite/libgomp.c++/scan-9.C: Likewise.
4628 * testsuite/libgomp.c++/scan-10.C: Likewise.
4629 * testsuite/libgomp.c++/scan-11.C: Likewise.
4630 * testsuite/libgomp.c++/scan-12.C: Likewise.
4631 * testsuite/libgomp.c++/scan-14.C: Likewise.
4632 * testsuite/libgomp.c++/scan-15.C: Likewise.
4633 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
4634 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
4635 * testsuite/libgomp.c++/scan-16.C: Likewise.
4636
4637 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
4638
4639 PR fortran/91473
4640 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
4641 -std=legacy so invalid code in the test case is accepted.
4642
4643 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4644
4645 PR fortran/91422
4646 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
4647 dimension.
4648
4649 2019-08-08 Jakub Jelinek <jakub@redhat.com>
4650
4651 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
4652 perform the lookup in the first loop only if !not_found_cnt, otherwise
4653 perform lookups for it in the second loop guarded with
4654 if (not_found_cnt || has_firstprivate).
4655 * testsuite/libgomp.c/target-37.c: New test.
4656 * testsuite/libgomp.c++/target-22.C: New test.
4657
4658 2019-08-07 Jakub Jelinek <jakub@redhat.com>
4659
4660 * testsuite/libgomp.c/target-18.c (struct S): New type.
4661 (foo): Use use_device_addr clause instead of use_device_ptr clause
4662 where required by OpenMP 5.0, add further tests for both use_device_ptr
4663 and use_device_addr clauses.
4664 * testsuite/libgomp.c++/target-9.C (struct S): New type.
4665 (foo): Use use_device_addr clause instead of use_device_ptr clause
4666 where required by OpenMP 5.0, add further tests for both use_device_ptr
4667 and use_device_addr clauses. Add t and u arguments.
4668 (main): Adjust caller.
4669
4670 2019-08-06 Jakub Jelinek <jakub@redhat.com>
4671
4672 * testsuite/libgomp.c++/loop-13.C: New test.
4673 * testsuite/libgomp.c++/loop-14.C: New test.
4674 * testsuite/libgomp.c++/loop-15.C: New test.
4675
4676 2019-07-31 Jakub Jelinek <jakub@redhat.com>
4677
4678 PR middle-end/91301
4679 * testsuite/libgomp.c++/for-27.C: New test.
4680
4681 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
4682
4683 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
4684 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4685
4686 2019-07-20 Jakub Jelinek <jakub@redhat.com>
4687
4688 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
4689
4690 2019-07-08 Jakub Jelinek <jakub@redhat.com>
4691
4692 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
4693 * testsuite/libgomp.c++/scan-16.C: Likewise.
4694
4695 2019-07-06 Jakub Jelinek <jakub@redhat.com>
4696
4697 * testsuite/libgomp.c/scan-19.c: New test.
4698 * testsuite/libgomp.c/scan-20.c: New test.
4699
4700 * testsuite/libgomp.c/scan-11.c: New test.
4701 * testsuite/libgomp.c/scan-12.c: New test.
4702 * testsuite/libgomp.c/scan-13.c: New test.
4703 * testsuite/libgomp.c/scan-14.c: New test.
4704 * testsuite/libgomp.c/scan-15.c: New test.
4705 * testsuite/libgomp.c/scan-16.c: New test.
4706 * testsuite/libgomp.c/scan-17.c: New test.
4707 * testsuite/libgomp.c/scan-18.c: New test.
4708 * testsuite/libgomp.c++/scan-9.C: New test.
4709 * testsuite/libgomp.c++/scan-10.C: New test.
4710 * testsuite/libgomp.c++/scan-11.C: New test.
4711 * testsuite/libgomp.c++/scan-12.C: New test.
4712 * testsuite/libgomp.c++/scan-13.C: New test.
4713 * testsuite/libgomp.c++/scan-14.C: New test.
4714 * testsuite/libgomp.c++/scan-15.C: New test.
4715 * testsuite/libgomp.c++/scan-16.C: New test.
4716
4717 2019-07-04 Jakub Jelinek <jakub@redhat.com>
4718
4719 * testsuite/libgomp.c/scan-9.c: New test.
4720 * testsuite/libgomp.c/scan-10.c: New test.
4721
4722 2019-07-03 Jakub Jelinek <jakub@redhat.com>
4723
4724 * testsuite/libgomp.c++/scan-1.C: New test.
4725 * testsuite/libgomp.c++/scan-2.C: New test.
4726 * testsuite/libgomp.c++/scan-3.C: New test.
4727 * testsuite/libgomp.c++/scan-4.C: New test.
4728 * testsuite/libgomp.c++/scan-5.C: New test.
4729 * testsuite/libgomp.c++/scan-6.C: New test.
4730 * testsuite/libgomp.c++/scan-7.C: New test.
4731 * testsuite/libgomp.c++/scan-8.C: New test.
4732 * testsuite/libgomp.c/scan-1.c: New test.
4733 * testsuite/libgomp.c/scan-2.c: New test.
4734 * testsuite/libgomp.c/scan-3.c: New test.
4735 * testsuite/libgomp.c/scan-4.c: New test.
4736 * testsuite/libgomp.c/scan-5.c: New test.
4737 * testsuite/libgomp.c/scan-6.c: New test.
4738 * testsuite/libgomp.c/scan-7.c: New test.
4739 * testsuite/libgomp.c/scan-8.c: New test.
4740
4741 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4742
4743 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
4744 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
4745 Likewise.
4746
4747 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
4748 check.
4749
4750 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
4751
4752 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
4753 file.
4754
4755 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4756
4757 PR fortran/90743
4758 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
4759 case.
4760 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
4761 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
4762 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
4763 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
4764
4765 PR testsuite/90861
4766 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
4767
4768 PR middle-end/90862
4769 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
4770
4771 2019-06-16 Tom de Vries <tdevries@suse.de>
4772
4773 PR tree-optimization/89376
4774 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
4775
4776 2019-06-15 Tom de Vries <tdevries@suse.de>
4777
4778 PR tree-optimization/89713
4779 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
4780 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
4781
4782 2019-06-15 Jakub Jelinek <jakub@redhat.com>
4783
4784 PR middle-end/90779
4785 * testsuite/libgomp.c/pr90779.c: New test.
4786 * testsuite/libgomp.fortran/pr90779.f90: New test.
4787
4788 2019-06-15 Tom de Vries <tdevries@suse.de>
4789
4790 PR tree-optimization/90009
4791 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
4792
4793 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
4794
4795 PR tree-optimization/89713
4796 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
4797
4798 2019-06-11 Jakub Jelinek <jakub@redhat.com>
4799
4800 PR target/90811
4801 * testsuite/libgomp.c/pr90811.c: New test.
4802
4803 2019-06-05 Jakub Jelinek <jakub@redhat.com>
4804
4805 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
4806 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
4807
4808 2019-06-04 Jakub Jelinek <jakub@redhat.com>
4809
4810 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
4811 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
4812 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
4813 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
4814
4815 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4816
4817 * configure.ac: Call AX_COUNT_CPUS.
4818 Substitute CPU_COUNT.
4819 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
4820 count fallback.
4821 * aclocal.m4: Regenerate.
4822 * configure: Regenerate.
4823 * Makefile.in, testsuite/Makefile.in: Regenerate.
4824
4825 2019-05-29 Jakub Jelinek <jakub@redhat.com>
4826
4827 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
4828 to ...
4829 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
4830 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
4831 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
4832
4833 2019-05-27 Jakub Jelinek <jakub@redhat.com>
4834
4835 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
4836
4837 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
4838
4839 PR libgomp/90641
4840 * work.c (gomp_init_work_share): Instead of aligning final ordered
4841 value to multiples of long long alignment, align to that the
4842 first part (ordered team ids) and if inline_ordered_team_ids
4843 is not on a long long alignment boundary within the structure,
4844 use __alignof__ (long long) - 1 pad size always.
4845 * loop.c (GOMP_loop_start): Fix *mem computation if
4846 inline_ordered_team_ids is not aligned on long long alignment boundary
4847 within the structure.
4848 * loop-ull.c (GOMP_loop_ull_start): Likewise.
4849 * sections.c (GOMP_sections2_start): Likewise.
4850
4851 2019-05-24 Jakub Jelinek <jakub@redhat.com>
4852
4853 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
4854 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
4855
4856 PR libgomp/90585
4857 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
4858 HAVE_INTTYPES_H is defined.
4859 (print_uint64_t): New typedef.
4860 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
4861 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
4862 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
4863 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
4864 before casting to void *.
4865 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
4866 * oacc-mem.c: Don't include config.h nor stdint.h.
4867 * target.c: Don't include config.h.
4868 * oacc-cuda.c: Likewise.
4869 * oacc-host.c: Don't include stdint.h.
4870
4871 2019-05-20 Jakub Jelinek <jakub@redhat.com>
4872
4873 PR libgomp/90527
4874 * alloc.c (_GNU_SOURCE): Define.
4875
4876 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
4877
4878 * acc_prof.h: New file.
4879 * oacc-profiling.c: Likewise.
4880 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
4881 Add these, respectively.
4882 * Makefile.in: Regenerate.
4883 * env.c (initialize_env): Call goacc_profiling_initialize.
4884 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
4885 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
4886 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
4887 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
4888 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
4889 acc_prof_register, acc_prof_unregister, and acc_register_library.
4890 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
4891 GOMP_PLUGIN_goacc_thread.
4892 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
4893 prof_callbacks_enabled members.
4894 (goacc_prof_enabled, goacc_profiling_initialize)
4895 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
4896 (goacc_profiling_dispatch): Declare.
4897 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
4898 (GOACC_PROFILING_SETUP_P): Define.
4899 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
4900 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
4901 OpenACC Profiling Interface.
4902 * oacc-cuda.c (acc_get_current_cuda_device)
4903 (acc_get_current_cuda_context, acc_get_cuda_stream)
4904 (acc_set_cuda_stream): Likewise.
4905 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
4906 (acc_init, acc_set_device_type, acc_get_device_type)
4907 (acc_get_device_num, goacc_lazy_initialize): Likewise.
4908 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
4909 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
4910 (acc_unmap_data, present_create_copy, delete_copyout)
4911 (update_dev_host): Likewise.
4912 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
4913 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
4914 Likewise.
4915 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
4916 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
4917 Likewise.
4918 * libgomp.texi: Update.
4919 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
4920 file.
4921 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
4922 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4923 Likewise.
4924 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4925 Likewise.
4926 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
4927 Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
4929 Likewise.
4930
4931 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
4932
4933 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
4934 (struct goacc_asyncqueue_list): Likewise.
4935 (goacc_aq): Likewise.
4936 (goacc_aq_list): Likewise.
4937 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
4938 (GOMP_OFFLOAD_openacc_async_test): Remove.
4939 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
4940 (GOMP_OFFLOAD_openacc_async_wait): Remove.
4941 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
4942 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
4943 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
4944 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
4945 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
4946 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
4947 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
4948 (GOMP_OFFLOAD_openacc_async_exec): Declare.
4949 (GOMP_OFFLOAD_openacc_async_construct): Declare.
4950 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
4951 (GOMP_OFFLOAD_openacc_async_test): Declare.
4952 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
4953 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
4954 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
4955 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
4956 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
4957
4958 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
4959 (gomp_acc_insert_pointer): Adjust declaration.
4960 (gomp_copy_host2dev): New declaration.
4961 (gomp_copy_dev2host): Likewise.
4962 (gomp_map_vars_async): Likewise.
4963 (gomp_unmap_tgt): Likewise.
4964 (gomp_unmap_vars_async): Likewise.
4965 (gomp_fini_device): Likewise.
4966
4967 * oacc-async.c (get_goacc_thread): New function.
4968 (get_goacc_thread_device): New function.
4969 (lookup_goacc_asyncqueue): New function.
4970 (get_goacc_asyncqueue): New function.
4971 (acc_async_test): Adjust code to use new async design.
4972 (acc_async_test_all): Likewise.
4973 (acc_wait): Likewise.
4974 (acc_wait_async): Likewise.
4975 (acc_wait_all): Likewise.
4976 (acc_wait_all_async): Likewise.
4977 (goacc_async_free): New function.
4978 (goacc_init_asyncqueues): Likewise.
4979 (goacc_fini_asyncqueues): Likewise.
4980 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
4981 design.
4982 (acc_set_cuda_stream): Likewise.
4983 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
4984 (host_openacc_register_async_cleanup): Remove.
4985 (host_openacc_async_exec): New function.
4986 (host_openacc_async_test): Adjust parameters.
4987 (host_openacc_async_test_all): Remove.
4988 (host_openacc_async_wait): Remove.
4989 (host_openacc_async_wait_async): Remove.
4990 (host_openacc_async_wait_all): Remove.
4991 (host_openacc_async_wait_all_async): Remove.
4992 (host_openacc_async_set_async): Remove.
4993 (host_openacc_async_synchronize): New function.
4994 (host_openacc_async_serialize): New function.
4995 (host_openacc_async_host2dev): New function.
4996 (host_openacc_async_dev2host): New function.
4997 (host_openacc_async_queue_callback): New function.
4998 (host_openacc_async_construct): New function.
4999 (host_openacc_async_destruct): New function.
5000 (struct gomp_device_descr host_dispatch): Remove initialization of old
5001 interface, add initialization of new async sub-struct.
5002 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
5003 (goacc_attach_host_thread_to_device): Remove old async code usage.
5004 * oacc-int.h (goacc_init_asyncqueues): New declaration.
5005 (goacc_fini_asyncqueues): Likewise.
5006 (goacc_async_copyout_unmap_vars): Likewise.
5007 (goacc_async_free): Likewise.
5008 (get_goacc_asyncqueue): Likewise.
5009 (lookup_goacc_asyncqueue): Likewise.
5010 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
5011 design.
5012 (present_create_copy): Adjust code to use new async design.
5013 (delete_copyout): Likewise.
5014 (update_dev_host): Likewise.
5015 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
5016 async design.
5017 (gomp_acc_remove_pointer): Adjust code to use new async design.
5018 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
5019 design.
5020 (GOACC_enter_exit_data): Likewise.
5021 (goacc_wait): Likewise.
5022 (GOACC_update): Likewise.
5023 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
5024 when called, warn as obsolete in comment.
5025 * target.c (goacc_device_copy_async): New function.
5026 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
5027 add goacc_device_copy_async case.
5028 (gomp_copy_dev2host): Likewise.
5029 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
5030 (gomp_map_pointer): Likewise.
5031 (gomp_map_fields_existing): Likewise.
5032 (gomp_map_vars_internal): New always_inline function, renamed from
5033 gomp_map_vars.
5034 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
5035 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
5036 passing goacc_asyncqueue argument.
5037 (gomp_unmap_tgt): Remove static, add attribute_hidden.
5038 (gomp_unref_tgt): New function.
5039 (gomp_unmap_vars_internal): New always_inline function, renamed from
5040 gomp_unmap_vars.
5041 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
5042 (gomp_unmap_vars_async): Implement by calling
5043 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
5044 (gomp_fini_device): New function.
5045 (gomp_exit_data): Adjust gomp_copy_dev2host call.
5046 (gomp_load_plugin_for_device): Remove old interface, adjust to load
5047 new async interface.
5048 (gomp_target_fini): Adjust code to call gomp_fini_device.
5049
5050 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
5051 (struct ptx_stream): Remove.
5052 (struct nvptx_thread): Remove current_stream field.
5053 (cuda_map_create): Remove.
5054 (cuda_map_destroy): Remove.
5055 (map_init): Remove.
5056 (map_fini): Remove.
5057 (map_pop): Remove.
5058 (map_push): Remove.
5059 (struct goacc_asyncqueue): Define.
5060 (struct nvptx_callback): Define.
5061 (struct ptx_free_block): Define.
5062 (struct ptx_device): Remove null_stream, active_streams, async_streams,
5063 stream_lock, and next fields.
5064 (enum ptx_event_type): Remove.
5065 (struct ptx_event): Remove.
5066 (ptx_event_lock): Remove.
5067 (ptx_events): Remove.
5068 (init_streams_for_device): Remove.
5069 (fini_streams_for_device): Remove.
5070 (select_stream_for_async): Remove.
5071 (nvptx_init): Remove ptx_events and ptx_event_lock references.
5072 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
5073 case.
5074 (nvptx_open_device): Add free_blocks initialization, remove
5075 init_streams_for_device call.
5076 (nvptx_close_device): Remove fini_streams_for_device call, add
5077 free_blocks destruct code.
5078 (event_gc): Remove.
5079 (event_add): Remove.
5080 (nvptx_exec): Adjust parameters and code.
5081 (nvptx_free): Likewise.
5082 (nvptx_host2dev): Remove.
5083 (nvptx_dev2host): Remove.
5084 (nvptx_set_async): Remove.
5085 (nvptx_async_test): Remove.
5086 (nvptx_async_test_all): Remove.
5087 (nvptx_wait): Remove.
5088 (nvptx_wait_async): Remove.
5089 (nvptx_wait_all): Remove.
5090 (nvptx_wait_all_async): Remove.
5091 (nvptx_get_cuda_stream): Remove.
5092 (nvptx_set_cuda_stream): Remove.
5093 (GOMP_OFFLOAD_alloc): Adjust code.
5094 (GOMP_OFFLOAD_free): Likewise.
5095 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5096 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
5097 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5098 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5099 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5100 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5101 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5102 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5103 (cuda_free_argmem): New function.
5104 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
5105 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
5106 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
5107 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
5108 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
5109 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
5110 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
5111 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
5112 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
5113 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
5114 (cuda_callback_wrapper): New function.
5115 (cuda_memcpy_sanity_check): New function.
5116 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
5117 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
5118 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
5119 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
5120
5121 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
5122
5123 PR target/87835
5124 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
5125
5126 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
5127
5128 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
5129
5130 2019-03-27 Kevin Buettner <kevinb@redhat.com>
5131
5132 * team.c (gomp_team_start): Initialize pool->threads[0].
5133
5134 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
5135
5136 * testsuite/libgomp.oacc-c++/c++.exp: Specify
5137 "-foffload=$offload_target".
5138 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5139 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5140 * testsuite/lib/libgomp.exp
5141 (check_effective_target_openacc_nvidia_accel_configured): Remove,
5142 as (conceptually) merged into
5143 check_effective_target_openacc_nvidia_accel_selected. Adjust all
5144 users.
5145
5146 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
5147 * testsuite/libgomp-test-support.exp.in: Adjust.
5148 * testsuite/lib/libgomp.exp: Likewise. Don't populate
5149 openacc_device_types_s.
5150 (offload_target_to_openacc_device_type): New proc.
5151 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
5152 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5153 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5154 * Makefile.in: Regenerate.
5155 * configure: Likewise.
5156 * testsuite/Makefile.in: Likewise.
5157
5158 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
5159 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5160 instead of OFFLOAD_TARGETS.
5161 * target.c (gomp_target_init): Adjust.
5162 * testsuite/libgomp-test-support.exp.in: Likewise.
5163 * testsuite/lib/libgomp.exp: Likewise. Populate
5164 openacc_device_types_s instead of offload_targets_s_openacc.
5165 (check_effective_target_openacc_nvidia_accel_selected)
5166 (check_effective_target_openacc_host_selected): Adjust.
5167 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
5168 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5169 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5170 * Makefile.in: Regenerate.
5171 * config.h.in: Likewise.
5172 * configure: Likewise.
5173 * testsuite/Makefile.in: Likewise.
5174
5175 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
5176 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
5177 "offloading: supported, but hardware not accessible".
5178 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5179 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5180
5181 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
5182
5183 PR c/87924
5184 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
5185 goacc_wait().
5186 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
5187 and related adjustment.
5188
5189 2019-01-30 Jakub Jelinek <jakub@redhat.com>
5190
5191 PR c++/88988
5192 * testsuite/libgomp.c++/pr88988.C: New test.
5193
5194 2019-01-28 Jakub Jelinek <jakub@redhat.com>
5195
5196 PR middle-end/89002
5197 * testsuite/libgomp.c/pr89002.c: New test.
5198
5199 2019-01-28 Richard Biener <rguenther@suse.de>
5200
5201 PR testsuite/89064
5202 PR tree-optimization/86865
5203 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
5204
5205 2019-01-24 Tom de Vries <tdevries@suse.de>
5206
5207 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
5208 once instantiated_devices drops to 0.
5209
5210 2019-01-23 Tom de Vries <tdevries@suse.de>
5211
5212 PR target/PR88946
5213 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
5214 cuMemFree.
5215 (nvptx_exec): Don't call map_push if mapnum == 0.
5216 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
5217
5218 2019-01-23 Tom de Vries <tdevries@suse.de>
5219
5220 PR target/88941
5221 PR target/88939
5222 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
5223 (map_fini): Remove "assert (!s->map->active)".
5224 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
5225
5226 2019-01-23 Tom de Vries <tdevries@suse.de>
5227
5228 PR target/87835
5229 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
5230 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
5231
5232 2019-01-15 Tom de Vries <tdevries@suse.de>
5233
5234 PR target/80547
5235 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
5236 New test.
5237
5238 2019-01-12 Tom de Vries <tdevries@suse.de>
5239
5240 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
5241 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
5242 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
5243 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
5244
5245 2019-01-12 Tom de Vries <tdevries@suse.de>
5246
5247 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
5248
5249 2019-01-12 Tom de Vries <tdevries@suse.de>
5250
5251 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
5252 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
5253 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
5254
5255 2019-01-12 Tom de Vries <tdevries@suse.de>
5256
5257 PR target/85486
5258 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
5259 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
5260
5261 2019-01-12 Tom de Vries <tdevries@suse.de>
5262
5263 PR target/85381
5264 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
5265 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
5266
5267 2019-01-12 Tom de Vries <tdevries@suse.de>
5268
5269 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
5270 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
5271 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
5272
5273 2019-01-12 Tom de Vries <tdevries@suse.de>
5274
5275 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
5276 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
5277 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
5278
5279 2019-01-12 Tom de Vries <tdevries@suse.de>
5280
5281 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
5282 resources diagnostic.
5283
5284 2019-01-12 Tom de Vries <tdevries@suse.de>
5285
5286 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
5287 vector length to be 128.
5288 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
5289 length 2097152 to be reduced to 1024 instead of 32.
5290
5291 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
5292 James Norris <jnorris@codesourcery.com>
5293
5294 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
5295 Library Routines", and "Environment Variables".
5296
5297 2019-01-11 Tom de Vries <tdevries@suse.de>
5298
5299 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
5300 num_workers 16.
5301
5302 2019-01-11 Tom de Vries <tdevries@suse.de>
5303
5304 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
5305 -foffload=-w.
5306 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
5307 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
5308 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
5309 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
5310
5311 2019-01-11 Tom de Vries <tdevries@suse.de>
5312
5313 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
5314 test.
5315
5316 2019-01-10 Nathan Sidwell <nathan@acm.org>
5317 Julian Brown <julian@codesourcery.com>
5318
5319 PR lto/71959
5320 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
5321 * testsuite/libgomp.oacc-c++/pr71959.C: New.
5322
5323 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5324
5325 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
5326 and paste code.
5327
5328 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5329
5330 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
5331 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5332 write.
5333
5334 2019-01-09 Tom de Vries <tdevries@suse.de>
5335
5336 PR target/88756
5337 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
5338 #define instead of "const int".
5339 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
5340 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
5341 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
5342 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
5343
5344 2019-01-09 Tom de Vries <tdevries@suse.de>
5345
5346 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
5347 one worker.
5348
5349 2019-01-07 Tom de Vries <tdevries@suse.de>
5350
5351 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
5352 GOMP_OPENACC_DIM argument.
5353
5354 2019-01-03 Tom de Vries <tdevries@suse.de>
5355
5356 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
5357 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
5358
5359 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5360
5361 Update copyright years.
5362
5363 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5364
5365 * libgomp.texi: Bump @copying's copyright year.
5366
5367 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5368
5369 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
5370 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
5371 (GOACC_declare): Redefine the "device" argument to "flags".
5372
5373 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5374 Cesar Philippidis <cesar@codesourcery.com>
5375
5376 * target.c (struct gomp_coalesce_chunk): New structure.
5377 (struct gomp_coalesce_buf): Update the chunks member to use that
5378 type. Adjust all users.
5379
5380 2018-12-19 Tom de Vries <tdevries@suse.de>
5381
5382 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
5383 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
5384 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
5385
5386 2018-12-19 Tom de Vries <tdevries@suse.de>
5387
5388 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
5389 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
5390 gcc/testsuite/gcc.dg/goacc.
5391 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
5392
5393 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5394 Chung-Lin Tang <cltang@codesourcery.com>
5395
5396 * oacc-mem.c (acc_present_or_create): Remove definition and change
5397 to alias of acc_create.
5398 (acc_present_or_copyin): Remove definition and change to alias of
5399 acc_copyin.
5400 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
5401 of acc_present_or_create.
5402 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
5403 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5404 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5405 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5406 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5407 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5408 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5409 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5410 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5411 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5412 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5413 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5414 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5415 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5416 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5417 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5418
5419 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5420
5421 PR libgomp/88495
5422 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
5423 "identical parameters".
5424 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
5425 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
5426
5427 PR libgomp/88484
5428 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
5429 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
5430
5431 PR libgomp/88407
5432 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5433 (nvptx_wait_async): Unseen async-argument is a no-op.
5434 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
5435 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
5436 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5437 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5438 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5439 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
5440 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
5441 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
5442 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
5443
5444 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
5445 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5446
5447 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
5448
5449 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
5450 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5451 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5452
5453 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5454
5455 PR libgomp/88370
5456 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
5457 (acc_set_cuda_stream): Clarify.
5458 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5459 "async_valid_p".
5460 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
5461 acc_async_sync".
5462 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
5463 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
5464 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
5465 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5466
5467 2018-12-14 Tom de Vries <tdevries@suse.de>
5468
5469 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
5470 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
5471 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
5472 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
5473 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
5474
5475 2018-12-13 Tom de Vries <tdevries@suse.de>
5476
5477 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
5478 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
5479 * fortran.c (omp_display_affinity_): ... here.
5480 * libgomp.h (gomp_print_string): Declare.
5481 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
5482 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5483 write.
5484
5485 2018-12-13 Jakub Jelinek <jakub@redhat.com>
5486
5487 PR libgomp/88460
5488 * testsuite/libgomp.c++/for-24.C (results): Include it in
5489 omp declare target region.
5490 (main): Use map (always, tofrom: results) instead of
5491 map (tofrom: results).
5492
5493 2018-12-12 Jakub Jelinek <jakub@redhat.com>
5494
5495 PR fortran/88463
5496 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
5497 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
5498
5499 * testsuite/libgomp.c-c++-common/for-16.c: New test.
5500
5501 2018-12-12 Andreas Schwab <schwab@suse.de>
5502
5503 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
5504 clobbered.
5505
5506 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
5507
5508 PR fortran/88411
5509 * testsuite/libgomp.fortran/async_io_8.f90: New test.
5510
5511 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
5512 Jakub Jelinek <jakub@redhat.com>
5513
5514 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5515 devicep->host2dev_func.
5516
5517 2018-12-08 Jakub Jelinek <jakub@redhat.com>
5518
5519 PR libgomp/87995
5520 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
5521 tls_runtime effective target.
5522 (t): New threadprivate variable.
5523 (main): Set t in threads which execute iterations of the worksharing
5524 loop. Propagate that to the task after the loop and don't abort
5525 if the current taskgroup hasn't been cancelled.
5526
5527 2018-12-02 Jakub Jelinek <jakub@redhat.com>
5528
5529 * testsuite/libgomp.c/task-reduction-3.c: New test.
5530
5531 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
5532
5533 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
5534
5535 PR libgomp/88288
5536 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
5537 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
5538
5539 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
5540
5541 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
5542
5543 2018-10-19 Richard Biener <rguenther@suse.de>
5544
5545 PR tree-optimization/88182
5546 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
5547
5548 2018-11-26 Jakub Jelinek <jakub@redhat.com>
5549
5550 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
5551 (RUNTEST): Don't define.
5552 (RUNTESTDEFAULTFLAGS): Add.
5553 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
5554 (distclean-am): Depend on distclean-DEJAGNU.
5555 (check-am): If -j% option is present in MFLAGS and if
5556 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
5557 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
5558 * testsuite/Makefile.in: Regenerated.
5559
5560 2018-11-26 Richard Biener <rguenther@suse.de>
5561
5562 PR tree-optimization/88182
5563 * testsuite/libgomp.c++/pr88182.C: New testcase.
5564
5565 2018-11-20 Jakub Jelinek <jakub@redhat.com>
5566
5567 PR bootstrap/88106
5568 * config/mingw32/affinity-fmt.c: New file.
5569
5570 2018-11-09 Jakub Jelinek <jakub@redhat.com>
5571
5572 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
5573 (gomp_display_affinity): Use __builtin_choose_expr to handle
5574 properly handle argument having integral, or pointer or some other
5575 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
5576 with uint64_t type instead of %llx and unsigned long long.
5577
5578 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
5579 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
5580
5581 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5582
5583 * affinity.c: Include <string.h>, <stdio.h>.
5584 (gomp_display_affinity_place): Remove cpusetp.
5585 * teams.c: Include <limits.h>.
5586
5587 2018-11-08 Jakub Jelinek <jakub@redhat.com>
5588
5589 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
5590 in_reduction clause for s[0].
5591
5592 * affinity.c (gomp_display_affinity_place): New function.
5593 * affinity-fmt.c: New file.
5594 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
5595 * config/linux/affinity.c (gomp_display_affinity_place): New function.
5596 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
5597 Move these functions to ...
5598 * config/nvptx/teams.c: ... here. New file.
5599 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
5600 New functions.
5601 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
5602 functions.
5603 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
5604 and _aligned_malloc.
5605 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
5606 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
5607 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
5608 gomp_affinity_format_len): New variables.
5609 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
5610 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
5611 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
5612 modifiers. Display (non-default) chunk sizes. Print
5613 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
5614 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
5615 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
5616 * fortran.c: Include stdio.h and string.h.
5617 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
5618 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
5619 (omp_set_affinity_format_, omp_get_affinity_format_,
5620 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
5621 omp_pause_resource_all_): New functions.
5622 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
5623 switch.
5624 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
5625 functions to ...
5626 * teams.c: ... here. New file.
5627 * libgomp_g.h: Include gstdint.h.
5628 (GOMP_loop_nonmonotonic_runtime_start,
5629 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
5630 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
5631 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
5632 GOMP_parallel_loop_nonmonotonic_runtime,
5633 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5634 GOMP_loop_ull_nonmonotonic_runtime_start,
5635 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
5636 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
5637 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5638 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
5639 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
5640 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5641 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5642 GOMP_teams_reg): Declare.
5643 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
5644 gomp_aligned_alloc uses fallback implementation.
5645 (gomp_aligned_alloc, gomp_aligned_free): Declare.
5646 (enum gomp_schedule_type): Add GFS_MONOTONIC.
5647 (struct gomp_doacross_work_share): Add extra field.
5648 (struct gomp_work_share): Add task_reductions field.
5649 (struct gomp_taskgroup): Add workshare and reductions fields.
5650 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
5651 (gomp_thread_handle): New typedef.
5652 (gomp_display_affinity_place, gomp_set_affinity_format,
5653 gomp_display_string, gomp_display_affinity,
5654 gomp_display_affinity_thread): Declare.
5655 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
5656 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
5657 gomp_workshare_task_reduction_register): Declare.
5658 (gomp_team_start): Add taskgroup argument.
5659 (gomp_pause_host): Declare.
5660 (gomp_init_work_share, gomp_work_share_start): Change bool argument
5661 to size_t.
5662 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
5663 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
5664 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
5665 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5666 GOMP_loop_ull_doacross_start,
5667 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5668 GOMP_loop_maybe_nonmonotonic_runtime_next,
5669 GOMP_loop_maybe_nonmonotonic_runtime_start,
5670 GOMP_loop_nonmonotonic_runtime_next,
5671 GOMP_loop_nonmonotonic_runtime_start,
5672 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5673 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5674 GOMP_loop_ull_nonmonotonic_runtime_next,
5675 GOMP_loop_ull_nonmonotonic_runtime_start,
5676 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5677 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
5678 GOMP_taskgroup_reduction_register,
5679 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5680 GOMP_teams_reg and GOMP_taskwait_depend.
5681 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
5682 omp_{capture,display}_affinity{,_}, and
5683 omp_[gs]et_affinity_format{,_}.
5684 * loop.c: Include string.h.
5685 (GOMP_loop_runtime_next): Add ialias.
5686 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5687 (gomp_loop_static_start, gomp_loop_dynamic_start,
5688 gomp_loop_guided_start, gomp_loop_ordered_static_start,
5689 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5690 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5691 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
5692 or gomp_doacross_init callers.
5693 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
5694 GOMP_loop_doacross_start): New functions.
5695 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5696 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
5697 Mask off GFS_MONOTONIC bit.
5698 (GOMP_loop_maybe_nonmonotonic_runtime_next,
5699 GOMP_loop_maybe_nonmonotonic_runtime_start,
5700 GOMP_loop_nonmonotonic_runtime_next,
5701 GOMP_loop_nonmonotonic_runtime_start,
5702 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5703 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
5704 functions.
5705 (gomp_parallel_loop_start): Pass NULL as taskgroup to
5706 gomp_team_start.
5707 * loop_ull.c: Include string.h.
5708 (GOMP_loop_ull_runtime_next): Add ialias.
5709 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5710 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
5711 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
5712 gomp_loop_ull_ordered_dynamic_start,
5713 gomp_loop_ull_ordered_guided_start,
5714 gomp_loop_ull_doacross_static_start,
5715 gomp_loop_ull_doacross_dynamic_start,
5716 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
5717 and gomp_doacross_ull_init callers.
5718 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5719 GOMP_loop_ull_doacross_start): New functions.
5720 (GOMP_loop_ull_runtime_start,
5721 GOMP_loop_ull_ordered_runtime_start,
5722 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
5723 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5724 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5725 GOMP_loop_ull_nonmonotonic_runtime_next,
5726 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
5727 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
5728 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
5729 (omp_pause_resource_t, omp_depend_t): New typedefs.
5730 (enum omp_lock_hint_t): Renamed to ...
5731 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
5732 enumerators using numbers and omp_lock_hint_* as their aliases.
5733 (omp_lock_hint_t): New typedef. Rename to ...
5734 (omp_sync_hint_t): ... this.
5735 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
5736 omp_sync_hint_t instead of omp_lock_hint_t.
5737 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5738 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5739 Declare.
5740 (omp_target_is_present, omp_target_disassociate_ptr):
5741 Change first argument from void * to const void *.
5742 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
5743 from void * to const void *.
5744 (omp_target_associate_ptr): Change first and second arguments from
5745 void * to const void *.
5746 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
5747 omp_pause_hard): New parameters.
5748 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5749 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5750 New interfaces.
5751 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
5752 omp_pause_hard): New parameters.
5753 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5754 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5755 New externals.
5756 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
5757 EXTRA argument. If not needed to prepare array, if extra is 0,
5758 clear ws->doacross, otherwise allocate just doacross structure and
5759 extra payload. If array is needed, allocate also extra payload.
5760 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
5761 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
5762 doacross == NULL.
5763 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
5764 gomp_team_start.
5765 (GOMP_parallel): Likewise. Formatting fix.
5766 (GOMP_parallel_reductions): New function.
5767 (GOMP_cancellation_point): If taskgroup has workshare
5768 flag set, check cancelled of prev taskgroup if any.
5769 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
5770 on prev taskgroup if any.
5771 * sections.c: Include string.h.
5772 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5773 (GOMP_sections_start): Adjust gomp_work_share_start caller.
5774 (GOMP_sections2_start): New function.
5775 (GOMP_parallel_sections_start, GOMP_parallel_sections):
5776 Pass NULL as taskgroup to gomp_team_start.
5777 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
5778 gomp_work_share_start callers.
5779 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
5780 If taskgroup has workshare flag set, check cancelled on prev
5781 taskgroup if any. Guard all cancellation tests with
5782 gomp_cancel_var test.
5783 (omp_target_is_present, omp_target_disassociate_ptr):
5784 Change ptr argument from void * to const void *.
5785 (omp_target_memcpy): Change src argument from void * to const void *.
5786 (omp_target_memcpy_rect): Likewise.
5787 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
5788 instead of char * where needed.
5789 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
5790 from void * to const void *.
5791 (omp_pause_resource, omp_pause_resource_all): New functions.
5792 * task.c (gomp_task_handle_depend): Handle new depend array format
5793 in addition to the old. Handle mutexinoutset kinds the same as
5794 inout for now, handle unspecified kinds.
5795 (gomp_create_target_task): If taskgroup has workshare flag set, check
5796 cancelled on prev taskgroup if any. Guard all cancellation tests with
5797 gomp_cancel_var test. Handle new depend array format count in
5798 addition to the old.
5799 (GOMP_task): Likewise. Adjust function comment.
5800 (gomp_task_run_pre): If taskgroup has workshare flag set, check
5801 cancelled on prev taskgroup if any. Guard all cancellation tests with
5802 gomp_cancel_var test.
5803 (GOMP_taskwait_depend): New function.
5804 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
5805 format in addition to the old. Handle mutexinoutset kinds the same as
5806 inout for now, handle unspecified kinds. Fix a function comment typo.
5807 (gomp_taskgroup_init): New function.
5808 (GOMP_taskgroup_start): Use it.
5809 (gomp_reduction_register, gomp_create_artificial_team,
5810 GOMP_taskgroup_reduction_register,
5811 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5812 gomp_parallel_reduction_register,
5813 gomp_workshare_task_reduction_register,
5814 gomp_workshare_taskgroup_start,
5815 GOMP_workshare_task_reduction_unregister): New functions.
5816 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
5817 check cancelled on prev taskgroup if any. Guard all cancellation
5818 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
5819 by calling GOMP_taskgroup_reduction_register.
5820 * team.c (gomp_thread_attr): Remove comment.
5821 (struct gomp_thread_start_data): Add handle field.
5822 (gomp_thread_start): Call pthread_detach.
5823 (gomp_new_team): Adjust gomp_init_work_share caller.
5824 (gomp_free_pool_helper): Call pthread_detach.
5825 (gomp_team_start): Add taskgroup argument, initialize implicit
5826 tasks' taskgroup field to that. Don't call
5827 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
5828 (gomp_team_end): Determine nesting by thr->ts.level != 0
5829 rather than thr->ts.team != NULL.
5830 (gomp_pause_pool_helper, gomp_pause_host): New functions.
5831 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
5832 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
5833 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
5834 if more than 1 allocate also extra payload at the end of array. Never
5835 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
5836 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
5837 return true instead of ws.
5838 * Makefile.in: Regenerated.
5839 * configure: Regenerated.
5840 * config.h.in: Regenerated.
5841 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
5842 in some cases.
5843 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
5844 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
5845 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
5846 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
5847 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
5848 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
5849 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
5850 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
5851 * testsuite/libgomp.c-c++-common/for-10.c: New test.
5852 * testsuite/libgomp.c-c++-common/for-11.c: New test.
5853 * testsuite/libgomp.c-c++-common/for-12.c: New test.
5854 * testsuite/libgomp.c-c++-common/for-13.c: New test.
5855 * testsuite/libgomp.c-c++-common/for-14.c: New test.
5856 * testsuite/libgomp.c-c++-common/for-15.c: New test.
5857 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
5858 define a different N(test), don't define N(f0) to N(f14), but instead
5859 define N(f20) to N(f34) using != comparisons.
5860 * testsuite/libgomp.c-c++-common/for-7.c: New test.
5861 * testsuite/libgomp.c-c++-common/for-8.c: New test.
5862 * testsuite/libgomp.c-c++-common/for-9.c: New test.
5863 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
5864 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
5865 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
5866 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
5867 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
5868 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
5869 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
5870 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
5871 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
5872 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
5873 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
5874 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
5875 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
5876 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
5877 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
5878 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
5879 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
5880 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
5881 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
5882 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
5883 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
5884 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
5885 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
5886 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
5887 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
5888 * testsuite/libgomp.c++/depend-1.C: New test.
5889 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
5890 * testsuite/libgomp.c++/depobj-1.C: New test.
5891 * testsuite/libgomp.c++/for-16.C: New test.
5892 * testsuite/libgomp.c++/for-21.C: New test.
5893 * testsuite/libgomp.c++/for-22.C: New test.
5894 * testsuite/libgomp.c++/for-23.C: New test.
5895 * testsuite/libgomp.c++/for-24.C: New test.
5896 * testsuite/libgomp.c++/for-25.C: New test.
5897 * testsuite/libgomp.c++/for-26.C: New test.
5898 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
5899 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
5900 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
5901 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
5902 * testsuite/libgomp.c++/task-reduction-10.C: New test.
5903 * testsuite/libgomp.c++/task-reduction-11.C: New test.
5904 * testsuite/libgomp.c++/task-reduction-12.C: New test.
5905 * testsuite/libgomp.c++/task-reduction-13.C: New test.
5906 * testsuite/libgomp.c++/task-reduction-14.C: New test.
5907 * testsuite/libgomp.c++/task-reduction-15.C: New test.
5908 * testsuite/libgomp.c++/task-reduction-16.C: New test.
5909 * testsuite/libgomp.c++/task-reduction-17.C: New test.
5910 * testsuite/libgomp.c++/task-reduction-18.C: New test.
5911 * testsuite/libgomp.c++/task-reduction-19.C: New test.
5912 * testsuite/libgomp.c/task-reduction-1.c: New test.
5913 * testsuite/libgomp.c++/task-reduction-1.C: New test.
5914 * testsuite/libgomp.c/task-reduction-2.c: New test.
5915 * testsuite/libgomp.c++/task-reduction-2.C: New test.
5916 * testsuite/libgomp.c++/task-reduction-3.C: New test.
5917 * testsuite/libgomp.c++/task-reduction-4.C: New test.
5918 * testsuite/libgomp.c++/task-reduction-5.C: New test.
5919 * testsuite/libgomp.c++/task-reduction-6.C: New test.
5920 * testsuite/libgomp.c++/task-reduction-7.C: New test.
5921 * testsuite/libgomp.c++/task-reduction-8.C: New test.
5922 * testsuite/libgomp.c++/task-reduction-9.C: New test.
5923 * testsuite/libgomp.c/teams-1.c: New test.
5924 * testsuite/libgomp.c/teams-2.c: New test.
5925 * testsuite/libgomp.c/thread-limit-4.c: New test.
5926 * testsuite/libgomp.c/thread-limit-5.c: New test.
5927 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
5928
5929 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
5930
5931 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
5932 acc_memcpy_to/from_device functions, now with async parameter.
5933 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
5934 (acc_memcpy_from_device): Likewise.
5935 (acc_memcpy_to_device_async): New API function.
5936 (acc_memcpy_from_device_async): Likewise.
5937 (present_create_copy): Add async parameter and async setting/unsetting.
5938 (acc_create): Adjust present_create_copy call.
5939 (acc_copyin): Likewise.
5940 (acc_present_or_create): Likewise.
5941 (acc_present_or_copyin): Likewise.
5942 (acc_create_async): New API function.
5943 (acc_copyin_async): New API function.
5944 (delete_copyout): Add async parameter and async setting/unsetting.
5945 (acc_delete): Adjust delete_copyout call.
5946 (acc_copyout): Likewise.
5947 (acc_delete_async): New API function.
5948 (acc_copyout_async): Likewise.
5949 (update_dev_host): Add async parameter and async setting/unsetting.
5950 (acc_update_device): Adjust update_dev_host call.
5951 (acc_update_self): Likewise.
5952 (acc_update_device_async): New API function.
5953 (acc_update_self_async): Likewise.
5954 * openacc.h (acc_copyin_async): Declare new API function.
5955 (acc_create_async): Likewise.
5956 (acc_copyout_async): Likewise.
5957 (acc_delete_async): Likewise.
5958 (acc_update_device_async): Likewise.
5959 (acc_update_self_async): Likewise.
5960 (acc_memcpy_to_device_async): Likewise.
5961 (acc_memcpy_from_device_async): Likewise.
5962 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
5963 (acc_copyin_async_64_h): New subroutine.
5964 (acc_copyin_async_array_h): New subroutine.
5965 (acc_create_async_32_h): New subroutine.
5966 (acc_create_async_64_h): New subroutine.
5967 (acc_create_async_array_h): New subroutine.
5968 (acc_copyout_async_32_h): New subroutine.
5969 (acc_copyout_async_64_h): New subroutine.
5970 (acc_copyout_async_array_h): New subroutine.
5971 (acc_delete_async_32_h): New subroutine.
5972 (acc_delete_async_64_h): New subroutine.
5973 (acc_delete_async_array_h): New subroutine.
5974 (acc_update_device_async_32_h): New subroutine.
5975 (acc_update_device_async_64_h): New subroutine.
5976 (acc_update_device_async_array_h): New subroutine.
5977 (acc_update_self_async_32_h): New subroutine.
5978 (acc_update_self_async_64_h): New subroutine.
5979 (acc_update_self_async_array_h): New subroutine.
5980 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
5981 (acc_copyin_async_64_h): New subroutine.
5982 (acc_copyin_async_array_h): New subroutine.
5983 (acc_create_async_32_h): New subroutine.
5984 (acc_create_async_64_h): New subroutine.
5985 (acc_create_async_array_h): New subroutine.
5986 (acc_copyout_async_32_h): New subroutine.
5987 (acc_copyout_async_64_h): New subroutine.
5988 (acc_copyout_async_array_h): New subroutine.
5989 (acc_delete_async_32_h): New subroutine.
5990 (acc_delete_async_64_h): New subroutine.
5991 (acc_delete_async_array_h): New subroutine.
5992 (acc_update_device_async_32_h): New subroutine.
5993 (acc_update_device_async_64_h): New subroutine.
5994 (acc_update_device_async_array_h): New subroutine.
5995 (acc_update_self_async_32_h): New subroutine.
5996 (acc_update_self_async_64_h): New subroutine.
5997 (acc_update_self_async_array_h): New subroutine.
5998 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
5999 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
6000 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
6001 acc_memcpy_to_device_async*, acc_update_device_async*, and
6002 acc_update_self_async* entries.
6003 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
6004 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
6005 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
6006
6007 2018-10-31 Joseph Myers <joseph@codesourcery.com>
6008
6009 PR bootstrap/82856
6010 * Makefile.am: Include multilib.am
6011 (AUTOMAKE_OPTIONS): Add info-in-builddir.
6012 (CLEANFILES): Remove libgomp.info.
6013 * configure.ac: Remove AC_PREREQ.
6014 * testsuite/Makefile.am (RUNTEST): Remove quotes.
6015 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
6016 Regenerate.
6017
6018 2018-10-29 Joseph Myers <joseph@codesourcery.com>
6019 Julian Brown <julian@codesourcery.com>
6020
6021 * testsuite/libgomp.oacc-c++/this.C: New.
6022
6023 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
6024
6025 * plugin/plugin-nvptx.c (struct cuda_map): New.
6026 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
6027 h_tail with (cuda_map *) map.
6028 (cuda_map_create): New function.
6029 (cuda_map_destroy): New function.
6030 (map_init): Update to use a linked list of cuda_map objects.
6031 (map_fini): Likewise.
6032 (map_pop): Likewise.
6033 (map_push): Likewise. Return CUdeviceptr instead of void.
6034 (init_streams_for_device): Remove stales references to ptx_stream
6035 members.
6036 (select_stream_for_async): Likewise.
6037 (nvptx_exec): Update call to map_init.
6038
6039 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
6040 Julian Brown <julian@codesourcery.com>
6041
6042 PR middle-end/86336
6043 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
6044
6045 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
6046 Thomas Koenig <tkoenig@gcc.gnu.org>
6047
6048 PR fortran/25829
6049 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6050 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6051 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6052 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6053 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6054 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6055 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6056
6057 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
6058 Tom de Vries <tdevries@suse.de>
6059
6060 PR target/85590
6061 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
6062 (cuOccupancyMaxPotentialBlockSize): Declare.
6063 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
6064 CUDA_ONE_CALL_MAYBE_NULL.
6065 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
6066 CUoccupancyB2DSize and declare
6067 cuOccupancyMaxPotentialBlockSize.
6068 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
6069 default num_gangs and num_workers when the driver supports it.
6070
6071 2018-08-08 Tom de Vries <tdevries@suse.de>
6072
6073 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
6074 CUDA_ONE_CALL_MAYBE_NULL.
6075 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
6076 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
6077 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
6078 are not found.
6079
6080 2018-08-08 Tom de Vries <tdevries@suse.de>
6081
6082 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
6083 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
6084 present.
6085
6086 2018-08-08 Tom de Vries <tdevries@suse.de>
6087
6088 * plugin/plugin-nvptx.c
6089 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
6090 (nvptx_open_device): Use
6091 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
6092
6093 2018-08-08 Tom de Vries <tdevries@suse.de>
6094
6095 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
6096 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
6097
6098 2018-08-07 Tom de Vries <tdevries@suse.de>
6099
6100 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
6101 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
6102 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
6103 corresponding call in CUDA_ONE_CALL. Add def/undef of
6104 CUDA_ONE_CALL_MAYBE_NULL.
6105 (CUDA_CALL_EXISTS): Define.
6106
6107 2018-08-07 Tom de Vries <tdevries@suse.de>
6108
6109 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
6110 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
6111 corresponding undefs right after.
6112
6113 2018-08-04 Tom de Vries <tdevries@suse.de>
6114
6115 * plugin/configfrag.ac: For --without-cuda-driver, set
6116 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
6117 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
6118 * configure: Regenerate.
6119
6120 2018-08-02 Tom de Vries <tdevries@suse.de>
6121
6122 PR target/86660
6123 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
6124 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
6125 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6126 Same.
6127 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
6128 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
6129 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
6130
6131 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6132 Thomas Schwinge <thomas@codesourcery.com>
6133
6134 * config/nvptx/oacc-parallel.c: Truncate.
6135
6136 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6137 James Norris <jnorris@codesourcery.com>
6138
6139 * plugin/plugin-nvptx.c (struct map): Removed.
6140 (map_init, map_pop): Remove use of struct map.
6141 (map_push): Likewise and change argument list.
6142 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
6143
6144 2018-08-01 Tom de Vries <tdevries@suse.de>
6145
6146 * plugin/cuda-lib.def: New file. Factor out of ...
6147 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
6148 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
6149 using CUDA_CALLS.
6150
6151 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6152
6153 Revert 'AsyncI/O patch committed'.
6154 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6155 Thomas Koenig <tkoenig@gcc.gnu.org>
6156
6157 PR fortran/25829
6158 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6159 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6160 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6161 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6162 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6163 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6164 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6165
6166 2018-07-30 Tom de Vries <tdevries@suse.de>
6167
6168 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
6169 (nvptx_exec): Ensure worker and vector default dims don't exceed
6170 targ_fn->max_threads_per_block.
6171
6172 2018-07-30 Tom de Vries <tdevries@suse.de>
6173
6174 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
6175 (nvptx_open_device): Init default_dims for device.
6176 (nvptx_exec): Use default_dims from device.
6177
6178 2018-07-26 Jakub Jelinek <jakub@redhat.com>
6179
6180 PR testsuite/86660
6181 * testsuite/libgomp.c++/for-15.C (results): Include it in
6182 omp declare target region.
6183 (main): Use map (always, tofrom: results) instead of
6184 map (tofrom: results).
6185
6186 PR middle-end/86660
6187 * testsuite/libgomp.c/pr86660.c: New test.
6188
6189 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6190 Tom de Vries <tdevries@suse.de>
6191
6192 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
6193 sufficient resources to launch a kernel, and give a hint on how to fix
6194 it.
6195
6196 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6197 Tom de Vries <tdevries@suse.de>
6198
6199 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
6200 max_threads_per_block and max_threads_per_multiprocessor fields.
6201 (nvptx_open_device): Initialize new fields.
6202 (nvptx_exec): Use num_sms, and new fields.
6203
6204 2018-07-26 Tom de Vries <tdevries@suse.de>
6205
6206 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
6207 to correct locations. Remove xfail.
6208
6209 2018-07-26 Tom de Vries <tdevries@suse.de>
6210
6211 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
6212 acc_wait. Move acc_async_test calls to correct locations. Remove
6213 xfail.
6214
6215 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6216 Thomas Koenig <tkoenig@gcc.gnu.org>
6217
6218 PR fortran/25829
6219 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6220 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6221 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6222 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6223 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6224 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6225 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6226
6227 2018-07-17 Jakub Jelinek <jakub@redhat.com>
6228
6229 PR middle-end/86542
6230 * testsuite/libgomp.c++/pr86542.C: New test.
6231
6232 PR middle-end/86539
6233 * testsuite/libgomp.c++/pr86539.C: New test.
6234
6235 2018-07-11 Jakub Jelinek <jakub@redhat.com>
6236
6237 PR c++/86443
6238 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
6239 (results): Make sure the variable is not inside declare target region.
6240 (qux): Remove unused function.
6241
6242 2018-07-10 Jakub Jelinek <jakub@redhat.com>
6243
6244 PR c++/86443
6245 * testsuite/libgomp.c++/for-15.C: New test.
6246
6247 2018-06-26 Jakub Jelinek <jakub@redhat.com>
6248
6249 PR c++/86291
6250 * testsuite/libgomp.c++/pr86291.C: New test.
6251
6252 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
6253
6254 * libgomp.texi (Top): Move www.openmp.org to https.
6255 (Enabling OpenMP): Ditto.
6256 (omp_get_active_level): Ditto.
6257 (omp_get_ancestor_thread_num): Ditto.
6258 (omp_get_cancellation): Ditto.
6259 (omp_get_default_device): Ditto.
6260 (omp_get_dynamic): Ditto.
6261 (omp_get_level): Ditto.
6262 (omp_get_max_active_levels): Ditto.
6263 (omp_get_max_task_priority): Ditto.
6264 (omp_get_max_threads): Ditto.
6265 (omp_get_nested): Ditto.
6266 (omp_get_num_devices): Ditto.
6267 (omp_get_num_procs): Ditto.
6268 (omp_get_num_teams): Ditto.
6269 (omp_get_num_threads): Ditto.
6270 (omp_get_proc_bind): Ditto.
6271 (omp_get_schedule): Ditto.
6272 (omp_get_team_num): Ditto.
6273 (omp_get_team_size): Ditto.
6274 (omp_get_thread_limit): Ditto.
6275 (omp_get_thread_num): Ditto.
6276 (omp_in_parallel): Ditto.
6277 (omp_in_final): Ditto.
6278 (omp_is_initial_device): Ditto.
6279 (omp_set_default_device): Ditto.
6280 (omp_set_dynamic): Ditto.
6281 (omp_set_max_active_levels): Ditto.
6282 (omp_set_nested): Ditto.
6283 (omp_set_num_threads): Ditto.
6284 (omp_set_schedule): Ditto.
6285 (omp_init_lock): Ditto.
6286 (omp_set_lock): Ditto.
6287 (omp_test_lock): Ditto.
6288 (omp_unset_lock): Ditto.
6289 (omp_destroy_lock): Ditto.
6290 (omp_init_nest_lock): Ditto.
6291 (omp_set_nest_lock): Ditto.
6292 (omp_test_nest_lock): Ditto.
6293 (omp_unset_nest_lock): Ditto.
6294 (omp_destroy_nest_lock): Ditto.
6295 (omp_get_wtick): Ditto.
6296 (omp_get_wtime): Ditto.
6297 (OMP_CANCELLATION): Ditto.
6298 (OMP_DISPLAY_ENV): Ditto.
6299 (OMP_DEFAULT_DEVICE): Ditto.
6300 (OMP_DYNAMIC): Ditto.
6301 (OMP_MAX_ACTIVE_LEVELS): Ditto.
6302 (OMP_MAX_TASK_PRIORITY): Ditto.
6303 (OMP_NESTED): Ditto.
6304 (OMP_NUM_THREADS): Ditto.
6305 (OMP_PROC_BIND): Ditto.
6306 (OMP_PLACES): Ditto.
6307 (OMP_STACKSIZE): Ditto.
6308 (OMP_SCHEDULE): Ditto.
6309 (OMP_THREAD_LIMIT): Ditto.
6310 (OMP_WAIT_POLICY): Ditto.
6311
6312 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
6313 James Norris <jnorris@codesourcery.com>
6314 Julian Brown <julian@codesourcery.com>
6315 Thomas Schwinge <thomas@codesourcery.com>
6316 Tom de Vries <tom@codesourcery.com>
6317
6318 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
6319 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
6320 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
6321 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
6322 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6323 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6324 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
6325 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6326 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
6327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
6328 Likewise.
6329 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6330 Likewise.
6331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6332 Likewise.
6333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
6334 Likewise.
6335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
6336 Likewise.
6337 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6338 Likewise.
6339 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6340 Likewise.
6341 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6342 Likewise.
6343 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6344 Likewise.
6345 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6346 Likewise.
6347 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6348 Likewise.
6349 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6350 Likewise.
6351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6352 Likewise.
6353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6354 Likewise.
6355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6356 Likewise.
6357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6358 Likewise.
6359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6360 Likewise.
6361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6362 Likewise.
6363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6364 Likewise.
6365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6366 Likewise.
6367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6368 Likewise.
6369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6370 Likewise.
6371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6372 Likewise.
6373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6374 Likewise.
6375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6376 Likewise.
6377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6378 Likewise.
6379 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
6380 Likewise.
6381 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
6382 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
6383 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
6384 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
6385 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
6386 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6387 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6388 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
6389 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6390 Likewise.
6391 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6392 Likewise.
6393 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
6394 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
6395 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
6396 Likewise.
6397 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
6398 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
6399 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6400 Likewise.
6401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6402 Likewise.
6403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6404 Likewise.
6405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6406 Likewise.
6407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6408 Likewise.
6409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6410 Likewise.
6411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6412 Likewise.
6413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6414 Likewise.
6415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6416 Likewise.
6417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6418 Likewise.
6419 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6420 Likewise.
6421 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6422 Likewise.
6423 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6424 Likewise.
6425 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6426 Likewise.
6427 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
6428 Likewise.
6429 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6430 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
6431 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6432 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
6433 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
6434 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
6435 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
6436
6437 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
6438 Thomas Schwinge <thomas@codesourcery.com>
6439 Cesar Philippidis <cesar@codesourcery.com>
6440
6441 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
6442 (gomp_acc_remove_pointer): Update declaration.
6443 (gomp_acc_declare_allocate): Declare.
6444 (gomp_remove_var): Declare.
6445 * libgomp.map (OACC_2.5): Define.
6446 * oacc-mem.c (acc_map_data): Update refcount.
6447 (acc_unmap_data): Likewise.
6448 (present_create_copy): Likewise.
6449 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
6450 (acc_copyin): Likewise.
6451 (FLAG_FINALIZE): Define.
6452 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
6453 (acc_delete_finalize): New function.
6454 (acc_delete_finalize_async): New function.
6455 (acc_copyout_finalize): New function.
6456 (acc_copyout_finalize_async): New function.
6457 (gomp_acc_insert_pointer): Update refcounts.
6458 (gomp_acc_remove_pointer): Return if data is not present on the
6459 accelerator.
6460 * oacc-parallel.c (find_pset): Rename to find_pointer.
6461 (find_pointer): Add support for GOMP_MAP_POINTER.
6462 (handle_ftn_pointers): New function.
6463 (GOACC_parallel_keyed): Update refcounts of variables.
6464 (GOACC_enter_exit_data): Add support for finalized data mappings.
6465 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
6466 of fortran arrays.
6467 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
6468 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
6469 for GOMP_MAP_FORCE_FROM.
6470 * openacc.f90 (module openacc_internal): Add
6471 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
6472 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
6473 acc_copyout_finalize and acc_delete_finalize.
6474 (acc_copyout_finalize_32_h): New subroutine.
6475 (acc_copyout_finalize_64_h): New subroutine.
6476 (acc_copyout_finalize_array_h): New subroutine.
6477 (acc_delete_finalize_32_h): New subroutine.
6478 (acc_delete_finalize_64_h): New subroutine.
6479 (acc_delete_finalize_array_h): New subroutine.
6480 * openacc.h (acc_copyout_finalize): Declare.
6481 (acc_copyout_finalize_async): Declare.
6482 (acc_delete_finalize): Declare.
6483 (acc_delete_finalize_async): Declare.
6484 * openacc_lib.h (acc_copyout_finalize): New interface.
6485 (acc_delete_finalize): New interface.
6486 * target.c (gomp_map_vars): Update dynamic_refcount.
6487 (gomp_remove_var): New function.
6488 (gomp_unmap_vars): Use it.
6489 (gomp_unload_image_from_device): Likewise.
6490 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
6491 case to utilize OpenACC 2.5 data clause semantics.
6492 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6493 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6494 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6495 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6496 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6497 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6498 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6499 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6500 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6501 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6502 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6503 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
6504 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
6505 utilize OpenACC 2.5 data clause semantics.
6506 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6507 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6508 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6509 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6510 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6511 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6512 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6513 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6514 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6515
6516 2018-05-21 Janus Weil <janus@gcc.gnu.org>
6517
6518 PR fortran/85841
6519 PR testsuite/85865
6520 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
6521 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6522 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6523 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6524 * testsuite/libgomp.fortran/task2.f90: Ditto.
6525 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6526 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6527 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6528 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6529 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6530 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6531 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6532 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
6533 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
6534
6535 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
6536
6537 PR c++/85782
6538 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
6539
6540 2018-05-09 Tom de Vries <tom@codesourcery.com>
6541
6542 PR libgomp/82901
6543 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
6544 to GOACC_enter_exit_data.
6545
6546 2018-05-09 Tom de Vries <tom@codesourcery.com>
6547
6548 PR libgomp/83792
6549 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
6550 (async_synchronous_p): New function.
6551 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
6552 async_valid_p.
6553 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6554 async_valid_stream_id_p.
6555 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
6556 * oacc-parallel.c (GOACC_parallel_keyed): Same.
6557
6558 2018-05-07 Tom de Vries <tom@codesourcery.com>
6559
6560 PR testsuite/85677
6561 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
6562 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
6563
6564 2018-05-03 Tom de Vries <tom@codesourcery.com>
6565
6566 PR testsuite/85106
6567 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
6568 extra_tool_flags if it contains an -foffload=-fdump-* flag.
6569 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
6570 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
6571
6572 2018-05-02 Tom de Vries <tom@codesourcery.com>
6573
6574 PR libgomp/85411
6575 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
6576 GOMP_OPENACC_DIM ...
6577 * env.c (parse_gomp_openacc_dim): ... here. New function.
6578 (initialize_env): Call parse_gomp_openacc_dim.
6579 (goacc_default_dims): Define.
6580 * libgomp.h (goacc_default_dims): Declare.
6581 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
6582 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
6583 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
6584 GOMP_PLUGIN_acc_default_dim.
6585 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
6586 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
6587
6588 2018-05-02 Tom de Vries <tom@codesourcery.com>
6589
6590 PR testsuite/83791
6591 * testsuite/libgomp.c++/udr-9.C: Update.
6592 * testsuite/libgomp.c++/atomic-16.C: Remove.
6593 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
6594 * testsuite/libgomp.c++/loop-13.C: Remove.
6595 * testsuite/libgomp.c++/loop-14.C: Remove.
6596 * testsuite/libgomp.c++/loop-15.C: Remove.
6597 * testsuite/libgomp.c++/monotonic-1.C: Remove.
6598 * testsuite/libgomp.c++/monotonic-2.C: Remove.
6599 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
6600 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
6601 * testsuite/libgomp.c++/ordered-1.C: Remove.
6602 * testsuite/libgomp.c++/pr45784.C: Remove.
6603 * testsuite/libgomp.c++/pr64824.C: Remove.
6604 * testsuite/libgomp.c++/pr64868.C: Remove.
6605 * testsuite/libgomp.c++/pr66199-1.C: Remove.
6606 * testsuite/libgomp.c++/pr66199-2.C: Remove.
6607 * testsuite/libgomp.c++/pr66199-3.C: Remove.
6608 * testsuite/libgomp.c++/pr66199-4.C: Remove.
6609 * testsuite/libgomp.c++/pr66199-5.C: Remove.
6610 * testsuite/libgomp.c++/pr66199-6.C: Remove.
6611 * testsuite/libgomp.c++/pr66199-7.C: Remove.
6612 * testsuite/libgomp.c++/pr66199-8.C: Remove.
6613 * testsuite/libgomp.c++/pr66199-9.C: Remove.
6614 * testsuite/libgomp.c++/pr69389.C: Remove.
6615 * testsuite/libgomp.c++/simd10.C: Remove.
6616 * testsuite/libgomp.c++/simd11.C: Remove.
6617 * testsuite/libgomp.c++/simd12.C: Remove.
6618 * testsuite/libgomp.c++/simd13.C: Remove.
6619 * testsuite/libgomp.c++/target-1.C: Remove.
6620 * testsuite/libgomp.c++/target-3.C: Remove.
6621 * testsuite/libgomp.c++/target-4.C: Remove.
6622 * testsuite/libgomp.c++/target-5.C: Remove.
6623 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
6624 * testsuite/libgomp.c++/taskloop-1.C: Remove.
6625 * testsuite/libgomp.c++/taskloop-2.C: Remove.
6626 * testsuite/libgomp.c++/taskloop-3.C: Remove.
6627 * testsuite/libgomp.c++/taskloop-4.C: Remove.
6628 * testsuite/libgomp.c++/udr-9.C: Remove.
6629 * testsuite/libgomp.c++/for-10.C: Remove.
6630 * testsuite/libgomp.c++/for-11.C: Remove.
6631 * testsuite/libgomp.c++/for-12.C: Remove.
6632 * testsuite/libgomp.c++/for-13.C: Remove.
6633 * testsuite/libgomp.c++/for-14.C: Remove.
6634 * testsuite/libgomp.c++/for-9.C: Remove.
6635 * testsuite/libgomp.c/atomic-18.c: Move ...
6636 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
6637 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
6638 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
6639 * testsuite/libgomp.c/loop-13.c: Move ...
6640 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
6641 * testsuite/libgomp.c/loop-14.c: Move ...
6642 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
6643 * testsuite/libgomp.c/loop-15.c: Remove.
6644 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
6645 * testsuite/libgomp.c/monotonic-1.c: Move ...
6646 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
6647 * testsuite/libgomp.c/monotonic-2.c: Move ...
6648 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
6649 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
6650 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
6651 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
6652 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
6653 * testsuite/libgomp.c/ordered-4.c: Move ...
6654 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
6655 * testsuite/libgomp.c/pr45784.c: Move ...
6656 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
6657 * testsuite/libgomp.c/pr64824.c: Move ...
6658 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
6659 * testsuite/libgomp.c/pr64868.c: Move ...
6660 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
6661 * testsuite/libgomp.c/pr66199-1.c: Move ...
6662 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
6663 * testsuite/libgomp.c/pr66199-2.c: Move ...
6664 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
6665 * testsuite/libgomp.c/pr66199-3.c: Move ...
6666 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
6667 * testsuite/libgomp.c/pr66199-4.c: Move ...
6668 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
6669 * testsuite/libgomp.c/pr66199-5.c: Move ...
6670 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
6671 * testsuite/libgomp.c/pr66199-6.c: Move ...
6672 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
6673 * testsuite/libgomp.c/pr66199-7.c: Move ...
6674 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
6675 * testsuite/libgomp.c/pr66199-8.c: Move ...
6676 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
6677 * testsuite/libgomp.c/pr66199-9.c: Move ...
6678 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
6679 * testsuite/libgomp.c/pr69389.c: Move ...
6680 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
6681 * testsuite/libgomp.c/simd-14.c: Move ...
6682 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
6683 * testsuite/libgomp.c/simd-15.c: Move ...
6684 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
6685 * testsuite/libgomp.c/simd-16.c: Move ...
6686 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
6687 * testsuite/libgomp.c/simd-17.c: Move ...
6688 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
6689 * testsuite/libgomp.c/target-1.c: Move ...
6690 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
6691 * testsuite/libgomp.c/target-10.c: Move ...
6692 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
6693 * testsuite/libgomp.c/target-13.c: Move ...
6694 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
6695 * testsuite/libgomp.c/target-2.c: Move ...
6696 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
6697 * testsuite/libgomp.c/taskgroup-1.c: Move ...
6698 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
6699 * testsuite/libgomp.c/taskloop-1.c: Move ...
6700 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
6701 * testsuite/libgomp.c/taskloop-2.c: Move ...
6702 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
6703 * testsuite/libgomp.c/taskloop-3.c: Move ...
6704 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
6705 * testsuite/libgomp.c/taskloop-4.c: Move ...
6706 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
6707 * testsuite/libgomp.c/udr-1.c: Move ...
6708 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
6709 * testsuite/libgomp.c/for-1.c: Move ...
6710 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
6711 * testsuite/libgomp.c/for-1.h: Move ...
6712 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
6713 * testsuite/libgomp.c/for-2.c: Move ...
6714 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
6715 * testsuite/libgomp.c/for-2.h: Move ...
6716 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
6717 * testsuite/libgomp.c/for-3.c: Move ...
6718 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
6719 * testsuite/libgomp.c/for-4.c: Move ...
6720 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
6721 * testsuite/libgomp.c/for-5.c: Move ...
6722 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
6723 * testsuite/libgomp.c/for-6.c: Move ...
6724 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
6725
6726 2018-05-02 Tom de Vries <tom@codesourcery.com>
6727
6728 PR libgomp/82428
6729 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
6730 __builtin_goacc_parlevel_{id,size}.
6731 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
6732 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
6733 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
6734 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
6735 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
6736 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
6737 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
6738 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
6739 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
6740 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
6741 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
6742 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
6743 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
6744 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
6745 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
6746 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
6747 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
6748 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
6749 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
6750 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
6751 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
6752 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
6753 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
6754
6755 2018-05-02 Tom de Vries <tom@codesourcery.com>
6756
6757 PR testsuite/85106
6758 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
6759
6760 2018-05-02 Tom de Vries <tom@codesourcery.com>
6761
6762 PR testsuite/85106
6763 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
6764
6765 2018-04-29 Julian Brown <julian@codesourcery.com>
6766 Tom de Vries <tom@codesourcery.com>
6767
6768 PR testsuite/85527
6769 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
6770 arbitrary order for iterations of atomic subtract check.
6771
6772 2018-04-28 Tom de Vries <tom@codesourcery.com>
6773
6774 PR testsuite/85527
6775 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
6776 atomic capture results obtained in parallel loop to an array, instead of
6777 to a scalar.
6778
6779 2018-04-26 Tom de Vries <tom@codesourcery.com>
6780
6781 PR libgomp/84020
6782 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
6783 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
6784 (process_GOMP_NVPTX_JIT): New function.
6785 (link_ptx): Use process_GOMP_NVPTX_JIT.
6786
6787 2018-04-26 Richard Biener <rguenther@suse.de>
6788 Tom de Vries <tom@codesourcery.com>
6789
6790 PR lto/85422
6791 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
6792
6793 2018-04-26 Tom de Vries <tom@codesourcery.com>
6794
6795 PR target/85519
6796 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
6797 recursion depth from 25 to 23.
6798 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
6799
6800 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
6801
6802 * configure: Regenerated.
6803
6804 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
6805 Tom de Vries <tom@codesourcery.com>
6806
6807 PR target/85445
6808 * testsuite/libgomp.oacc-c++/ref-1.C: New.
6809
6810 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
6811
6812 PR libgomp/85463
6813 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
6814 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
6815 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
6816 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
6817 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
6818 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
6819
6820 PR libfortran/85166
6821 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
6822 abort".
6823 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6824
6825 2018-04-19 Jakub Jelinek <jakub@redhat.com>
6826
6827 * configure: Regenerated.
6828
6829 2018-04-18 David Malcolm <dmalcolm@redhat.com>
6830
6831 PR jit/85384
6832 * configure: Regenerate.
6833
6834 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
6835 Tom de Vries <tom@codesourcery.com>
6836
6837 PR middle-end/84955
6838 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
6839 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
6840
6841 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6842
6843 PR fortran/83064
6844 PR testsuite/85346
6845 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
6846 test from gfortran.dg to here.
6847
6848 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
6849
6850 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
6851 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
6852
6853 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
6854
6855 PR middle-end/84955
6856 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
6857 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
6858
6859 2018-04-05 Tom de Vries <tom@codesourcery.com>
6860
6861 PR target/85204
6862 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
6863
6864 2018-03-26 Tom de Vries <tom@codesourcery.com>
6865
6866 PR tree-optimization/85063
6867 * testsuite/libgomp.c/switch-conversion-2.c: New test.
6868 * testsuite/libgomp.c/switch-conversion.c: New test.
6869 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
6870 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
6871
6872 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
6873
6874 PR fortran/84381
6875 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
6876 call abort by STOP n.
6877 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
6878 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
6879 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
6880 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
6881 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
6882 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
6883 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
6884 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
6885 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
6886 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
6887 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
6888 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
6889 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
6890 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
6891 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
6892 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
6893 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
6894 * testsuite/libgomp.fortran/associate1.f90: Likewise.
6895 * testsuite/libgomp.fortran/associate2.f90: Likewise.
6896 * testsuite/libgomp.fortran/associate3.f90: Likewise.
6897 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
6898 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
6899 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
6900 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
6901 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
6902 * testsuite/libgomp.fortran/character1.f90: Likewise.
6903 * testsuite/libgomp.fortran/character2.f90: Likewise.
6904 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
6905 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
6906 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
6907 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
6908 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
6909 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
6910 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
6911 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
6912 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
6913 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
6914 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
6915 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
6916 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
6917 * testsuite/libgomp.fortran/do1.f90: Likewise.
6918 * testsuite/libgomp.fortran/do2.f90: Likewise.
6919 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
6920 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
6921 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
6922 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
6923 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
6924 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
6925 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
6926 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
6927 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
6928 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
6929 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
6930 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
6931 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
6932 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
6933 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
6934 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
6935 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
6936 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
6937 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
6938 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
6939 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
6940 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
6941 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
6942 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
6943 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
6944 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
6945 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
6946 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
6947 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
6948 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
6949 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
6950 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
6951 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
6952 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
6953 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
6954 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
6955 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
6956 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
6957 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
6958 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
6959 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
6960 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
6961 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
6962 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
6963 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
6964 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
6965 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
6966 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
6967 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
6968 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6969 * testsuite/libgomp.fortran/lib2.f: Likewise.
6970 * testsuite/libgomp.fortran/lib3.f: Likewise.
6971 * testsuite/libgomp.fortran/lib4.f90: Likewise.
6972 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
6973 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
6974 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6975 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
6976 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
6977 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
6978 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
6979 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
6980 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
6981 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
6982 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
6983 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
6984 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
6985 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
6986 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
6987 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
6988 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
6989 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
6990 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
6991 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
6992 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
6993 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
6994 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6995 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
6996 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
6997 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
6998 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
6999 * testsuite/libgomp.fortran/pr25162.f: Likewise.
7000 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
7001 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
7002 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
7003 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
7004 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
7005 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
7006 * testsuite/libgomp.fortran/pr28390.f: Likewise.
7007 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
7008 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
7009 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
7010 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
7011 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
7012 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
7013 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
7014 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
7015 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
7016 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
7017 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
7018 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
7019 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
7020 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
7021 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
7022 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
7023 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
7024 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
7025 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
7026 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
7027 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
7028 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
7029 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
7030 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
7031 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
7032 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7033 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
7034 * testsuite/libgomp.fortran/reference1.f90: Likewise.
7035 * testsuite/libgomp.fortran/reference2.f90: Likewise.
7036 * testsuite/libgomp.fortran/retval1.f90: Likewise.
7037 * testsuite/libgomp.fortran/retval2.f90: Likewise.
7038 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
7039 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
7040 * testsuite/libgomp.fortran/simd1.f90: Likewise.
7041 * testsuite/libgomp.fortran/simd2.f90: Likewise.
7042 * testsuite/libgomp.fortran/simd3.f90: Likewise.
7043 * testsuite/libgomp.fortran/simd4.f90: Likewise.
7044 * testsuite/libgomp.fortran/simd5.f90: Likewise.
7045 * testsuite/libgomp.fortran/simd6.f90: Likewise.
7046 * testsuite/libgomp.fortran/simd7.f90: Likewise.
7047 * testsuite/libgomp.fortran/stack.f90: Likewise.
7048 * testsuite/libgomp.fortran/strassen.f90: Likewise.
7049 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
7050 * testsuite/libgomp.fortran/tabs2.f: Likewise.
7051 * testsuite/libgomp.fortran/target1.f90: Likewise.
7052 * testsuite/libgomp.fortran/target2.f90: Likewise.
7053 * testsuite/libgomp.fortran/target3.f90: Likewise.
7054 * testsuite/libgomp.fortran/target4.f90: Likewise.
7055 * testsuite/libgomp.fortran/target5.f90: Likewise.
7056 * testsuite/libgomp.fortran/target6.f90: Likewise.
7057 * testsuite/libgomp.fortran/target7.f90: Likewise.
7058 * testsuite/libgomp.fortran/target8.f90: Likewise.
7059 * testsuite/libgomp.fortran/task1.f90: Likewise.
7060 * testsuite/libgomp.fortran/task2.f90: Likewise.
7061 * testsuite/libgomp.fortran/task3.f90: Likewise.
7062 * testsuite/libgomp.fortran/task4.f90: Likewise.
7063 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
7064 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
7065 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
7066 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
7067 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
7068 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7069 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7070 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7071 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
7072 * testsuite/libgomp.fortran/udr1.f90: Likewise.
7073 * testsuite/libgomp.fortran/udr10.f90: Likewise.
7074 * testsuite/libgomp.fortran/udr11.f90: Likewise.
7075 * testsuite/libgomp.fortran/udr12.f90: Likewise.
7076 * testsuite/libgomp.fortran/udr13.f90: Likewise.
7077 * testsuite/libgomp.fortran/udr14.f90: Likewise.
7078 * testsuite/libgomp.fortran/udr15.f90: Likewise.
7079 * testsuite/libgomp.fortran/udr2.f90: Likewise.
7080 * testsuite/libgomp.fortran/udr3.f90: Likewise.
7081 * testsuite/libgomp.fortran/udr4.f90: Likewise.
7082 * testsuite/libgomp.fortran/udr5.f90: Likewise.
7083 * testsuite/libgomp.fortran/udr6.f90: Likewise.
7084 * testsuite/libgomp.fortran/udr7.f90: Likewise.
7085 * testsuite/libgomp.fortran/udr8.f90: Likewise.
7086 * testsuite/libgomp.fortran/udr9.f90: Likewise.
7087 * testsuite/libgomp.fortran/vla1.f90: Likewise.
7088 * testsuite/libgomp.fortran/vla2.f90: Likewise.
7089 * testsuite/libgomp.fortran/vla3.f90: Likewise.
7090 * testsuite/libgomp.fortran/vla4.f90: Likewise.
7091 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7092 * testsuite/libgomp.fortran/vla6.f90: Likewise.
7093 * testsuite/libgomp.fortran/vla7.f90: Likewise.
7094 * testsuite/libgomp.fortran/vla8.f90: Likewise.
7095 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
7096 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
7097 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7098 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7099 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7100 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7101 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7102 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7103 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7104 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7105 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7106 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
7107 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7108 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
7109 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7110 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7111 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7112 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7113 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7114 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7115 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7116 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7117 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7118 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
7119 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
7120 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7121 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7122 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7123 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7124 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7125 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7126 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7127 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7128 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7129 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7130 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7131 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7132 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7133 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
7134 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7135 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
7136 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7137 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
7138 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
7139 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
7140 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
7141 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7142 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7143 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7144 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7145 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7146 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7147 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7148 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7149 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7150 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7151 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7152 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7153 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7154 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7155 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7156 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7157 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7158 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7159 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7160 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7161 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
7162 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7163 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
7164 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7165 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
7166 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
7167 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
7168 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
7169 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7170 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7171 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7172 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7173 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7174 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7175 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7176 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7177 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
7178 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
7179 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7180 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7181 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7182 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7183 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
7184 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
7185 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
7186 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7187 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7188 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
7189
7190 2018-03-20 Richard Biener <rguenther@suse.de>
7191
7192 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
7193 parallelizable loop.
7194
7195 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7196
7197 PR target/84148
7198 * configure: Regenerate.
7199
7200 2018-02-16 Jakub Jelinek <jakub@redhat.com>
7201
7202 PR fortran/84418
7203 * libgomp.fortran/pr84418-1.f90: New test.
7204 * libgomp.fortran/pr84418-2.f90: New test.
7205
7206 2018-02-14 Jakub Jelinek <jakub@redhat.com>
7207
7208 PR fortran/84313
7209 * testsuite/libgomp.fortran/threadprivate4.f90: Add
7210 -std=f2003 -fall-intrinsics into dg-additional-options.
7211
7212 2018-02-08 Martin Jambor <mjambor@suse.cz>
7213
7214 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
7215 clonable.
7216
7217 2018-02-08 Martin Jambor <mjambor@suse.cz>
7218
7219 * testsuite/libgomp.hsa.c/staticvar.c: New test.
7220
7221 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7222
7223 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
7224 [__cplusplus]: Declare extern "C".
7225
7226 2018-02-07 Tom de Vries <tom@codesourcery.com>
7227
7228 PR libgomp/84217
7229 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
7230
7231 2018-01-29 Christoph Spiel <cspiel@freenet.de>
7232 Jakub Jelinek <jakub@redhat.com>
7233
7234 PR libgomp/84096
7235 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
7236 instead of omp_lock_t.
7237
7238 2018-01-25 Tom de Vries <tom@codesourcery.com>
7239
7240 PR target/84028
7241 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
7242
7243 2018-01-24 Tom de Vries <tom@codesourcery.com>
7244
7245 PR target/83589
7246 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
7247
7248 2018-01-24 Tom de Vries <tom@codesourcery.com>
7249
7250 PR target/81352
7251 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
7252
7253 2018-01-19 Tom de Vries <tom@codesourcery.com>
7254 Cesar Philippidis <cesar@codesourcery.com>
7255
7256 PR target/83920
7257 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
7258 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
7259
7260 2018-01-03 Jakub Jelinek <jakub@redhat.com>
7261
7262 Update copyright years.
7263
7264 * libgomp.texi: Bump @copying's copyright year.
7265
7266 2017-12-30 Tom de Vries <tom@codesourcery.com>
7267
7268 PR libgomp/83046
7269 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
7270 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
7271
7272 2017-12-27 Tom de Vries <tom@codesourcery.com>
7273
7274 PR c++/83046
7275 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
7276 (test_nonstatic): Fix return type to workaround PR83046.
7277
7278 2017-12-05 Jakub Jelinek <jakub@redhat.com>
7279
7280 PR testsuite/83281
7281 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
7282 j suffix instead of i.
7283 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
7284 Likewise.
7285
7286 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
7287
7288 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
7289 call to acc_wait (1).
7290
7291 2017-11-24 Jakub Jelinek <jakub@redhat.com>
7292
7293 PR fortran/81304
7294 * testsuite/libgomp.fortran/pr81304.f90: New test.
7295
7296 2017-11-23 Jakub Jelinek <jakub@redhat.com>
7297
7298 PR fortran/81841
7299 * libgomp.fortran/pr81841.f90: New test.
7300
7301 2017-11-22 Jakub Jelinek <jakub@redhat.com>
7302
7303 PR libgomp/83106
7304 * target.c (gomp_target_init): Compute lengths just once and
7305 use them in both malloc size and subsequent copying.
7306
7307 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7308
7309 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
7310 * acinclude.m4: Add cet.m4.
7311 * configure: Regenerate.
7312 * Makefile.in: Likewise.
7313 * testsuite/Makefile.in: Likewise.
7314
7315 2017-11-15 Tom de Vries <tom@codesourcery.com>
7316
7317 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
7318 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
7319 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
7320 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
7321 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
7322 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
7323
7324 2017-11-14 Tom de Vries <tom@codesourcery.com>
7325
7326 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
7327 non-nvidia devices.
7328
7329 2017-11-07 Jakub Jelinek <jakub@redhat.com>
7330
7331 PR c++/82835
7332 * testsuite/libgomp.c++/pr82835.C: New test.
7333
7334 2017-11-06 Martin Liska <mliska@suse.cz>
7335
7336 * testsuite/libgomp.c++/loop-2.C: Return a value
7337 for functions with non-void return type, or change type to void,
7338 or add -Wno-return-type for test.
7339 * testsuite/libgomp.c++/loop-4.C: Likewise.
7340 * testsuite/libgomp.c++/parallel-1.C: Likewise.
7341 * testsuite/libgomp.c++/shared-1.C: Likewise.
7342 * testsuite/libgomp.c++/single-1.C: Likewise.
7343 * testsuite/libgomp.c++/single-2.C: Likewise.
7344
7345 2017-10-31 Tom de Vries <tom@codesourcery.com>
7346
7347 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
7348 "do {} while (false)".
7349 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
7350 after HSA_DEBUG call.
7351
7352 2017-10-28 Jakub Jelinek <jakub@redhat.com>
7353
7354 * target.c (struct gomp_coalesce_buf): New type.
7355 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
7356 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
7357 (gomp_copy_host2dev): Add CBUF argument, if copying into
7358 the cached ranges, memcpy into buffer instead of copying
7359 into device.
7360 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
7361 Add CBUF argument, pass it through to other calls.
7362 (gomp_map_vars): Aggregate copies from host to device if small enough
7363 and with small enough gaps in between into memcpy into a buffer and
7364 fewer host to device copies from the buffer.
7365 (gomp_update): Adjust gomp_copy_host2dev caller.
7366
7367 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
7368
7369 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
7370 run" directive.
7371 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7372 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7373 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7374 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7375
7376 2017-10-16 Tom de Vries <tom@codesourcery.com>
7377
7378 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
7379 openacc_nvidia_accel_selected.
7380 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
7381 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
7382 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
7383 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
7384 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
7385 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
7386 openacc_nvidia_accel_selected. Skip for shared memory device.
7387 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
7388 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
7389
7390 2017-10-09 Martin Jambor <mjambor@suse.cz>
7391
7392 PR hsa/82416
7393 * testsuite/libgomp.hsa.c/pr82416.c: New test.
7394
7395 2017-10-07 Tom de Vries <tom@codesourcery.com>
7396
7397 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
7398 Remove acc_device_nvidia references.
7399 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
7400 Same.
7401
7402 2017-10-05 Tom de Vries <tom@codesourcery.com>
7403
7404 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
7405 vector_length(32) clause from acc parallel directive.
7406 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
7407
7408 2017-10-04 Tom de Vries <tom@codesourcery.com>
7409
7410 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
7411 (main): Reduce sum of arr elements. Assert that hres is exactly
7412 representable in 32-bit floating point.
7413 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
7414 (main): Reduce sum of arr elements. Assert that hres and hmres are
7415 exactly representable in 32-bit floating point.
7416 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
7417
7418 2017-09-28 Tom de Vries <tom@codesourcery.com>
7419
7420 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
7421 setting.
7422 * testsuite/libgomp.c++/pr69393.C: Same.
7423 * testsuite/libgomp.c++/taskloop-1.C: Same.
7424 * testsuite/libgomp.c++/taskloop-3.C: Same.
7425 * testsuite/libgomp.c++/taskloop-4.C: Same.
7426 * testsuite/libgomp.c/for-4.c: Same.
7427 * testsuite/libgomp.c/pr66199-3.c: Same.
7428 * testsuite/libgomp.c/pr66199-4.c: Same.
7429 * testsuite/libgomp.c/pr66199-6.c: Same.
7430 * testsuite/libgomp.c/taskloop-1.c: Same.
7431 * testsuite/libgomp.c/taskloop-3.c: Same.
7432 * testsuite/libgomp.c/taskloop-4.c: Same.
7433 * testsuite/libgomp.fortran/aligned1.f03: Same.
7434 * testsuite/libgomp.fortran/condinc1.f: Same.
7435 * testsuite/libgomp.fortran/condinc3.f90: Same.
7436 * testsuite/libgomp.fortran/crayptr1.f90: Same.
7437 * testsuite/libgomp.fortran/crayptr2.f90: Same.
7438 * testsuite/libgomp.fortran/crayptr3.f90: Same.
7439 * testsuite/libgomp.fortran/omp_cond1.f: Same.
7440 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
7441 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
7442 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
7443 * testsuite/libgomp.fortran/recursion1.f90: Same.
7444 * testsuite/libgomp.fortran/target2.f90: Same.
7445 * testsuite/libgomp.fortran/target5.f90: Same.
7446 * testsuite/libgomp.fortran/task3.f90: Same.
7447
7448 2017-09-28 Tom de Vries <tom@codesourcery.com>
7449
7450 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
7451 vector_length(32) clause from acc parallel directive.
7452 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
7453
7454 2017-09-27 Tom de Vries <tom@codesourcery.com>
7455
7456 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
7457 Remove acc_device_nvidia references.
7458
7459 2017-09-16 Tom de Vries <tom@codesourcery.com>
7460
7461 PR c/81875
7462 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
7463
7464 2017-09-14 Tom de Vries <tom@codesourcery.com>
7465
7466 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
7467 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
7468 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
7469 * testsuite/libgomp.c/c.exp: Include test-cases from
7470 libgomp.c-c++-common.
7471 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
7472 files.
7473
7474 2017-09-14 Jakub Jelinek <jakub@redhat.com>
7475
7476 PR c++/81314
7477 * testsuite/libgomp.c++/pr81314.C: New test.
7478
7479 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
7480
7481 * libgomp.texi (Top): www.openacc.org now uses https.
7482 (Enabling OpenACC): Ditto.
7483 (acc_get_num_devices): Ditto.
7484 (acc_set_device_type): Ditto.
7485 (acc_get_device_type): Ditto.
7486 (acc_set_device_num): Ditto.
7487 (acc_get_device_num): Ditto.
7488 (acc_async_test): Ditto.
7489 (acc_async_test_all): Ditto.
7490 (acc_wait): Ditto.
7491 (acc_wait_all): Ditto.
7492 (acc_wait_all_async): Ditto.
7493 (acc_wait_async): Ditto.
7494 (acc_init): Ditto.
7495 (acc_shutdown): Ditto.
7496 (acc_on_device): Ditto.
7497 (acc_malloc): Ditto.
7498 (acc_free): Ditto.
7499 (acc_copyin): Ditto.
7500 (acc_present_or_copyin): Ditto.
7501 (acc_create): Ditto.
7502 (acc_present_or_create): Ditto.
7503 (acc_copyout): Ditto.
7504 (acc_delete): Ditto.
7505 (acc_update_device): Ditto.
7506 (acc_update_self): Ditto.
7507 (acc_map_data): Ditto.
7508 (acc_unmap_data): Ditto.
7509 (acc_deviceptr): Ditto.
7510 (acc_hostptr): Ditto.
7511 (acc_is_present): Ditto.
7512 (acc_memcpy_to_device): Ditto.
7513 (acc_memcpy_from_device): Ditto.
7514 (acc_get_current_cuda_device): Ditto.
7515 (acc_get_current_cuda_context): Ditto.
7516 (acc_get_cuda_stream): Ditto.
7517 (acc_set_cuda_stream): Ditto.
7518 (ACC_DEVICE_TYPE): Ditto.
7519 (ACC_DEVICE_NUM): Ditto.
7520 (OpenACC Library Interoperability): Ditto.
7521
7522 2017-08-09 Jakub Jelinek <jakub@redhat.com>
7523
7524 PR c/81687
7525 * testsuite/libgomp.c/pr81687-1.c: New test.
7526 * testsuite/libgomp.c/pr81687-2.c: New test.
7527
7528 2017-08-07 Jakub Jelinek <jakub@redhat.com>
7529
7530 PR c/69389
7531 * testsuite/libgomp.c/pr69389.c: New test.
7532 * testsuite/libgomp.c++/pr69389.C: New test.
7533
7534 2017-08-07 Tom de Vries <tom@codesourcery.com>
7535
7536 PR middle-end/78266
7537 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
7538 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
7539
7540 2017-07-27 Jakub Jelinek <jakub@redhat.com>
7541
7542 PR c/45784
7543 * testsuite/libgomp.c/pr45784.c: New test.
7544 * testsuite/libgomp.c++/pr45784.C: New test.
7545
7546 2017-07-19 Tom de Vries <tom@codesourcery.com>
7547
7548 * testsuite/libgomp.oacc-c/vec.c: New test.
7549
7550 2017-07-03 Tom de Vries <tom@codesourcery.com>
7551
7552 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
7553
7554 2017-06-27 Tom de Vries <tom@codesourcery.com>
7555
7556 * plugin/plugin-nvptx.c (notify_var): New function.
7557 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
7558
7559 2017-06-27 Tom de Vries <tom@codesourcery.com>
7560
7561 * env.c (parse_unsigned_long_1): Factor out of ...
7562 (parse_unsigned_long): ... here.
7563 (parse_int_1): Factor out of ...
7564 (parse_int): ... here.
7565 (parse_int_secure): New function.
7566 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
7567 * secure_getenv.h: Factor out of ...
7568 * plugin/plugin-hsa.c: ... here.
7569 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
7570
7571 2017-06-21 Jakub Jelinek <jakub@redhat.com>
7572
7573 PR c++/81130
7574 * testsuite/libgomp.c++/pr81130.C: New test.
7575
7576 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7577
7578 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
7579 default args.
7580 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
7581 dg-xfail-run-if default args.
7582
7583 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
7584
7585 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
7586 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7587
7588 2017-05-30 Jakub Jelinek <jakub@redhat.com>
7589
7590 PR libgomp/80822
7591 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
7592 (gomp_affinity_init_level): Use it. Always analyze the core and thread
7593 sibling lists, depending on level just pick up what CPUs to put
7594 together into a place vs. whether add multiple ordered places.
7595
7596 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
7597
7598 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
7599 * libgomp.map (OACC_2.0.1): Add these.
7600 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
7601 for "acc_wait", and "acc_wait_all", respectively.
7602 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
7603 for "acc_wait", and "acc_wait_all", respectively.
7604 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
7605 * libgomp.texi (acc_wait, acc_wait_all): Update.
7606 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
7607 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
7608 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7609
7610 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
7611 acc_present_or_copyin and acc_present_or_create procedures,
7612 respectively.
7613 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
7614 generally different variants of OpenACC Runtime Library functions.
7615 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7616
7617 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
7618 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7619
7620 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
7621 of preprocessor definitions.
7622 * libgomp.h (strong_alias): Guard by "#ifdef
7623 HAVE_ATTRIBUTE_ALIAS".
7624 * oacc-mem.c: Provide "acc_pcreate" as alias for
7625 "acc_present_or_create", and "acc_pcopyin" as alias for
7626 "acc_present_or_copyin".
7627 * libgomp.map: New version "OACC_2.0.1".
7628 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
7629 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
7630 its content into...
7631 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
7632 Extend testing.
7633
7634 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
7635 when disabling nvptx offloading.
7636
7637 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
7638
7639 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
7640 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7641 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7642
7643 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
7644 * testsuite/lib/libgomp.exp
7645 (check_effective_target_openacc_nvidia_accel_configured): New
7646 proc.
7647 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
7648 (check_effective_target_c++): New procs.
7649 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
7650 (check_effective_target_c++): Likewise.
7651
7652 2017-05-22 Jakub Jelinek <jakub@redhat.com>
7653
7654 PR middle-end/80809
7655 * testsuite/libgomp.c/pr80809-2.c: New test.
7656 * testsuite/libgomp.c/pr80809-3.c: New test.
7657
7658 PR middle-end/80809
7659 * testsuite/libgomp.c/pr80809-1.c: New test.
7660
7661 PR middle-end/80853
7662 * testsuite/libgomp.c/pr80853.c: New test.
7663
7664 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
7665
7666 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
7667 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
7668 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7669 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7670 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7671
7672 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
7673 Debug output for failure.
7674
7675 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7676
7677 * testsuite/lib/libgomp.exp: Load scanlang.exp.
7678
7679 2017-04-27 Jakub Jelinek <jakub@redhat.com>
7680
7681 PR bootstrap/80531
7682 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
7683 bootstrap compare failures.
7684
7685 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
7686
7687 * testsuite/libgomp.c/target-36.c: New testcase.
7688
7689 2017-04-13 Jakub Jelinek <jakub@redhat.com>
7690
7691 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
7692 instead of char.
7693
7694 2017-04-11 Jakub Jelinek <jakub@redhat.com>
7695
7696 PR libgomp/80394
7697 * testsuite/libgomp.c/pr80394.c: New test.
7698
7699 2017-04-04 Jakub Jelinek <jakub@redhat.com>
7700
7701 PR libgomp/79876
7702 * config/posix/thread-stacksize.h: New file.
7703 * config/darwin/thread-stacksize.h: New file.
7704 * config/nvptx/thread-stacksize.h: New file.
7705 * env.c: Include thread-stacksize.h.
7706 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
7707 instead of 0. Call pthread_attr_setstacksize even if
7708 GOMP_DEFAULT_STACKSIZE is non-zero.
7709
7710 2017-03-30 Jakub Jelinek <jakub@redhat.com>
7711
7712 * env.c (initialize_env): Initialize stacksize to 0.
7713
7714 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
7715
7716 PR c++/80029
7717 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
7718
7719 2017-03-08 Jakub Jelinek <jakub@redhat.com>
7720
7721 PR c/79940
7722 * testsuite/libgomp.c/pr79940.c: New test.
7723
7724 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7725
7726 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
7727 targets.
7728 Add __float128 options.
7729
7730 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
7731
7732 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
7733 hppa*-*-* dg-skip-if directive.
7734
7735 2017-02-09 Jakub Jelinek <jakub@redhat.com>
7736
7737 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
7738 dg-skip-if directive into a comment.
7739
7740 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
7741 Chung-Lin Tang <cltang@codesourcery.com>
7742
7743 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
7744 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
7745 add additional case.
7746 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
7747 "openacc_nvidia_accel_selected".
7748 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
7749 Add num_workers(8) clause.
7750
7751 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
7752
7753 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
7754 hppa*-*-*.
7755 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
7756 include complex.h on hppa*-*-hpux*.
7757 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
7758
7759 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
7760
7761 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
7762
7763 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
7764 GOMP_OFFLOAD_openacc_exec. Adjust all users.
7765 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
7766 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
7767 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
7768 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
7769 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
7770 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
7771 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
7772 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
7773
7774 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
7775
7776 * libgomp-plugin.h: #include <stdbool.h>.
7777 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
7778 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
7779 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
7780 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
7781 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
7782 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
7783 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
7784 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
7785 (GOMP_OFFLOAD_openacc_register_async_cleanup)
7786 (GOMP_OFFLOAD_openacc_async_test)
7787 (GOMP_OFFLOAD_openacc_async_test_all)
7788 (GOMP_OFFLOAD_openacc_async_wait)
7789 (GOMP_OFFLOAD_openacc_async_wait_async)
7790 (GOMP_OFFLOAD_openacc_async_wait_all)
7791 (GOMP_OFFLOAD_openacc_async_wait_all_async)
7792 (GOMP_OFFLOAD_openacc_async_set_async)
7793 (GOMP_OFFLOAD_openacc_create_thread_data)
7794 (GOMP_OFFLOAD_openacc_destroy_thread_data)
7795 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
7796 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
7797 (GOMP_OFFLOAD_openacc_get_cuda_stream)
7798 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
7799 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
7800 these.
7801 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
7802 (GOMP_OFFLOAD_unload_image): Fix argument types.
7803
7804 2017-01-26 Jakub Jelinek <jakub@redhat.com>
7805
7806 * testsuite/lib/libgomp.exp
7807 (check_effective_target_hsa_offloading_selected_nocache): Fix up
7808 check_compile invocation. Fix up removal of executable. Drop
7809 bogus "2>&1" argument.
7810
7811 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
7812 directive.
7813
7814 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
7815 Martin Jambor <mjambor@suse.cz>
7816
7817 * plugin/hsa.h: Moved to top level include.
7818 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
7819
7820 2017-01-21 Jakub Jelinek <jakub@redhat.com>
7821
7822 PR other/79046
7823 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
7824 of cat to get version from BASE-VER file.
7825 * testsuite/Makefile.in: Regenerated.
7826
7827 2017-01-19 Jakub Jelinek <jakub@redhat.com>
7828
7829 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
7830 for _WIN64.
7831
7832 2017-01-17 Jakub Jelinek <jakub@redhat.com>
7833
7834 * plugin/hsa.h: Add GCC runtime library exception.
7835 * plugin/hsa_ext_finalize.h: Likewise.
7836
7837 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
7838 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
7839 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
7840 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
7841 plugin/include/cuda as include dir and -ldl instead of -lcuda as
7842 library to link ptx plugin against.
7843 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
7844 (CUDA_CALLS): Define.
7845 (cuda_lib, cuda_lib_inited): New variables.
7846 (init_cuda_lib): New function.
7847 (CUDA_CALL_PREFIX): Define.
7848 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
7849 (CUDA_CALL): Use FN instead of (FN).
7850 (CUDA_CALL_NOCHECK): Define.
7851 (cuda_error, fini_streams_for_device, select_stream_for_async,
7852 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
7853 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
7854 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
7855 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
7856 CUDA_CALL_NOCHECK.
7857 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
7858 CUDA_CALL_NOCHECK.
7859 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
7860 Use CUDA_CALL_NOCHECK.
7861 * plugin/cuda/cuda.h: New file.
7862 * config.h.in: Regenerated.
7863 * configure: Regenerated.
7864
7865 PR other/79046
7866 * configure.ac: Add GCC_BASE_VER.
7867 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
7868 get version from BASE-VER file.
7869 * testsuite/Makefile.in: Regenerated.
7870 * configure: Regenerated.
7871 * Makefile.in: Regenerated.
7872
7873 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7874
7875 PR libgomp/60670
7876 * Makefile.am: Make fincludedir multilib-aware.
7877 * Makefile.in: Regenerate.
7878
7879 2017-01-01 Jakub Jelinek <jakub@redhat.com>
7880
7881 Update copyright years.
7882
7883 * libgomp.texi: Bump @copying's copyright year.
7884
7885 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
7886
7887 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
7888 pthread_spinlock_t instead of gomp_mutex_t lock.
7889 (gomp_get_thread_pool): Likewise.
7890 (gomp_release_thread_pool): Likewise.
7891 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
7892 Likewise.
7893
7894 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
7895
7896 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
7897 thread pool in case nthreads == 1.
7898
7899 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
7900
7901 * config/nvptx/env.c: Delete.
7902 * icv.c: Move definitions of ICV variables back ...
7903 * env.c: ...here. Do not compile environment-related functionality if
7904 LIBGOMP_OFFLOADED_ONLY is set.
7905
7906 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
7907
7908 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
7909 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
7910 * configure: Regenerate.
7911 * config.h.in: Likewise.
7912
7913 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
7914
7915 * Makefile.in: Regenerate with automake-1.11.6.
7916 * aclocal.m4: Likewise.
7917 * configure: Likewise.
7918 * testsuite/Makefile.in: Likewise.
7919
7920 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
7921
7922 * config/nvptx/critical.c: Delete to use generic implementation.
7923
7924 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
7925
7926 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
7927 ../../affinity.c as fallback.
7928 * config/nvptx/affinity.c: Delete to use fallback implementation.
7929
7930 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
7931 Jakub Jelinek <jakub@redhat.com>
7932 Dmitry Melnik <dm@ispras.ru>
7933
7934 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
7935 * Makefile.in. Regenerate.
7936 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
7937 (LIBGOMP_USE_PTHREADS): ...here; new define.
7938 * configure: Regenerate.
7939 * config.h.in: Likewise.
7940 * config/posix/affinity.c: Move to...
7941 * affinity.c: ...here (new file). Guard use of Pthreads-specific
7942 interface by LIBGOMP_USE_PTHREADS.
7943 * critical.c: Split out GOMP_atomic_{start,end} into...
7944 * atomic.c: ...here (new file).
7945 * env.c: Split out ICV definitions into...
7946 * icv.c: ...here (new file) and...
7947 * icv-device.c: ...here. New file.
7948 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
7949 (gomp_destroy_lock_30): Ditto.
7950 (gomp_set_lock_30): Ditto.
7951 (gomp_unset_lock_30): Ditto.
7952 (gomp_test_lock_30): Ditto.
7953 (gomp_init_nest_lock_30): Ditto.
7954 (gomp_destroy_nest_lock_30): Ditto.
7955 (gomp_set_nest_lock_30): Ditto.
7956 (gomp_unset_nest_lock_30): Ditto.
7957 (gomp_test_nest_lock_30): Ditto.
7958 * lock.c: New.
7959 * config/nvptx/lock.c: New.
7960 * config/nvptx/bar.c: New.
7961 * config/nvptx/bar.h: New.
7962 * config/nvptx/doacross.h: New.
7963 * config/nvptx/error.c: New.
7964 * config/nvptx/icv-device.c: New.
7965 * config/nvptx/mutex.h: New.
7966 * config/nvptx/pool.h: New.
7967 * config/nvptx/proc.c: New.
7968 * config/nvptx/ptrlock.h: New.
7969 * config/nvptx/sem.h: New.
7970 * config/nvptx/simple-bar.h: New.
7971 * config/nvptx/target.c: New.
7972 * config/nvptx/task.c: New.
7973 * config/nvptx/team.c: New.
7974 * config/nvptx/time.c: New.
7975 * config/posix/simple-bar.h: New.
7976 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
7977 (gomp_num_teams_var): Declare.
7978 (struct gomp_thread_pool): Change threads_dock member to
7979 gomp_simple_barrier_t.
7980 [__nvptx__] (gomp_thread): New implementation.
7981 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
7982 (gomp_thread_destructor): Ditto.
7983 (gomp_init_thread_affinity): Ditto.
7984 * team.c: Guard uses of Pthreads-specific interfaces by
7985 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
7986 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
7987 * config/nvptx/alloc.c: Delete.
7988 * config/nvptx/barrier.c: Ditto.
7989 * config/nvptx/fortran.c: Ditto.
7990 * config/nvptx/iter.c: Ditto.
7991 * config/nvptx/iter_ull.c: Ditto.
7992 * config/nvptx/loop.c: Ditto.
7993 * config/nvptx/loop_ull.c: Ditto.
7994 * config/nvptx/ordered.c: Ditto.
7995 * config/nvptx/parallel.c: Ditto.
7996 * config/nvptx/priority_queue.c: Ditto.
7997 * config/nvptx/sections.c: Ditto.
7998 * config/nvptx/single.c: Ditto.
7999 * config/nvptx/splay-tree.c: Ditto.
8000 * config/nvptx/work.c: Ditto.
8001 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
8002 -foffload=-lgfortran in addition to -lgfortran.
8003 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
8004 * plugin/plugin-nvptx.c: Include <limits.h>.
8005 (struct targ_fn_descriptor): Add new fields.
8006 (struct ptx_device): Ditto. Set them...
8007 (nvptx_open_device): ...here.
8008 (nvptx_adjust_launch_bounds): New.
8009 (nvptx_host2dev): Allow NULL 'nvthd'.
8010 (nvptx_dev2host): Ditto.
8011 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
8012 (link_ptx): Adjust log sizes.
8013 (nvptx_host2dev): Allow NULL 'nvthd'.
8014 (nvptx_dev2host): Ditto.
8015 (nvptx_set_clocktick): New. Use it...
8016 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
8017 fields.
8018 (GOMP_OFFLOAD_dev2dev): New.
8019 (nvptx_adjust_launch_bounds): New.
8020 (nvptx_stacks_size): New.
8021 (nvptx_stacks_alloc): New.
8022 (nvptx_stacks_free): New.
8023 (GOMP_OFFLOAD_run): New.
8024 (GOMP_OFFLOAD_async_run): New (stub).
8025
8026 2016-11-23 Martin Jambor <mjambor@suse.cz>
8027
8028 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
8029 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
8030 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8031
8032 2016-11-23 Martin Liska <mliska@suse.cz>
8033 Martin Jambor <mjambor@suse.cz>
8034
8035 * plugin/hsa.h: New file.
8036 * plugin/hsa_ext_finalize.h: New file.
8037 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
8038 header file unistd.h, and functions secure_getenv, __secure_getenv,
8039 getuid, geteuid, getgid and getegid.
8040 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
8041 -D_GNU_SOURCE.
8042 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
8043 Handle various cases of secure_getenv presence, add an implementation
8044 when we can test effective UID and GID.
8045 (struct hsa_runtime_fn_info): New structure.
8046 (hsa_runtime_fn_info hsa_fns): New variable.
8047 (hsa_runtime_lib): Likewise.
8048 (support_cpu_devices): Likewise.
8049 (init_enviroment_variables): Load newly introduced ENV
8050 variables.
8051 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
8052 (hsa_fatal): Likewise.
8053 (DLSYM_FN): New macro.
8054 (init_hsa_runtime_functions): New function.
8055 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
8056 structure. Depending on environment, also allow CPU devices.
8057 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
8058 (get_kernarg_memory_region): Likewise.
8059 (GOMP_OFFLOAD_init_device): Likewise.
8060 (destroy_hsa_program): Likewise.
8061 (init_basic_kernel_info): New function.
8062 (GOMP_OFFLOAD_load_image): Use it.
8063 (create_and_finalize_hsa_program): Call hsa run-time functions via
8064 hsa_fns structure.
8065 (create_single_kernel_dispatch): Likewise.
8066 (release_kernel_dispatch): Likewise.
8067 (init_single_kernel): Likewise.
8068 (parse_target_attributes): Allow up multiple HSA grid dimensions.
8069 (get_group_size): New function.
8070 (run_kernel): Likewise.
8071 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
8072 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
8073 structure.
8074 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
8075 * testsuite/libgomp-test-support.exp.in: Likewise.
8076 * Makefile.in: Regenerated.
8077 * aclocal.m4: Likewise.
8078 * config.h.in: Likewise.
8079 * configure: Likewise.
8080 * testsuite/Makefile.in: Likewise.
8081
8082 2016-11-15 Martin Jambor <mjambor@suse.cz>
8083 Alexander Monakov <amonakov@ispras.ru>
8084
8085 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
8086 mapping clauses to target constructs.
8087 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
8088
8089 2016-11-15 Matthias Klose <doko@ubuntu.com>
8090
8091 * configure: Regenerate.
8092
8093 2016-11-10 Jakub Jelinek <jakub@redhat.com>
8094
8095 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
8096 * omp_lib.h.in (openmp_version): Likewise.
8097 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
8098 of 201307.
8099 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8100
8101 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
8102 (fib_wrapper): Add map(from: x) clause.
8103 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
8104 (e_53_2): Likewise.
8105 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
8106 (accum): Add map(tmp) clause.
8107 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
8108 (accum): Add map(tofrom: tmp) clause.
8109 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
8110 (gramSchmidt): Likewise.
8111 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
8112 map(tofrom: sum) clause.
8113 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
8114 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
8115 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
8116 only allowed on the loop iterator.
8117 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
8118 * testsuite/libgomp.fortran/taskloop2.f90: New test.
8119 * testsuite/libgomp.fortran/taskloop4.f90: New test.
8120 * testsuite/libgomp.fortran/doacross1.f90: New test.
8121 * testsuite/libgomp.fortran/doacross3.f90: New test.
8122 * testsuite/libgomp.fortran/taskloop1.f90: New test.
8123 * testsuite/libgomp.fortran/taskloop3.f90: New test.
8124 * testsuite/libgomp.fortran/doacross2.f90: New test.
8125 * testsuite/libgomp.c/doacross-1.c (main): Add missing
8126 #pragma omp atomic read.
8127 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8128 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
8129
8130 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
8131 Nathan Sidwell <nathan@acm.org>
8132
8133 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
8134 to determine default geometry.
8135 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
8136 dimension.
8137
8138 2016-11-01 Jakub Jelinek <jakub@redhat.com>
8139
8140 * hashtab.h: Use standard GPLv3 with runtime exception
8141 boilerplate.
8142
8143 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
8144
8145 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
8146 size when allocating new thread.
8147
8148 2016-09-14 Marek Polacek <polacek@redhat.com>
8149
8150 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
8151
8152 2016-08-19 Jakub Jelinek <jakub@redhat.com>
8153
8154 PR fortran/71014
8155 * testsuite/libgomp.fortran/pr71014.f90: New test.
8156
8157 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
8158
8159 PR middle-end/70895
8160 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
8161 firstprivate clauses.
8162 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
8163 copy clauses.
8164 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8165 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8166 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
8167 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8168 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8169 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8170 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8171 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8172 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8173 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8174 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8175 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
8176
8177 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
8178
8179 PR fortran/70598
8180 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
8181
8182 2016-08-08 Jakub Jelinek <jakub@redhat.com>
8183
8184 PR c++/58706
8185 * testsuite/libgomp.c++/pr58706.C: New test.
8186
8187 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
8188
8189 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
8190 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
8191 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8192 Likewise.
8193 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
8194 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
8195 Likewise.
8196 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
8197
8198 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
8199 test, and don't hardcode -O0.
8200
8201 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
8202
8203 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
8204
8205 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
8206
8207 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
8208 test.
8209
8210 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
8211
8212 PR middle-end/71734
8213 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
8214 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
8215
8216 2016-07-01 Jakub Jelinek <jakub@redhat.com>
8217
8218 PR fortran/71717
8219 * testsuite/libgomp.fortran/associate3.f90: New test.
8220
8221 2016-06-17 Jakub Jelinek <jakub@redhat.com>
8222
8223 * testsuite/libgomp.c++/target-21.C: New test.
8224
8225 2016-06-16 Jakub Jelinek <jakub@redhat.com>
8226
8227 * testsuite/libgomp.c++/target-20.C: New test.
8228
8229 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8230 Cesar Philippidis <cesar@codesourcery.com>
8231
8232 PR middle-end/71373
8233 * libgomp.oacc-c/nested-function-1.c: New file.
8234 * libgomp.oacc-c/nested-function-2.c: Likewise.
8235 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8236 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8237 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8238
8239 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8240
8241 PR c/71381
8242 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
8243 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
8244 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
8245
8246 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
8247
8248 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
8249 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
8250
8251 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
8252
8253 PR c/70688
8254 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
8255
8256 2016-05-26 Jakub Jelinek <jakub@redhat.com>
8257
8258 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
8259 instead of invalid schedule(static, 0).
8260 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8261
8262 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8263
8264 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
8265 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
8266 parameter, use to set async stream around call to gomp_unmap_vars,
8267 call gomp_unmap_vars() with 'do_copyfrom' set to true.
8268 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
8269 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
8270 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
8271 (event_add): Add int parameter, initialize 'val' field when
8272 adding new ptx_event struct.
8273 (nvptx_evec): Adjust event_add() call arguments.
8274 (nvptx_host2dev): Likewise.
8275 (nvptx_dev2host): Likewise.
8276 (nvptx_wait_async): Likewise.
8277 (nvptx_wait_all_async): Likewise.
8278 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
8279 pass to event_add() call.
8280 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
8281 parameter.
8282 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
8283 call openacc.register_async_cleanup_func() hook.
8284 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
8285 * target.c (gomp_copy_from_async): Delete function.
8286 (gomp_map_vars): Remove async_refcount.
8287 (gomp_unmap_vars): Likewise.
8288 (gomp_load_image_to_device): Likewise.
8289 (omp_target_associate_ptr): Likewise.
8290 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
8291 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
8292 (gomp_copy_from_async): Remove.
8293
8294 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8295
8296 * target.c (gomp_device_copy): New function.
8297 (gomp_copy_host2dev): Likewise.
8298 (gomp_copy_dev2host): Likewise.
8299 (gomp_free_device_memory): Likewise.
8300 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
8301 (gomp_map_pointer): Likewise.
8302 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
8303 NULL value from alloc_func plugin hook.
8304 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
8305 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
8306 (gomp_unmap_vars): Likewise.
8307 (gomp_update): Adjust to call gomp_copy_dev2host and
8308 gomp_copy_host2dev functions.
8309 (gomp_unload_image_from_device): Handle false value from
8310 unload_image_func plugin hook.
8311 (gomp_init_device): Handle false value from init_device_func
8312 plugin hook.
8313 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
8314 (omp_target_free): Adjust to call gomp_free_device_memory.
8315 (omp_target_memcpy): Handle return values from host2dev_func,
8316 dev2host_func, and dev2dev_func plugin hooks.
8317 (omp_target_memcpy_rect_worker): Likewise.
8318 (gomp_target_fini): Handle false value from fini_device_func
8319 plugin hook.
8320 * libgomp.h (struct gomp_device_descr): Adjust return type of
8321 init_device_func, fini_device_func, unload_image_func, free_func,
8322 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
8323 * oacc-init.c (acc_shutdown_1): Handle false value from
8324 fini_device_func plugin hook.
8325 * oacc-host.c (host_init_device): Change return type to bool.
8326 (host_fini_device): Likewise.
8327 (host_unload_image): Likewise.
8328 (host_free): Likewise.
8329 (host_dev2host): Likewise.
8330 (host_host2dev): Likewise.
8331 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
8332 (acc_memcpy_to_device): Likewise.
8333 (acc_memcpy_from_device): Likewise.
8334 (delete_copyout): Add libfnname parameter, handle free_func
8335 hook fatal error case.
8336 (acc_delete): Adjust delete_copyout call.
8337 (acc_copyout): Likewise.
8338 (update_dev_host): Move gomp_mutex_unlock to after
8339 host2dev/dev2host hook calls.
8340
8341 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
8342 to 'hsa_error_msg', for clarity.
8343 (hsa_fatal): Likewise.
8344 (hsa_error): New function.
8345 (init_hsa_context): Change return type to bool, adjust to return
8346 false on error.
8347 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
8348 return value.
8349 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
8350 return false on error.
8351 (get_agent_info): Adjust to return NULL on error.
8352 (destroy_hsa_program): Change return type to bool, adjust to
8353 return false on error.
8354 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
8355 (destroy_module): Change return type to bool, adjust to
8356 return false on error.
8357 (GOMP_OFFLOAD_unload_image): Likewise.
8358 (GOMP_OFFLOAD_fini_device): Likewise.
8359 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
8360 (GOMP_OFFLOAD_free): Change to return false when called.
8361 (GOMP_OFFLOAD_dev2host): Likewise.
8362 (GOMP_OFFLOAD_host2dev): Likewise.
8363 (GOMP_OFFLOAD_dev2dev): Likewise.
8364
8365 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
8366 (CUDA_CALL): Likewise.
8367 (CUDA_CALL_ASSERT): Likewise.
8368 (map_init): Change return type to bool, use CUDA_CALL* macros.
8369 (map_fini): Likewise.
8370 (init_streams_for_device): Change return type to bool, adjust
8371 call to map_init.
8372 (fini_streams_for_device): Change return type to bool, adjust
8373 call to map_fini.
8374 (select_stream_for_async): Release stream_lock before calls to
8375 GOMP_PLUGIN_fatal, adjust call to map_init.
8376 (nvptx_init): Use CUDA_CALL* macros.
8377 (nvptx_attach_host_thread_to_device): Change return type to bool,
8378 use CUDA_CALL* macros.
8379 (nvptx_open_device): Use CUDA_CALL* macros.
8380 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
8381 macros.
8382 (nvptx_get_num_devices): Use CUDA_CALL* macros.
8383 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
8384 (nvptx_exec): Use CUDA_CALL* macros.
8385 (nvptx_alloc): Use CUDA_CALL* macros.
8386 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
8387 (nvptx_host2dev): Likewise.
8388 (nvptx_dev2host): Likewise.
8389 (nvptx_wait): Use CUDA_CALL* macros.
8390 (nvptx_wait_async): Likewise.
8391 (nvptx_wait_all): Likewise.
8392 (nvptx_wait_all_async): Likewise.
8393 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
8394 use CUDA_CALL* macros, adjust call to map_fini.
8395 (GOMP_OFFLOAD_init_device): Change return type to bool,
8396 adjust code accordingly.
8397 (GOMP_OFFLOAD_fini_device): Likewise.
8398 (GOMP_OFFLOAD_load_image): Adjust calls to
8399 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
8400 use CUDA_CALL* macros.
8401 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
8402 return code.
8403 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
8404 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
8405 handle error return.
8406 (GOMP_OFFLOAD_dev2host): Likewise.
8407 (GOMP_OFFLOAD_host2dev): Likewise.
8408 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
8409 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
8410
8411 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
8412
8413 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
8414 (acc_free): Likewise.
8415 (acc_memcpy_to_device): Likewise.
8416 (acc_memcpy_from_device): Likewise.
8417 (acc_deviceptr): Likewise.
8418 (acc_hostptr): Likewise.
8419 (acc_is_present): Likewise.
8420 (acc_map_data): Likewise.
8421 (acc_unmap_data): Likewise.
8422 (present_create_copy): Likewise.
8423 (delete_copyout): Likewise.
8424 (update_dev_host): Likewise.
8425 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
8426 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
8427 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
8428 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8429 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
8430 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
8431 it only runs on nvptx targets.
8432 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8433 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8434 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8435 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8436 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8437 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8438 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8439 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8440 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8441 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8442 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8443 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8444 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8445 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8446 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8447 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8448 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8449 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8450 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8451 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8452 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8453 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8454 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8455
8456 2016-05-23 Martin Jambor <mjambor@suse.cz>
8457
8458 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
8459
8460 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
8461
8462 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
8463 to gomp_init_targets_once.
8464 (acc_set_device_type): Remove !cached_base_dev condition on call to
8465 gomp_init_targets_once, move call to before acc_device_lock acquire,
8466 to avoid deadlock.
8467 (acc_get_device_num): Remove !cached_base_dev condition on call to
8468 gomp_init_targets_once.
8469 (acc_set_device_num): Likewise.
8470
8471 2016-05-16 Martin Jambor <mjambor@suse.cz>
8472
8473 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
8474
8475 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
8476
8477 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
8478 expected partitioning.
8479
8480 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
8481
8482 PR middle-end/70626
8483 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
8484 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
8485 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
8486
8487 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
8488
8489 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
8490 non-fatal.
8491
8492 2016-04-19 Jakub Jelinek <jakub@redhat.com>
8493
8494 PR middle-end/70680
8495 * testsuite/libgomp.c/pr70680-1.c: New test.
8496 * testsuite/libgomp.c/pr70680-2.c: New test.
8497
8498 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8499
8500 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
8501 pass parameter variables to subroutines.
8502
8503 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8504
8505 PR middle-end/70643
8506 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
8507
8508 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
8509
8510 PR testsuite/68242
8511 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
8512 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8513
8514 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
8515
8516 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
8517 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
8518 GOACC_declare prototype.
8519
8520 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
8521 Merge this file, and...
8522 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
8523 ... this file, and...
8524 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
8525 ... this file, and...
8526 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
8527 ... this file, and...
8528 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
8529 ... this file, and...
8530 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
8531 ... this file, and...
8532 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
8533 ... this file, and...
8534 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
8535 ... this file, and...
8536 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
8537 ... this file, and...
8538 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
8539 ... this file, and...
8540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
8541 ... this file, and...
8542 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
8543 ... this file, and...
8544 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
8545 ... this file into...
8546 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
8547 file.
8548
8549 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8550 Make failure observable.
8551
8552 2016-04-12 Jakub Jelinek <jakub@redhat.com>
8553
8554 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
8555 field.
8556 * target.c (gomp_target_fallback_firstprivate,
8557 gomp_target_unshare_firstprivate): Removed.
8558 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
8559 before waiting for dependencies.
8560 (gomp_target_task_fn): Don't copy firstprivate vars here.
8561 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
8562 firstprivate_copies here.
8563 (gomp_create_target_task): Don't initialize firstprivate_copies field.
8564 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
8565 explicit/implicit firstprivate.
8566
8567 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
8568
8569 PR lto/70289
8570 PR ipa/70348
8571 PR tree-optimization/70373
8572 PR middle-end/70533
8573 PR middle-end/70534
8574 PR middle-end/70535
8575 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
8576 test.
8577 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
8578 test.
8579 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
8580 test.
8581 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
8582 test.
8583 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
8584 test.
8585 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
8586 test.
8587 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
8588 test.
8589 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
8590 test.
8591 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
8592 test.
8593 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
8594 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
8595 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
8596 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
8597 test.
8598 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
8599 test.
8600 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
8601 test.
8602 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
8603 test.
8604 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
8605 coverage.
8606 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8607 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8608 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
8609 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
8610 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
8611 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
8612 coverage.
8613 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8614 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8615 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8616 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8617 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
8618 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
8619 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
8620 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
8621 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
8622 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8623 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8624 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8625 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8626 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8627 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
8628
8629 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
8630 James Norris <jnorris@codesourcery.com>
8631 Nathan Sidwell <nathan@codesourcery.com>
8632 Julian Brown <julian@codesourcery.com>
8633 Cesar Philippidis <cesar@codesourcery.com>
8634 Chung-Lin Tang <cltang@codesourcery.com>
8635 Tom de Vries <tom@codesourcery.com>
8636
8637 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
8638 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8639 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8640 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
8641 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8642 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8643 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8644 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8645 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8646 XFAIL.
8647 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
8648 Incorporate...
8649 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
8650 file.
8651 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
8652 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
8653 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
8654 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
8655 Likewise.
8656 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
8657 Likewise.
8658 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8659 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
8660 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
8661 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
8662 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8663 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8664 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8665 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8666 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8667 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
8668 Likewise.
8669 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
8670 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8671 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
8672 file...
8673 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
8674 file into...
8675 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
8676 file. Update.
8677 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
8678 file.
8679 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
8680 Likewise.
8681 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
8682 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
8683 ... this new file. Update.
8684 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
8685 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
8686 ... this new file. Update.
8687 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
8688 file. Incorporate...
8689 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
8690 file, and...
8691 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
8692 file, and...
8693 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
8694 file.
8695 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
8696
8697 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
8698
8699 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
8700 set-torture-options.
8701
8702 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
8703
8704 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
8705 gcc-dg-runtest.
8706 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8707 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
8708 -fno-builtin-acc_on_device instead of -O0.
8709 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
8710 -O0.
8711 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
8712 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
8713 Likewise.
8714 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
8715 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
8716 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
8717 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8718 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8719 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8720 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
8721 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8722 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8723 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
8724 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
8725 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
8726 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
8727 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
8728 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8729 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8730 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8731 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
8732 Don't specify -O2.
8733 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
8734 Likewise.
8735 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
8736 Likewise.
8737
8738 2016-03-24 Martin Liska <mliska@suse.cz>
8739
8740 * plugin/plugin-hsa.c (packet_store_release): New function
8741 that is taken from the HSA runtime manual.
8742 (GOMP_OFFLOAD_run): Use the function.
8743
8744 2016-03-23 Jakub Jelinek <jakub@redhat.com>
8745
8746 PR c++/70376
8747 * testsuite/libgomp.c++/pr70376.C: New test.
8748
8749 2016-03-23 Tom de Vries <tom@codesourcery.com>
8750
8751 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
8752 initialization of lresult and lvresult.
8753 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
8754
8755 2016-03-23 James Norris <jnorris@codesourcery.com>
8756 Daichi Fukuoka <dc-fukuoka@sgi.com>
8757
8758 PR libgomp/69414
8759 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
8760 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
8761 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8762 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
8763
8764 2016-03-23 Martin Liska <mliska@suse.cz>
8765
8766 PR hsa/70337
8767 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
8768 argument just in case a dispatched kernel uses that argument.
8769
8770 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
8771
8772 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
8773 -ftree-parallelize-loops/-fopenacc changes.
8774 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
8775 Likewise.
8776 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8777 Likewise.
8778 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
8779 Likewise.
8780 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
8781 Likewise.
8782 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8783 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8784
8785 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
8786
8787 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
8788 always_ld_library_path the path to libgcc_s.
8789
8790 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
8791
8792 PR testsuite/70009
8793 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
8794
8795 2016-03-09 Tom de Vries <tom@codesourcery.com>
8796
8797 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
8798 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
8799 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8800 Same.
8801 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
8802 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
8803 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
8804 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
8805
8806 2016-03-07 Martin Jambor <mjambor@suse.cz>
8807
8808 * testsuite/lib/libgomp.exp
8809 (check_effective_target_hsa_offloading_selected_nocache): New.
8810 (check_effective_target_hsa_offloading_selected): Likewise.
8811 * testsuite/libgomp.hsa.c/c.exp: Likewise.
8812 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
8813 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
8814 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
8815 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
8816 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
8817 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
8818 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
8819 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
8820 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
8821 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
8822 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
8823 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
8824 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
8825 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
8826 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
8827 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
8828
8829 2016-03-07 Martin Jambor <mjambor@suse.cz>
8830
8831 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
8832 non-shared memory accelerators.
8833 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
8834 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
8835 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
8836 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
8837 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8838 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8839 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8840 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8841 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8842
8843 2016-03-07 Martin Jambor <mjambor@suse.cz>
8844
8845 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
8846 ALWAYS_CFLAGS.
8847
8848 2016-03-02 Jakub Jelinek <jakub@redhat.com>
8849
8850 PR libgomp/69555
8851 * testsuite/libgomp.c++/pr69555-1.C: New test.
8852 * testsuite/libgomp.c++/pr69555-2.C: New test.
8853
8854 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
8855 Martin Jambor <mjambor@suse.cz>
8856
8857 * testsuite/lib/libgomp.exp
8858 (check_effective_target_offload_device_shared_as): New proc.
8859 * testsuite/libgomp.c++/declare_target-1.C: New test.
8860
8861 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
8862
8863 PR driver/68463
8864 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
8865
8866 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
8867
8868 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
8869 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
8870 dims.
8871 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
8872 -ftree-parallelize-loops/-fopenacc changes.
8873 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
8874 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
8875 Likewise.
8876 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
8877 Likewise.
8878 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
8879 Likewise.
8880 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
8881 Likewise.
8882 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
8883 Likewise.
8884 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
8885 Likewise.
8886 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
8887 Likewise.
8888 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
8889 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
8890 Likewise.
8891 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
8892 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
8893 Likewise.
8894 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
8895 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
8896 Likewise.
8897
8898 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
8899
8900 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
8901
8902 2016-02-19 Jakub Jelinek <jakub@redhat.com>
8903
8904 PR driver/69805
8905 * testsuite/libgomp.c/pr69805.c: New test.
8906
8907 2016-02-16 Tom de Vries <tom@codesourcery.com>
8908
8909 PR lto/67709
8910 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
8911
8912 2016-02-09 Tom de Vries <tom@codesourcery.com>
8913
8914 PR tree-optimization/69599
8915 * testsuite/libgomp.c/omp-nested-3.c: New test.
8916 * testsuite/libgomp.c/pr46032-2.c: New test.
8917 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
8918 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
8919
8920 2016-02-09 Tom de Vries <tom@codesourcery.com>
8921
8922 PR lto/69707
8923 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
8924
8925 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
8926
8927 * testsuite/libgomp.c/target-31.c: Fix testcase.
8928
8929 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
8930
8931 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
8932 clause.
8933 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
8934 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
8935 reduction and map clauses.
8936 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8937
8938 2016-02-02 James Norris <jnorris@codesourcery.com>
8939
8940 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
8941
8942 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
8943
8944 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
8945 * oacc-parallel.c (GOACC_host_data): Remove function definition.
8946
8947 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
8948 cases.
8949
8950 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
8951 variables.
8952 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
8953 (hsa_kmt_lib): Set variables.
8954 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
8955 always_ld_library_path.
8956 * Makefile.in: Regenerate.
8957 * configure: Likewise.
8958 * testsuite/Makefile.in: Likewise.
8959
8960 * plugin/configfrag.ac (offload_additional_options)
8961 (offload_additional_lib_paths): Don't amend for hsa offloading.
8962 * configure: Regenerate.
8963
8964 * plugin/configfrag.ac: Don't configure for offloading target if
8965 we don't build the corresponding plugin.
8966 * configure: Regenerate.
8967
8968 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
8969
8970 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
8971 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
8972
8973 2016-01-26 Tom de Vries <tom@codesourcery.com>
8974
8975 PR tree-optimization/69110
8976 * testsuite/libgomp.c/pr69110.c: New test.
8977
8978 2016-01-25 Richard Biener <rguenther@suse.de>
8979
8980 PR lto/69393
8981 * testsuite/libgomp.c++/pr69393.C: New testcase.
8982
8983 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
8984
8985 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
8986 function wasn't mapped to the device with non-shared memory.
8987
8988 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
8989
8990 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
8991
8992 2016-01-19 Martin Jambor <mjambor@suse.cz>
8993 Martin Liska <mliska@suse.cz>
8994
8995 * plugin/Makefrag.am: Add HSA plugin requirements.
8996 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
8997 (HSA_RUNTIME_LIB): Likewise.
8998 (HSA_RUNTIME_CPPFLAGS): Likewise.
8999 (HSA_RUNTIME_INCLUDE): New substitution.
9000 (HSA_RUNTIME_LIB): Likewise.
9001 (HSA_RUNTIME_LDFLAGS): Likewise.
9002 (hsa-runtime): New configure option.
9003 (hsa-runtime-include): Likewise.
9004 (hsa-runtime-lib): Likewise.
9005 (PLUGIN_HSA): New substitution variable.
9006 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
9007 configure options.
9008 (PLUGIN_HSA_CPPFLAGS): Likewise.
9009 (PLUGIN_HSA_LDFLAGS): Likewise.
9010 (PLUGIN_HSA_LIBS): Likewise.
9011 Check that we have access to HSA run-time.
9012 * libgomp-plugin.h (offload_target_type): New element
9013 OFFLOAD_TARGET_TYPE_HSA.
9014 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
9015 args.
9016 (bool gomp_create_target_task): Updated.
9017 (gomp_device_descr): Extra parameter of run_func and async_run_func,
9018 new field can_run_func.
9019 * libgomp_g.h (GOMP_target_ext): Update prototype.
9020 * oacc-host.c (host_run): Added a new parameter args.
9021 * target.c (calculate_firstprivate_requirements): New function.
9022 (copy_firstprivate_data): Likewise.
9023 (gomp_target_fallback_firstprivate): Use them.
9024 (gomp_target_unshare_firstprivate): New function.
9025 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
9026 devices.
9027 (GOMP_target): Do host fallback for all shared memory devices. Do not
9028 pass any args to plugins.
9029 (GOMP_target_ext): Introduce device-specific argument parameter args.
9030 Allow host fallback if device shares memory. Do not remap data if
9031 device has shared memory.
9032 (gomp_target_task_fn): Likewise. Also treat shared memory devices
9033 like host fallback for mappings.
9034 (GOMP_target_data): Treat shared memory devices like host fallback.
9035 (GOMP_target_data_ext): Likewise.
9036 (GOMP_target_update): Likewise.
9037 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
9038 gomp_create_target_task.
9039 (GOMP_target_enter_exit_data): Likewise.
9040 (omp_target_alloc): Treat shared memory devices like host fallback.
9041 (omp_target_free): Likewise.
9042 (omp_target_is_present): Likewise.
9043 (omp_target_memcpy): Likewise.
9044 (omp_target_memcpy_rect): Likewise.
9045 (omp_target_associate_ptr): Likewise.
9046 (gomp_load_plugin_for_device): Also load can_run.
9047 * task.c (GOMP_PLUGIN_target_task_completion): Free
9048 firstprivate_copies.
9049 (gomp_create_target_task): Accept new argument args and store it to
9050 ttask.
9051 * plugin/plugin-hsa.c: New file.
9052
9053 2016-01-18 Tom de Vries <tom@codesourcery.com>
9054
9055 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
9056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
9057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
9058 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
9059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
9060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
9061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
9062 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
9063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
9064 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
9065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9066 Same.
9067 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9068 Same.
9069 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
9070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
9071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
9072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
9073 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
9074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
9075 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
9076 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9077 Same.
9078 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
9079
9080 2016-01-15 Jakub Jelinek <jakub@redhat.com>
9081
9082 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
9083
9084 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
9085
9086 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
9087
9088 2016-01-12 James Norris <jnorris@codesourcery.com>
9089
9090 * libgomp.texi: Updates for OpenACC.
9091
9092 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
9093
9094 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
9095
9096 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
9097
9098 PR fortran/66680
9099 * testsuite/libgomp.fortran/pr66680.f90: New test.
9100
9101 2016-01-07 Jakub Jelinek <jakub@redhat.com>
9102
9103 PR middle-end/68960
9104 * testsuite/libgomp.c/pr68960.c: New test.
9105
9106 2016-01-06 Nathan Sidwell <nathan@acm.org>
9107
9108 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
9109 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
9110
9111 2016-01-04 Jakub Jelinek <jakub@redhat.com>
9112
9113 Update copyright years.
9114
9115 * libgomp.texi: Bump @copying's copyright year.
9116
9117 2015-12-31 Nathan Sidwell <nathan@acm.org>
9118
9119 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
9120 dg-additional-options syntax.
9121 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9122 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9123 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9124 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9125 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9126 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9127 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9128 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9129 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9130 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9131 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9132 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9133 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9134 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9135 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9136 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9137 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9138 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9139
9140 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
9141
9142 * libgomp.h (REFCOUNT_LINK): Define.
9143 (struct splay_tree_key_s): Add link_key.
9144 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
9145 Replace target address of the pointer with target address of newly
9146 mapped object in the splay tree. Set link pointer on target to the
9147 device address of the mapped object.
9148 (gomp_unmap_vars): Restore target address of the pointer in the splay
9149 tree for REFCOUNT_LINK objects after unmapping.
9150 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
9151 declare target link" objects.
9152 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
9153 "omp declare target link" objects, which were mapped for the image.
9154 (gomp_exit_data): Restore target address of the pointer in the splay
9155 tree for REFCOUNT_LINK objects after unmapping.
9156 * testsuite/libgomp.c/target-link-1.c: New file.
9157
9158 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
9159
9160 * libgomp.h (gomp_device_state): New enum.
9161 (struct gomp_device_descr): Replace is_initialized with state.
9162 (gomp_fini_device): Remove declaration.
9163 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
9164 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
9165 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
9166 (acc_set_device_type): Use state instead of is_initialized.
9167 (acc_set_device_num): Likewise.
9168 * target.c (resolve_device): Use state instead of is_initialized.
9169 Do not initialize finalized device.
9170 (gomp_map_vars): Do nothing if device is finalized.
9171 (gomp_unmap_vars): Likewise.
9172 (gomp_update): Likewise.
9173 (GOMP_offload_register_ver): Use state instead of is_initialized.
9174 (GOMP_offload_unregister_ver): Likewise.
9175 (gomp_init_device): Likewise.
9176 (gomp_unload_device): Likewise.
9177 (gomp_fini_device): Remove.
9178 (gomp_get_target_fn_addr): Do nothing if device is finalized.
9179 (GOMP_target): Go to host fallback if device is finalized.
9180 (GOMP_target_ext): Likewise.
9181 (gomp_exit_data): Do nothing if device is finalized.
9182 (gomp_target_task_fn): Go to host fallback if device is finalized.
9183 (gomp_target_fini): New static function.
9184 (gomp_target_init): Use state instead of is_initialized.
9185 Call gomp_target_fini at exit.
9186
9187 2015-12-09 Tom de Vries <tom@codesourcery.com>
9188
9189 PR tree-optimization/68716
9190 * testsuite/libgomp.c/omp-nested-2.c: New test.
9191
9192 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
9193
9194 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
9195 target openacc_nvidia_accel_selected.
9196 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
9197 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
9199 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
9200
9201 2015-12-01 Julian Brown <julian@codesourcery.com>
9202 James Norris <James_Norris@mentor.com>
9203
9204 * oacc-parallel.c (GOACC_host_data): New function.
9205 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
9206 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
9207 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
9208 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
9209 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
9210 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
9211 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
9212
9213 2015-11-30 James Norris <jnorris@codesourcery.com>
9214 Cesar Philippidis <cesar@codesourcery.com>
9215
9216 libgomp/
9217 * libgomp.oacc-fortran/routine-5.f90: New test.
9218 * libgomp.oacc-fortran/routine-7.f90: New test.
9219 * libgomp.oacc-fortran/routine-9.f90: New test.
9220
9221 2015-11-30 Tom de Vries <tom@codesourcery.com>
9222
9223 PR tree-optimization/46032
9224 * testsuite/libgomp.c/pr46032.c: New test.
9225
9226 2015-11-27 Jakub Jelinek <jakub@redhat.com>
9227
9228 PR libgomp/68579
9229 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
9230 (gomp_create_target_task): Call it before freeing
9231 GOMP_TARGET_TASK_DATA tasks.
9232
9233 PR c/63326
9234 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
9235 in between case label and OpenMP standalone directives.
9236 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
9237
9238 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
9239
9240 * configure: Regenerate.
9241
9242 2015-11-26 Jakub Jelinek <jakub@redhat.com>
9243
9244 * testsuite/libgomp.c/target-35.c: New test.
9245
9246 2015-11-22 James Norris <jnorris@codesourcery.com>
9247 Cesar Philippidis <cesar@codesourcery.com>
9248
9249 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
9250 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9251 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9252 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9253 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9254
9255 2015-11-20 Jakub Jelinek <jakub@redhat.com>
9256
9257 PR middle-end/68221
9258 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
9259 * testsuite/libgomp.c/reduction-12.c: Likewise.
9260 * testsuite/libgomp.c++/reduction-11.C: Likewise.
9261 * testsuite/libgomp.c++/reduction-12.C: Likewise.
9262
9263 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
9264
9265 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
9266 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
9267 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
9268 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
9269 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
9270 and fix.
9271 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9272 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9273
9274 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
9275
9276 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
9277 worker & gang cases.
9278 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9279
9280 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
9281
9282 * config/nvptx/priority_queue.c: New file.
9283
9284 2015-11-14 Jakub Jelinek <jakub@redhat.com>
9285
9286 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
9287 sections.
9288
9289 2015-11-14 Jakub Jelinek <jakub@redhat.com>
9290 Aldy Hernandez <aldyh@redhat.com>
9291 Ilya Verbin <ilya.verbin@intel.com>
9292
9293 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
9294 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
9295 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
9296 iterators or IV by chunk size.
9297 * parallel.c (gomp_resolve_num_threads): Don't assume that
9298 if thr->ts.team is non-NULL, then pool must be non-NULL.
9299 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
9300 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
9301 GOMP_PLUGIN_target_task_completion.
9302 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
9303 * Makefile.in: Regenerate.
9304 * libgomp.h: Shuffle prototypes and forward definitions around so
9305 priority queues can be defined.
9306 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
9307 (enum gomp_target_task_state): New enum.
9308 (struct gomp_target_task): Add state, tgt, task and team fields.
9309 (gomp_create_target_task): Change return type to bool, add
9310 state argument.
9311 (gomp_target_task_fn): Change return type to bool.
9312 (struct gomp_device_descr): Add async_run_func.
9313 (struct gomp_task): Remove children, next_child, prev_child,
9314 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
9315 Add pnode field.
9316 (struct gomp_taskgroup): Remove children.
9317 Add taskgroup_queue.
9318 (struct gomp_team): Change task_queue type to a priority queue.
9319 (splay_compare): Define inline.
9320 (priority_queue_offset): New.
9321 (priority_node_to_task): New.
9322 (task_to_priority_node): New.
9323 * oacc-mem.c: Do not include splay-tree.h.
9324 * priority_queue.c: New file.
9325 * priority_queue.h: New file.
9326 * splay-tree.c: Do not include splay-tree.h.
9327 (splay_tree_foreach_internal): New.
9328 (splay_tree_foreach): New.
9329 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
9330 (splay_tree_callback): Define typedef.
9331 * target.c (splay_compare): Move to libgomp.h.
9332 (GOMP_target): Don't adjust *thr in any way around running offloaded
9333 task.
9334 (GOMP_target_ext): Likewise. Handle target nowait.
9335 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
9336 return value from gomp_create_target_task, if false, fallthrough
9337 as if no dependencies exist.
9338 (gomp_target_task_fn): Change return type to bool, return true
9339 if the task should have another part scheduled later. Handle
9340 target nowait.
9341 (gomp_load_plugin_for_device): Initialize async_run.
9342 * task.c (gomp_init_task): Initialize children_queue.
9343 (gomp_clear_parent_in_list): New.
9344 (gomp_clear_parent_in_tree): New.
9345 (gomp_clear_parent): Handle priorities.
9346 (GOMP_task): Likewise.
9347 (priority_queue_move_task_first,
9348 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
9349 New functions.
9350 (gomp_create_target_task): Use priority queues. Change return type
9351 to bool, add state argument, return false if for async
9352 {{enter,exit} data,update} constructs no dependencies need to be
9353 waited for, handle target nowait. Set task->fn to NULL instead of
9354 gomp_target_task_fn.
9355 (verify_children_queue): Remove.
9356 (priority_list_upgrade_task): New.
9357 (priority_queue_upgrade_task): New.
9358 (verify_task_queue): Remove.
9359 (priority_list_downgrade_task): New.
9360 (priority_queue_downgrade_task): New.
9361 (gomp_task_run_pre): Use priority queues.
9362 Abstract code out to priority_queue_downgrade_task.
9363 (gomp_task_run_post_handle_dependers): Use priority queues.
9364 (gomp_task_run_post_remove_parent): Likewise.
9365 (gomp_task_run_post_remove_taskgroup): Likewise.
9366 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
9367 tasks specially.
9368 (GOMP_taskwait): Likewise.
9369 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
9370 priority-queue_upgrade_task.
9371 (GOMP_taskgroup_start): Use priority queues.
9372 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
9373 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
9374 barrier.
9375 * taskloop.c (GOMP_taskloop): Handle priorities.
9376 * team.c (gomp_new_team): Call priority_queue_init.
9377 (free_team): Call priority_queue_free.
9378 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
9379 team created for target nowait in implicit parallel region.
9380 (gomp_team_start): For nested check, test thr->ts.level instead of
9381 thr->ts.team != NULL.
9382 * testsuite/libgomp.c/doacross-3.c: New test.
9383 * testsuite/libgomp.c/ordered-5.c: New test.
9384 * testsuite/libgomp.c/priority.c: New test.
9385 * testsuite/libgomp.c/target-31.c: New test.
9386 * testsuite/libgomp.c/target-32.c: New test.
9387 * testsuite/libgomp.c/target-33.c: New test.
9388 * testsuite/libgomp.c/target-34.c: New test.
9389
9390 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9391
9392 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
9393
9394 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
9395 loop is sequential.
9396
9397 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9398
9399 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
9400 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
9401
9402 2015-11-12 James Norris <jnorris@codesourcery.com>
9403 Joseph Myers <joseph@codesourcery.com>
9404
9405 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
9406 * oacc-parallel.c (GOACC_declare): New function.
9407 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
9408 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
9409 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
9410 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
9411 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
9412
9413 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
9414
9415 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
9416
9417 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
9418
9419 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
9420 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
9421
9422 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9423
9424 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
9425 inadvertent commit.
9426
9427 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9428
9429 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
9430 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
9431 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
9432 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
9433 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
9434
9435 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
9436
9437 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
9438 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9439
9440 2015-11-05 Jakub Jelinek <jakub@redhat.com>
9441 Ilya Verbin <ilya.verbin@intel.com>
9442
9443 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
9444 GOMP_loop_nonmonotonic_dynamic_start,
9445 GOMP_loop_nonmonotonic_guided_next,
9446 GOMP_loop_nonmonotonic_guided_start,
9447 GOMP_loop_ull_nonmonotonic_dynamic_next,
9448 GOMP_loop_ull_nonmonotonic_dynamic_start,
9449 GOMP_loop_ull_nonmonotonic_guided_next,
9450 GOMP_loop_ull_nonmonotonic_guided_start,
9451 GOMP_parallel_loop_nonmonotonic_dynamic,
9452 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
9453 (GOMP_target_41): Renamed to ...
9454 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9455 arguments.
9456 (GOMP_target_data_41): Renamed to ...
9457 (GOMP_target_data_ext): ... this.
9458 (GOMP_target_update_41): Renamed to ...
9459 (GOMP_target_update_ext): ... this.
9460 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
9461 GOMP_target_data_ext and GOMP_target_update_ext instead of
9462 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
9463 Export GOMP_loop_nonmonotonic_dynamic_next,
9464 GOMP_loop_nonmonotonic_dynamic_start,
9465 GOMP_loop_nonmonotonic_guided_next,
9466 GOMP_loop_nonmonotonic_guided_start,
9467 GOMP_loop_ull_nonmonotonic_dynamic_next,
9468 GOMP_loop_ull_nonmonotonic_dynamic_start,
9469 GOMP_loop_ull_nonmonotonic_guided_next,
9470 GOMP_loop_ull_nonmonotonic_guided_start,
9471 GOMP_parallel_loop_nonmonotonic_dynamic and
9472 GOMP_parallel_loop_nonmonotonic_guided.
9473 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
9474 GOMP_parallel_loop_nonmonotonic_guided,
9475 GOMP_loop_nonmonotonic_dynamic_start,
9476 GOMP_loop_nonmonotonic_guided_start,
9477 GOMP_loop_nonmonotonic_dynamic_next,
9478 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
9479 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
9480 GOMP_loop_ull_nonmonotonic_guided_start,
9481 GOMP_loop_ull_nonmonotonic_dynamic_next,
9482 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
9483 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
9484 functions.
9485 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
9486 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
9487 Use gomp_map_val function.
9488 (gomp_target_fallback_firstprivate): New static function.
9489 (GOMP_target_41): Renamed to ...
9490 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9491 arguments. Move firstprivate fallback handling into a new
9492 function.
9493 (GOMP_target_data_41): Renamed to ...
9494 (GOMP_target_data_ext): ... this.
9495 (GOMP_target_update_41): Renamed to ...
9496 (GOMP_target_update_ext): ... this.
9497 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
9498 gomp_map_0len_lookup instead of gomp_map_lookup.
9499 (omp_target_is_present): Use gomp_map_0len_lookup instead of
9500 gomp_map_lookup.
9501 * testsuite/libgomp.c/target-28.c: Likewise.
9502 * testsuite/libgomp.c/monotonic-1.c: New test.
9503 * testsuite/libgomp.c/monotonic-2.c: New test.
9504 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
9505 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
9506 * testsuite/libgomp.c/pr66199-5.c: New test.
9507 * testsuite/libgomp.c/pr66199-6.c: New test.
9508 * testsuite/libgomp.c/pr66199-7.c: New test.
9509 * testsuite/libgomp.c/pr66199-8.c: New test.
9510 * testsuite/libgomp.c/pr66199-9.c: New test.
9511 * testsuite/libgomp.c/reduction-11.c: New test.
9512 * testsuite/libgomp.c/reduction-12.c: New test.
9513 * testsuite/libgomp.c/reduction-13.c: New test.
9514 * testsuite/libgomp.c/reduction-14.c: New test.
9515 * testsuite/libgomp.c/reduction-15.c: New test.
9516 * testsuite/libgomp.c/target-12.c (main): Adjust for
9517 omp_target_is_present change for one-past-last element.
9518 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
9519 the same var is both mapped and privatized.
9520 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
9521 handling of zero-length array sections.
9522 * testsuite/libgomp.c/target-28.c: New test.
9523 * testsuite/libgomp.c/target-29.c: New test.
9524 * testsuite/libgomp.c/target-30.c: New test.
9525 * testsuite/libgomp.c/target-teams-1.c: New test.
9526 * testsuite/libgomp.c++/member-6.C: New test.
9527 * testsuite/libgomp.c++/member-7.C: New test.
9528 * testsuite/libgomp.c++/monotonic-1.C: New test.
9529 * testsuite/libgomp.c++/monotonic-2.C: New test.
9530 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
9531 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
9532 * testsuite/libgomp.c++/pr66199-3.C: New test.
9533 * testsuite/libgomp.c++/pr66199-4.C: New test.
9534 * testsuite/libgomp.c++/pr66199-5.C: New test.
9535 * testsuite/libgomp.c++/pr66199-6.C: New test.
9536 * testsuite/libgomp.c++/pr66199-7.C: New test.
9537 * testsuite/libgomp.c++/pr66199-8.C: New test.
9538 * testsuite/libgomp.c++/pr66199-9.C: New test.
9539 * testsuite/libgomp.c++/reduction-11.C: New test.
9540 * testsuite/libgomp.c++/reduction-12.C: New test.
9541 * testsuite/libgomp.c++/target-13.C: New test.
9542 * testsuite/libgomp.c++/target-14.C: New test.
9543 * testsuite/libgomp.c++/target-15.C: New test.
9544 * testsuite/libgomp.c++/target-16.C: New test.
9545 * testsuite/libgomp.c++/target-17.C: New test.
9546 * testsuite/libgomp.c++/target-18.C: New test.
9547 * testsuite/libgomp.c++/target-19.C: New test.
9548
9549 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9550
9551 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
9552 and reduction copy.
9553 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9554 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9555 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9556 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9557 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
9558 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9559 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9560 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9561 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9562 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
9563 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9564 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9565 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9566 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
9567
9568 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9569
9570 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
9571 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
9572 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
9573 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
9574 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
9575 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
9576 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
9577 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
9578
9579 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
9580
9581 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
9582 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
9583 (GOMP_OFFLOAD_openacc_parallel): Likewise.
9584 * oacc-host.c (host_openacc_exec): Likewise.
9585 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
9586
9587 2015-11-03 Julian Brown <julian@codesourcery.com>
9588 Thomas Schwinge <thomas@codesourcery.com>
9589
9590 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
9591 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9592 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
9593 Likewise.
9594 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
9595 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
9596
9597 2015-11-03 James Norris <jnorris@codesourcery.com>
9598
9599 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
9600 file.
9601 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
9602 Likewise.
9603 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
9604 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
9605 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
9606 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
9607 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
9608
9609 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
9610
9611 * openacc.h (enum acc_device_t): Reformat. Ensure layout
9612 compatibility.
9613 (enum acc_async_t): Reformat.
9614 (acc_on_device): Declare compatible with builtin and provide C++
9615 wrapper.
9616 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
9617
9618 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
9619 Cesar Philippidis <cesar@codesourcery.com>
9620
9621 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
9622 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
9623 ... this. Add a description of the test at the top of the file.
9624 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
9625 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9626 ... this. Add a description of the test at the top of the file.
9627
9628 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
9629
9630 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
9631 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
9632 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
9633 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
9634 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
9635 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
9636
9637 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
9638
9639 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
9640 dimensions.
9641
9642 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
9643
9644 PR testsuite/68063
9645 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
9646
9647 2015-10-27 James Norris <jnorris@codesourcery.com>
9648
9649 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
9650 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
9651
9652 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
9653
9654 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
9655 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9656
9657 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
9658 acc_device_nvidia usage.
9659 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9660 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9661 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9662
9663 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
9664 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
9665
9666 PR libgomp/66518
9667 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
9668
9669 PR libgomp/65437
9670 PR libgomp/66518
9671 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
9672 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
9673
9674 2015-10-23 Tom de Vries <tom@codesourcery.com>
9675
9676 PR testsuite/68063
9677 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
9678
9679 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
9680
9681 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
9682 vector_length.
9683 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9684
9685 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
9686 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
9687
9688 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
9689 to 0 when mapnum is 0.
9690
9691 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
9692
9693 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
9694 Cast to int from int32_t.
9695
9696 2015-10-13 Jakub Jelinek <jakub@redhat.com>
9697 Aldy Hernandez <aldyh@redhat.com>
9698 Ilya Verbin <ilya.verbin@intel.com>
9699
9700 * config/linux/affinity.c (omp_get_place_num_procs,
9701 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9702 * config/linux/doacross.h: New file.
9703 * config/posix/affinity.c (omp_get_place_num_procs,
9704 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9705 * config/posix/doacross.h: New file.
9706 * env.c: Include gomp-constants.h.
9707 (struct gomp_task_icv): Rename run_sched_modifier to
9708 run_sched_chunk_size.
9709 (gomp_max_task_priority_var): New variable.
9710 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
9711 (handle_omp_display_env): Change _OPENMP value from 201307 to
9712 201511. Print OMP_MAX_TASK_PRIORITY.
9713 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
9714 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
9715 chunk_size and run_sched_modifier to run_sched_chunk_size.
9716 (omp_get_max_task_priority, omp_get_initial_device,
9717 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
9718 omp_get_partition_place_nums): New functions.
9719 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
9720 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
9721 to chunk_size.
9722 (omp_get_num_places_, omp_get_place_num_procs_,
9723 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
9724 omp_get_place_proc_ids_8_, omp_get_place_num_,
9725 omp_get_partition_num_places_, omp_get_partition_place_nums_,
9726 omp_get_partition_place_nums_8_, omp_get_initial_device_,
9727 omp_get_max_task_priority_): New functions.
9728 * libgomp_g.h (GOMP_loop_doacross_static_start,
9729 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
9730 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
9731 GOMP_loop_ull_doacross_dynamic_start,
9732 GOMP_loop_ull_doacross_guided_start,
9733 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
9734 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
9735 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
9736 GOMP_target_data_41, GOMP_target_update_41,
9737 GOMP_target_enter_exit_data): New prototypes.
9738 (GOMP_task): Add prototype argument.
9739 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
9740 (struct gomp_doacross_work_share): New type.
9741 (struct gomp_work_share): Add doacross field.
9742 (struct gomp_task_icv): Rename run_sched_modifier to
9743 run_sched_chunk_size.
9744 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
9745 GOMP_TASK_UNDEFERRED. Add comments.
9746 (struct gomp_task_depend_entry): Add comments.
9747 (struct gomp_task): Likewise.
9748 (struct gomp_taskgroup): Likewise.
9749 (struct gomp_target_task): New type.
9750 (struct gomp_team): Add comment.
9751 (gomp_get_place_proc_ids_8, gomp_doacross_init,
9752 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
9753 gomp_create_target_task, gomp_target_task_fn): New prototypes.
9754 (struct target_var_desc): New type.
9755 (struct target_mem_desc): Adjust comment. Use struct
9756 target_var_desc instead of splay_tree_key for list.
9757 (REFCOUNT_INFINITY): Define.
9758 (struct splay_tree_key_s): Remove copy_from field.
9759 (struct gomp_device_descr): Add dev2dev_func field.
9760 (enum gomp_map_vars_kind): New enum.
9761 (gomp_map_vars): Add one argument.
9762 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
9763 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
9764 omp_get_place_num_procs, omp_get_place_num_procs_,
9765 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
9766 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
9767 omp_get_place_num_, omp_get_partition_num_places,
9768 omp_get_partition_num_places_, omp_get_partition_place_nums,
9769 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
9770 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
9771 omp_target_free, omp_target_is_present, omp_target_memcpy,
9772 omp_target_memcpy_rect, omp_target_associate_ptr and
9773 omp_target_disassociate_ptr.
9774 (GOMP_4.0.2): Renamed to ...
9775 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
9776 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
9777 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
9778 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9779 GOMP_loop_doacross_static_start, GOMP_doacross_post,
9780 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
9781 GOMP_loop_ull_doacross_guided_start,
9782 GOMP_loop_ull_doacross_runtime_start,
9783 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
9784 GOMP_doacross_ull_wait.
9785 * libgomp.texi: Document omp_get_max_task_priority.
9786 Rename modifier argument to chunk_size for omp_set_schedule and
9787 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
9788 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
9789 to run_sched_chunk_size renaming.
9790 (GOMP_loop_ordered_runtime_start): Likewise.
9791 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9792 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9793 GOMP_parallel_loop_runtime_start): New functions.
9794 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
9795 to run_sched_chunk_size renaming.
9796 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
9797 GOMP_loop_doacross_guided_start): New functions or aliases.
9798 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
9799 run_sched_modifier to run_sched_chunk_size renaming.
9800 (GOMP_loop_ull_ordered_runtime_start): Likewise.
9801 (gomp_loop_ull_doacross_static_start,
9802 gomp_loop_ull_doacross_dynamic_start,
9803 gomp_loop_ull_doacross_guided_start,
9804 GOMP_loop_ull_doacross_runtime_start): New functions.
9805 (GOMP_loop_ull_doacross_static_start,
9806 GOMP_loop_ull_doacross_dynamic_start,
9807 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
9808 * oacc-mem.c (acc_map_data, present_create_copy,
9809 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
9810 to gomp_map_vars.
9811 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
9812 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
9813 instead of false to gomp_map_vars.
9814 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
9815 * omp.h.in (omp_lock_hint_t): New type.
9816 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9817 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9818 omp_get_place_num, omp_get_partition_num_places,
9819 omp_get_partition_place_nums, omp_get_initial_device,
9820 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
9821 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
9822 omp_target_associate_ptr, omp_target_disassociate_ptr): New
9823 prototypes.
9824 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
9825 (omp_lock_hint_none, omp_lock_hint_uncontended,
9826 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
9827 omp_lock_hint_speculative): New parameters.
9828 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9829 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9830 omp_get_place_num, omp_get_partition_num_places,
9831 omp_get_partition_place_nums, omp_get_initial_device,
9832 omp_get_max_task_priority): New interfaces.
9833 (omp_set_schedule, omp_get_schedule): Rename modifier argument
9834 to chunk_size.
9835 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
9836 (omp_lock_hint_none, omp_lock_hint_uncontended,
9837 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
9838 omp_lock_hint_speculative): New parameters.
9839 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9840 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9841 omp_get_place_num, omp_get_partition_num_places,
9842 omp_get_partition_place_nums, omp_get_initial_device,
9843 omp_get_max_task_priority): New functions and subroutines.
9844 * ordered.c: Include stdarg.h and string.h.
9845 (MAX_COLLAPSED_BITS): Define.
9846 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
9847 gomp_doacross_ull_init, GOMP_doacross_ull_post,
9848 GOMP_doacross_ull_wait): New functions.
9849 * target.c: Include errno.h.
9850 (resolve_device): If device is not initialized, call
9851 gomp_init_device on it.
9852 (gomp_map_lookup): New function.
9853 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
9854 Don't bump refcount if REFCOUNT_INFINITY. Handle
9855 GOMP_MAP_ALWAYS_TO_P.
9856 (get_kind): Rename is_openacc argument to short_mapkind.
9857 (gomp_map_pointer): Use gomp_map_lookup.
9858 (gomp_map_fields_existing): New function.
9859 (gomp_map_vars): Rename is_openacc argument to short_mapkind
9860 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
9861 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
9862 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
9863 Adjust for tgt->list changed type and copy_from living in there.
9864 (gomp_copy_from_async): Adjust for tgt->list changed type and
9865 copy_from living in there.
9866 (gomp_unmap_vars): Likewise.
9867 (gomp_update): Likewise. Rename is_openacc argument to
9868 short_mapkind. Don't fail if object is not mapped.
9869 (gomp_load_image_to_device): Initialize refcount to
9870 REFCOUNT_INFINITY.
9871 (gomp_target_fallback): New function.
9872 (gomp_get_target_fn_addr): Likewise.
9873 (GOMP_target): Adjust gomp_map_vars caller, use
9874 gomp_get_target_fn_addr and gomp_target_fallback.
9875 (GOMP_target_41): New function.
9876 (gomp_target_data_fallback): New function.
9877 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
9878 (GOMP_target_data_41): New function.
9879 (GOMP_target_update): Adjust gomp_update caller.
9880 (GOMP_target_update_41): New function.
9881 (gomp_exit_data, GOMP_target_enter_exit_data,
9882 gomp_target_task_fn, omp_target_alloc, omp_target_free,
9883 omp_target_is_present, omp_target_memcpy,
9884 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
9885 omp_target_associate_ptr, omp_target_disassociate_ptr,
9886 gomp_load_plugin_for_device): New functions.
9887 * task.c: Include gomp-constants.h. Include taskloop.c
9888 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
9889 (gomp_task_handle_depend): New function.
9890 (GOMP_task): Use it. Add priority argument. Use
9891 gomp-constant.h constants instead of hardcoded numbers.
9892 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
9893 (gomp_create_target_task): New function.
9894 (verify_children_queue, verify_taskgroup_queue,
9895 verify_task_queue): New functions.
9896 (gomp_task_run_pre): Call verify_*_queue functions.
9897 If an upcoming tied task is about to leave the sibling or
9898 taskgroup queues in an invalid state, adjust appropriately.
9899 Remove taskgroup argument. Add comments.
9900 (gomp_task_run_post_handle_dependers): Add comments.
9901 (gomp_task_run_post_remove_parent): Likewise.
9902 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
9903 (GOMP_taskwait): Likewise. Add comments.
9904 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
9905 problem such that the first non parent_depends_on task does not
9906 end up at the end of the children queue.
9907 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
9908 GOMP_TASK_UNDEFERRED.
9909 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
9910 * taskloop.c: New file.
9911 * testsuite/lib/libgomp.exp
9912 (check_effective_target_offload_device_nonshared_as): New proc.
9913 * testsuite/libgomp.c/affinity-2.c: New test.
9914 * testsuite/libgomp.c/doacross-1.c: New test.
9915 * testsuite/libgomp.c/doacross-2.c: New test.
9916 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
9917 Add map clause to target.
9918 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
9919 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
9920 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
9921 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
9922 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
9923 Likewise.
9924 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
9925 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
9926 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
9927 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
9928 not defined. Use those where needed.
9929 * testsuite/libgomp.c/for-4.c: New test.
9930 * testsuite/libgomp.c/for-5.c: New test.
9931 * testsuite/libgomp.c/for-6.c: New test.
9932 * testsuite/libgomp.c/linear-1.c: New test.
9933 * testsuite/libgomp.c/ordered-4.c: New test.
9934 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
9935 only allowed on the loop iterator.
9936 * testsuite/libgomp.c/pr66199-3.c: New test.
9937 * testsuite/libgomp.c/pr66199-4.c: New test.
9938 * testsuite/libgomp.c/reduction-7.c: New test.
9939 * testsuite/libgomp.c/reduction-8.c: New test.
9940 * testsuite/libgomp.c/reduction-9.c: New test.
9941 * testsuite/libgomp.c/reduction-10.c: New test.
9942 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
9943 map(tofrom:s).
9944 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
9945 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
9946 * testsuite/libgomp.c/target-11.c: New test.
9947 * testsuite/libgomp.c/target-12.c: New test.
9948 * testsuite/libgomp.c/target-13.c: New test.
9949 * testsuite/libgomp.c/target-14.c: New test.
9950 * testsuite/libgomp.c/target-15.c: New test.
9951 * testsuite/libgomp.c/target-16.c: New test.
9952 * testsuite/libgomp.c/target-17.c: New test.
9953 * testsuite/libgomp.c/target-18.c: New test.
9954 * testsuite/libgomp.c/target-19.c: New test.
9955 * testsuite/libgomp.c/target-20.c: New test.
9956 * testsuite/libgomp.c/target-21.c: New test.
9957 * testsuite/libgomp.c/target-22.c: New test.
9958 * testsuite/libgomp.c/target-23.c: New test.
9959 * testsuite/libgomp.c/target-24.c: New test.
9960 * testsuite/libgomp.c/target-25.c: New test.
9961 * testsuite/libgomp.c/target-26.c: New test.
9962 * testsuite/libgomp.c/target-27.c: New test.
9963 * testsuite/libgomp.c/taskloop-1.c: New test.
9964 * testsuite/libgomp.c/taskloop-2.c: New test.
9965 * testsuite/libgomp.c/taskloop-3.c: New test.
9966 * testsuite/libgomp.c/taskloop-4.c: New test.
9967 * testsuite/libgomp.c++/ctor-13.C: New test.
9968 * testsuite/libgomp.c++/doacross-1.C: New test.
9969 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
9970 Replace offload_device with offload_device_nonshared_as.
9971 * testsuite/libgomp.c++/for-12.C: New test.
9972 * testsuite/libgomp.c++/for-13.C: New test.
9973 * testsuite/libgomp.c++/for-14.C: New test.
9974 * testsuite/libgomp.c++/linear-1.C: New test.
9975 * testsuite/libgomp.c++/member-1.C: New test.
9976 * testsuite/libgomp.c++/member-2.C: New test.
9977 * testsuite/libgomp.c++/member-3.C: New test.
9978 * testsuite/libgomp.c++/member-4.C: New test.
9979 * testsuite/libgomp.c++/member-5.C: New test.
9980 * testsuite/libgomp.c++/ordered-1.C: New test.
9981 * testsuite/libgomp.c++/reduction-5.C: New test.
9982 * testsuite/libgomp.c++/reduction-6.C: New test.
9983 * testsuite/libgomp.c++/reduction-7.C: New test.
9984 * testsuite/libgomp.c++/reduction-8.C: New test.
9985 * testsuite/libgomp.c++/reduction-9.C: New test.
9986 * testsuite/libgomp.c++/reduction-10.C: New test.
9987 * testsuite/libgomp.c++/reference-1.C: New test.
9988 * testsuite/libgomp.c++/simd14.C: New test.
9989 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
9990 * testsuite/libgomp.c++/target-5.C: New test.
9991 * testsuite/libgomp.c++/target-6.C: New test.
9992 * testsuite/libgomp.c++/target-7.C: New test.
9993 * testsuite/libgomp.c++/target-8.C: New test.
9994 * testsuite/libgomp.c++/target-9.C: New test.
9995 * testsuite/libgomp.c++/target-10.C: New test.
9996 * testsuite/libgomp.c++/target-11.C: New test.
9997 * testsuite/libgomp.c++/target-12.C: New test.
9998 * testsuite/libgomp.c++/taskloop-1.C: New test.
9999 * testsuite/libgomp.c++/taskloop-2.C: New test.
10000 * testsuite/libgomp.c++/taskloop-3.C: New test.
10001 * testsuite/libgomp.c++/taskloop-4.C: New test.
10002 * testsuite/libgomp.c++/taskloop-5.C: New test.
10003 * testsuite/libgomp.c++/taskloop-6.C: New test.
10004 * testsuite/libgomp.c++/taskloop-7.C: New test.
10005 * testsuite/libgomp.c++/taskloop-8.C: New test.
10006 * testsuite/libgomp.c++/taskloop-9.C: New test.
10007 * testsuite/libgomp.fortran/affinity1.f90: New test.
10008 * testsuite/libgomp.fortran/affinity2.f90: New test.
10009
10010 2015-10-13 Tom de Vries <tom@codesourcery.com>
10011
10012 PR tree-optimization/67476
10013 * testsuite/libgomp.c/autopar-3.c: New test.
10014 * testsuite/libgomp.c/autopar-4.c: New test.
10015 * testsuite/libgomp.c/autopar-5.c: New test.
10016 * testsuite/libgomp.c/autopar-6.c: New test.
10017 * testsuite/libgomp.c/autopar-7.c: New test.
10018 * testsuite/libgomp.c/autopar-8.c: New test.
10019
10020 2015-10-12 James Norris <jnorris@codesourcery.com>
10021
10022 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
10023 initializer.
10024
10025 2015-10-09 David Malcolm <dmalcolm@redhat.com>
10026
10027 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
10028 using load_gcc_lib.
10029
10030 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
10031
10032 * oacc-ptx.h: Remove file, moving its content into...
10033 * config/nvptx/fortran.c: ... here...
10034 * config/nvptx/oacc-init.c: ..., here...
10035 * config/nvptx/oacc-parallel.c: ..., and here.
10036 * config/nvptx/openacc.f90: New file.
10037 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
10038 (link_ptx): Don't link in predefined bits of PTX code.
10039
10040 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
10041 Bernd Schmidt <bernds@codesourcery.com>
10042
10043 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
10044 (struct targ_ptx_obj): New.
10045 (nvptx_tdata): Move earlier, change data format.
10046 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
10047 objects.
10048 (GOMP_OFFLOAD_load_image): Adjust.
10049
10050 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
10051
10052 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
10053 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10054 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10055 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10056 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10057 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10058 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10059 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10060 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10061 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10062 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10063 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10064 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10065 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10066 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10067 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10068 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10069 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10070 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10071 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10072 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10073 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10074 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10075 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10076 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10077 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10078 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10079 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10080 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10081 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10082 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10083 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10084 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10085 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10086 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10087 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10088 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10089 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10090 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10091 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10092 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10093 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10094 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10095 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10096 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10097 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10098 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10099 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10100 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10101 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10102 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10103 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10104 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10105 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10106 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10107 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10108 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10109 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10110 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10111 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10112 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10113 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10114 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10115
10116 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10117
10118 * oacc-init.c (acc_on_device): Force optimization level.
10119
10120 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10121
10122 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
10123 (cuda_errlist): Delete.
10124 (cuda_error): Reimplement.
10125
10126 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
10127
10128 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
10129 array.
10130 * libgomp.map (GOACC_parallel_keyed): New.
10131 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
10132 all callers.
10133 (GOACC_parallel_keyed): New interface. Lose geometry arguments
10134 and take keyed varargs list. Adjust call to exec_func.
10135 (GOACC_parallel): Force host fallback.
10136 * libgomp_g.h (GOACC_parallel): Remove.
10137 (GOACC_parallel_keyed): Declare.
10138 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
10139 (struct targ_gn_descriptor): Replace name field with launch field.
10140 (nvptx_exec): Lose separate geometry args, take array. Process
10141 dynamic dimensions and adjust.
10142 (struct nvptx_tdata): Replace fn_names field with fn_descs.
10143 (GOMP_OFFLOAD_load_image): Adjust for change in function table
10144 data.
10145 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
10146 passing.
10147 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
10148 passing.
10149
10150 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
10151
10152 PR libgomp/67141
10153 * oacc-int.h (goacc_host_init): Add declaration.
10154 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
10155 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
10156
10157 2015-09-08 Aditya Kumar <hiraditya@msn.com>
10158 Sebastian Pop <s.pop@samsung.com>
10159
10160 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
10161 match o/p.
10162 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
10163 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
10164 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
10165 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
10166 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
10167
10168 2015-09-03 Jakub Jelinek <jakub@redhat.com>
10169
10170 * configure.tgt: Add missing ;; in between nvptx and rtems
10171 snippets.
10172
10173 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10174
10175 * config/posix/pool.h (gomp_adjust_thread_attr): New.
10176 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
10177 (gomp_thread_pool_reservoir): Add priority member.
10178 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
10179 priority.
10180 (parse_thread_pools): Likewise.
10181 * team.c (gomp_team_start): Call configuration provided
10182 gomp_adjust_thread_attr(). Destroy thread attributes if
10183 necessary.
10184 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
10185
10186 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10187
10188 * config/posix/pool.h: New.
10189 * config/rtems/pool.h: Likewise.
10190 * config/rtems/proc.c: Likewise.
10191 * libgomp.h (gomp_thread_destructor): Declare.
10192 * team.c: Include configuration provided "pool.h".
10193 (gomp_get_thread_pool): Define in configuration.
10194 (gomp_team_end): Call configuration defined
10195 gomp_release_thread_pool().
10196
10197 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10198
10199 * config/rtems/bar.c: New.
10200 * config/rtems/bar.h: Likewise.
10201 * config/rtems/mutex.c: Likewise.
10202 * config/rtems/mutex.h: Likewise.
10203 * config/rtems/sem.c: Likewise.
10204 * config/rtems/sem.h: Likewise.
10205 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
10206 <sys/lock.h> header file.
10207 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
10208 supported by Newlib.
10209 * configure: Regenerate.
10210
10211 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10212
10213 * team.c (gomp_new_thread_pool): Delete and move content to ...
10214 (gomp_get_thread_pool): ... new function. Allocate and
10215 initialize thread pool on demand.
10216 (get_last_team): Use gomp_get_thread_pool().
10217 (gomp_team_start): Delete thread pool initialization.
10218
10219 2015-09-03 Tom de Vries <tom@codesourcery.com>
10220
10221 PR tree-optimization/65637
10222 * testsuite/libgomp.c/autopar-2.c: New test.
10223
10224 2015-08-29 Tom de Vries <tom@codesourcery.com>
10225
10226 PR tree-optimization/46193
10227 * testsuite/libgomp.c/pr46193.c: New test.
10228
10229 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
10230
10231 libgomp/
10232 * libgomp.map: Add 4.0.2 version.
10233 * target.c (offload_image_descr): Add version field.
10234 (gomp_load_image_to_device): Add version argument. Adjust plugin
10235 call. Improve load mismatch diagnostic.
10236 (gomp_unload_image_from_device): Add version argument. Adjust plugin
10237 call.
10238 (GOMP_offload_regster): Make stub function, move bulk to ...
10239 (GOMP_offload_register_ver): ... here. Process version argument.
10240 (GOMP_offload_unregister): Make stub function, move bulk to ...
10241 (GOMP_offload_unregister_ver): ... here. Process version argument.
10242 (gomp_init_device): Process version field.
10243 (gomp_unload_device): Process version field.
10244 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
10245 macros. Check plugin version.
10246 * libgomp.h (gomp_device_descr): Add version function field. Adjust
10247 loader and unloader types.
10248 * oacc-host.c: Include gomp-constants.h.
10249 (host_version): New.
10250 (host_load_image, host_unload_image): Adjust.
10251 (host_dispatch): Add host_version.
10252 * plugin/plugin-nvptx.c: Include gomp-constants.h.
10253 (GOMP_OFFLOAD_version): New.
10254 (GOMP_OFFLOAD_load_image): Add version arg and check it.
10255 (GOMP_OFFLOAD_unload_image): Likewise.
10256 * plugin/plugin-host.c: Include gomp-constants.h.
10257 (GOMP_OFFLOAD_version): New.
10258 (GOMP_OFFLOAD_load_image): Add version arg.
10259 (GOMP_OFFLOAD_unload_image): Likewise.
10260
10261 2015-08-24 Tom de Vries <tom@codesourcery.com>
10262
10263 PR tree-optimization/65468
10264 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
10265
10266 2015-08-24 Tom de Vries <tom@codesourcery.com>
10267
10268 PR tree-optimization/65468
10269 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
10270
10271 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
10272
10273 PR libgomp/66761
10274 PR libgomp/67303
10275 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
10276 (gomp_iter_guided_next): Idem.
10277 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
10278 (gomp_iter_ull_guided_next): Idem.
10279 * config/linux/wait.h (do_spin): Idem.
10280
10281 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10282
10283 * libgomp-plugin.h (enum offload_target_type): Remove
10284 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
10285 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
10286 * openacc.h (enum acc_device_t): Likewise.
10287 * openacc_lib.h: Likewise.
10288 * oacc-init.c (name_of_acc_device_t): Don't handle it.
10289 (acc_on_device): Just use __builtin_acc_on_device.
10290 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
10291 of acc_on_device builtin.
10292 * plugin/plugin-host.h: Remove file.
10293 * plugin/plugin-host.c: Likewise, but salvage some content into...
10294 * oacc-host.c: ... this file.
10295 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
10296 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
10297 * Makefile.in: Regenerate.
10298 * configure: Likewise.
10299 * testsuite/lib/libgomp.exp
10300 (check_effective_target_openacc_host_nonshm_selected): Remove.
10301 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
10302 ACC_DEVICE_TYPE=host_nonshm.
10303 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10304 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10305 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10306 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10307 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10308 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10309
10310 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10311 Jakub Jelinek <jakub@redhat.com>
10312
10313 * config/nvptx/affinity.c: New file.
10314 * config/nvptx/alloc.c: Likewise.
10315 * config/nvptx/bar.c: Likewise.
10316 * config/nvptx/barrier.c: Likewise.
10317 * config/nvptx/critical.c: Likewise.
10318 * config/nvptx/env.c: Likewise.
10319 * config/nvptx/error.c: Likewise.
10320 * config/nvptx/fortran.c: Likewise.
10321 * config/nvptx/iter.c: Likewise.
10322 * config/nvptx/iter_ull.c: Likewise.
10323 * config/nvptx/libgomp-plugin.c: Likewise.
10324 * config/nvptx/lock.c: Likewise.
10325 * config/nvptx/loop.c: Likewise.
10326 * config/nvptx/loop_ull.c: Likewise.
10327 * config/nvptx/mutex.c: Likewise.
10328 * config/nvptx/oacc-async.c: Likewise.
10329 * config/nvptx/oacc-cuda.c: Likewise.
10330 * config/nvptx/oacc-host.c: Likewise.
10331 * config/nvptx/oacc-init.c: Likewise.
10332 * config/nvptx/oacc-mem.c: Likewise.
10333 * config/nvptx/oacc-parallel.c: Likewise.
10334 * config/nvptx/oacc-plugin.c: Likewise.
10335 * config/nvptx/omp-lock.h: Likewise.
10336 * config/nvptx/ordered.c: Likewise.
10337 * config/nvptx/parallel.c: Likewise.
10338 * config/nvptx/proc.c: Likewise.
10339 * config/nvptx/ptrlock.c: Likewise.
10340 * config/nvptx/sections.c: Likewise.
10341 * config/nvptx/sem.c: Likewise.
10342 * config/nvptx/single.c: Likewise.
10343 * config/nvptx/splay-tree.c: Likewise.
10344 * config/nvptx/target.c: Likewise.
10345 * config/nvptx/task.c: Likewise.
10346 * config/nvptx/team.c: Likewise.
10347 * config/nvptx/time.c: Likewise.
10348 * config/nvptx/work.c: Likewise.
10349 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
10350 * configure: Regenerate.
10351 * configure.tgt (config_path): Set to "nvptx" for target
10352 nvptx*-*-*.
10353
10354 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10355
10356 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
10357
10358 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
10359
10360 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
10361 (cuda_errlist): Constify.
10362 (errmsg): Move into ...
10363 (cuda_error): ... here. Make smaller.
10364 (_XSTR, _STR): Delete.
10365 (cuda_synames): Delete.
10366 (verify_device_library): Delete.
10367 (nvptx_init): Don't call it.
10368
10369 2015-07-28 Tom de Vries <tom@codesourcery.com>
10370
10371 * testsuite/libgomp.c/uns-outer-4.c: New test.
10372
10373 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
10374
10375 * testsuite/libgomp.c/pr66714.c: New test.
10376
10377 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
10378
10379 PR libgomp/66950
10380 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
10381 (fib_ref): New function.
10382 (fib): Correct corner cases in the recursion.
10383 (main): Replace the non-simd loop with fib_ref call.
10384 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
10385 subroutine.
10386 (fibonacci): Lower the parameter N to 30. Correct accordingly check
10387 for the last array element value. Replace the non-simd loop with
10388 fib_ref call. Remove redundant b_ref array. Remove the comparison
10389 of the last array element with according Fibonacci sequence element.
10390 (fib): Correct corner cases in the recursion.
10391
10392 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
10393
10394 * target.c (gomp_offload_image_to_device): Rename to ...
10395 (gomp_load_image_to_device): ... here.
10396 (GOMP_offload_register): Adjust call.
10397 (gomp_init_device): Likewise.
10398 (gomp_unload_image_from_device): New. Broken out of ...
10399 (GOMP_offload_unregister): ... here. Call it.
10400 (gomp_unload_device): New.
10401 * libgomp.h (gomp_unload_device): Declare.
10402 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
10403 mem maps.
10404
10405 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
10406
10407 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
10408 wait=-specific if.
10409 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
10410 !=0 condition.
10411 (goacc_waits): Move !num_waits handling to ...
10412 (GOACC_wait): ... here, the only caller that might have zero waits.
10413
10414 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
10415 (struct ptx_image_data): Move earlier, add fns field.
10416 (struct ptx_device): Add images and image_lock fields.
10417 (ptx_images, ptx_image_lock): Delete.
10418 (nvptx_open_device): Initialize images and image_lock fields.
10419 (nvptx_close_device): Destroy image_lock.
10420 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
10421 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
10422 fields.
10423
10424 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
10425
10426 * target.c (GOMP_offload_register): Use int for device type arg.
10427 (GOMP_offload_unregister): Likewise.
10428
10429 * target.c (struct_offload_image_descr): Constify host_table.
10430 (gomp_offload_image_to_device): Likewise.
10431 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
10432
10433 * libgomp.h (gomp_device_descr): Constify target data arguments.
10434 * target.c (struct offload_image_descr): Constify target_data.
10435 (gomp_offload_image_to_device): Likewise.
10436 (GOMP_offload_register): Likewise.
10437 (GOMP_offload_unregister): Likewise.
10438 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
10439 GOMP_OFFLOAD_unload_image): Constify target data.
10440 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
10441 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
10442
10443 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
10444
10445 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
10446 Workaround driver library const error.
10447 (struct nvptx_tdata, nvptx_tdata_t): New.
10448 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
10449 type.
10450
10451 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
10452
10453 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
10454 of EPS parameter from integer to real.
10455 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
10456 type of EPS parameter from integer to real.
10457
10458 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10459
10460 * team.c (get_last_team): New.
10461 (gomp_new_team): Recycle last non-nested team if possible.
10462 (gomp_team_end): Move team work share list free lock destruction
10463 to ...
10464 (free_team): ... here.
10465
10466 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
10467
10468 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
10469 and ref from int to double. Replaced their comparison with
10470 an inequality of their difference and EPS.
10471 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
10472 comparison of pri and a reference number with an inequality of their
10473 difference and EPS.
10474 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
10475 the comparison of sum and sum_ref with an inequality of their
10476 difference and EPS.
10477 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
10478 the comparison of pri and a reference number with an inequality of
10479 their difference and EPS.
10480
10481 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
10482
10483 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
10484 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
10485 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
10486 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
10487 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
10488 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
10489 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
10490 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
10491 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
10492 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
10493 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
10494 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
10495 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
10496 variables.
10497 (vec_mult): Likewise. Add #pragma omp taskwait.
10498 (main): Adjust caller.
10499 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
10500 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
10501 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
10502 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
10503 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
10504 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
10505 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
10506 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
10507 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
10508 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
10509 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
10510 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
10511 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
10512 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
10513 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
10514 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
10515 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
10516 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
10517 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
10518 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
10519 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
10520 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
10521 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
10522 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
10523 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
10524 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
10525 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
10526 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
10527 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
10528 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
10529 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
10530 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
10531 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
10532 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
10533 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
10534 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
10535 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
10536 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
10537 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
10538 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
10539 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
10540 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
10541 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
10542 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
10543 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
10544 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
10545 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
10546 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
10547 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
10548 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
10549 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
10550 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
10551 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
10552 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
10553 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
10554 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
10555 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
10556 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
10557 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
10558 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
10559 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
10560 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
10561 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
10562 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
10563 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
10564 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
10565 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
10566 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
10567 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
10568 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
10569 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
10570 (vec_mult): Add !$omp taskwait.
10571 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
10572 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
10573 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
10574 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
10575 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
10576 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
10577 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
10578 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
10579 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
10580 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
10581 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
10582 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
10583 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
10584 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
10585 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
10586 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
10587 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
10588 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
10589 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
10590 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
10591 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
10592 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
10593 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
10594 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
10595 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
10596 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
10597 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
10598 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
10599 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
10600 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
10601 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
10602 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
10603 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
10604 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
10605 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
10606 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
10607 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
10608 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
10609 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
10610 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
10611 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
10612 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
10613 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
10614 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
10615 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
10616 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
10617 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
10618 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
10619 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
10620 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
10621 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
10622 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
10623 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
10624 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
10625 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
10626 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
10627 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
10628 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
10629 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
10630 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
10631 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
10632 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
10633 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
10634 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
10635 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
10636 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
10637 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
10638
10639 2015-07-10 Tom de Vries <tom@codesourcery.com>
10640
10641 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
10642 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
10643
10644 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
10645
10646 PR libgomp/65099
10647 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
10648 in a 64-bit configuration.
10649 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
10650 offloading testing if no such device is available.
10651 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10652 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10653
10654 2015-07-08 Tom de Vries <tom@codesourcery.com>
10655
10656 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
10657 second call to f.
10658 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10659
10660 2015-07-07 Tom de Vries <tom@codesourcery.com>
10661
10662 PR tree-optimization/66642
10663 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
10664 iteration count case.
10665 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
10666 function, factor out of ...
10667 (main): ... here. Test low iteration count case.
10668
10669 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
10670
10671 * libgomp.h (gomp_thread_pool): Comment last_team field.
10672
10673 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
10674
10675 * testsuite/libgomp.c++/pr66702-1.C: Require
10676 vect_simd_clones effective target.
10677 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
10678
10679 2015-06-30 Tom de Vries <tom@codesourcery.com>
10680
10681 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10682 already set. Use DEFAULT_CFLAGS in dg-runtest.
10683 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
10684 "-O2".
10685
10686 2015-06-30 Tom de Vries <tom@codesourcery.com>
10687
10688 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10689 already set. Use DEFAULT_CFLAGS in dg-runtest.
10690 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
10691 * testsuite/libgomp.c++/pr64824.C: Same.
10692 * testsuite/libgomp.c++/pr64868.C: Same.
10693 * testsuite/libgomp.c++/pr66199-1.C: Same.
10694 * testsuite/libgomp.c++/pr66199-2.C: Same.
10695 * testsuite/libgomp.c++/target-2.C: Same.
10696 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
10697 -std=<standard> option.
10698 * testsuite/libgomp.c++/udr-11.C: Same.
10699 * testsuite/libgomp.c++/udr-12.C: Same.
10700 * testsuite/libgomp.c++/udr-13.C: Same.
10701 * testsuite/libgomp.c++/udr-14.C: Same.
10702 * testsuite/libgomp.c++/udr-15.C: Same.
10703 * testsuite/libgomp.c++/udr-16.C: Same.
10704 * testsuite/libgomp.c++/udr-17.C: Same.
10705 * testsuite/libgomp.c++/udr-18.C: Same.
10706 * testsuite/libgomp.c++/udr-19.C: Same.
10707 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
10708 * testsuite/libgomp.c++/simd-1.C: Same.
10709 * testsuite/libgomp.c++/simd-2.C: Same.
10710 * testsuite/libgomp.c++/simd-3.C: Same.
10711 * testsuite/libgomp.c++/simd-4.C: Same.
10712 * testsuite/libgomp.c++/simd-5.C: Same.
10713 * testsuite/libgomp.c++/simd-6.C: Same.
10714 * testsuite/libgomp.c++/simd-7.C: Same.
10715 * testsuite/libgomp.c++/simd-8.C: Same.
10716 * testsuite/libgomp.c++/simd-9.C: Same.
10717 * testsuite/libgomp.c++/simd10.C: Same.
10718 * testsuite/libgomp.c++/simd11.C: Same.
10719 * testsuite/libgomp.c++/simd12.C: Same.
10720 * testsuite/libgomp.c++/simd13.C: Same.
10721
10722 2015-06-30 Jakub Jelinek <jakub@redhat.com>
10723
10724 PR middle-end/66702
10725 * testsuite/libgomp.c++/pr66702-1.C: New test.
10726 * testsuite/libgomp.c++/pr66702-2.C: New test.
10727
10728 2015-06-30 Tom de Vries <tom@codesourcery.com>
10729
10730 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
10731 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
10732 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
10733 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
10734
10735 2015-06-30 Tom de Vries <tom@codesourcery.com>
10736
10737 PR tree-optimization/66652
10738 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
10739 using restrict pointers.
10740 (main): Add arguments to calls to f.
10741 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10742
10743 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
10744
10745 * configure.ac: Fix check for header <sys/sysctl.h>.
10746 * configure: Regenerate.
10747 * config.h.in: Likewise.
10748
10749 2015-06-23 Tom de Vries <tom@codesourcery.com>
10750
10751 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
10752 abort.
10753 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
10754
10755 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
10756
10757 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
10758 acc_device_nvidia.
10759
10760 PR libgomp/66518
10761 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
10762 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10763
10764 2015-06-15 Tom de Vries <tom@codesourcery.com>
10765
10766 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
10767 dg-additional-options for any remaining options.
10768 * testsuite/libgomp.c/atomic-2.c: Same.
10769 * testsuite/libgomp.c/atomic-4.c: Same.
10770 * testsuite/libgomp.c/atomic-5.c: Same.
10771 * testsuite/libgomp.c/atomic-6.c: Same.
10772 * testsuite/libgomp.c/autopar-1.c: Same.
10773 * testsuite/libgomp.c/copyin-1.c: Same.
10774 * testsuite/libgomp.c/copyin-2.c: Same.
10775 * testsuite/libgomp.c/copyin-3.c: Same.
10776 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
10777 * testsuite/libgomp.c/nestedfn-5.c: Same.
10778 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
10779 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
10780 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
10781 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10782 * testsuite/libgomp.c/pr32362-1.c: Same.
10783 * testsuite/libgomp.c/pr32362-2.c: Same.
10784 * testsuite/libgomp.c/pr32362-3.c: Same.
10785 * testsuite/libgomp.c/pr39591-1.c: Same.
10786 * testsuite/libgomp.c/pr39591-2.c: Same.
10787 * testsuite/libgomp.c/pr39591-3.c: Same.
10788 * testsuite/libgomp.c/pr58392.c: Same.
10789 * testsuite/libgomp.c/pr58756.c: Same.
10790 * testsuite/libgomp.c/simd-1.c: Same.
10791 * testsuite/libgomp.c/simd-10.c: Same.
10792 * testsuite/libgomp.c/simd-11.c: Same.
10793 * testsuite/libgomp.c/simd-12.c: Same.
10794 * testsuite/libgomp.c/simd-13.c: Same.
10795 * testsuite/libgomp.c/simd-14.c: Same.
10796 * testsuite/libgomp.c/simd-15.c: Same.
10797 * testsuite/libgomp.c/simd-2.c: Same.
10798 * testsuite/libgomp.c/simd-3.c: Same.
10799 * testsuite/libgomp.c/simd-4.c: Same.
10800 * testsuite/libgomp.c/simd-5.c: Same.
10801 * testsuite/libgomp.c/simd-6.c: Same.
10802 * testsuite/libgomp.c/simd-7.c: Same.
10803 * testsuite/libgomp.c/simd-8.c: Same.
10804 * testsuite/libgomp.c/simd-9.c: Same.
10805
10806 2015-06-15 Tom de Vries <tom@codesourcery.com>
10807
10808 * testsuite/libgomp.c/pr35625.c: Fix typo.
10809
10810 2015-06-15 Tom de Vries <tom@codesourcery.com>
10811
10812 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
10813 in dg-options.
10814 * testsuite/libgomp.c/atomic-3.c: Same.
10815 * testsuite/libgomp.c/debug-1.c: Same.
10816 * testsuite/libgomp.c/nqueens-1.c: Same.
10817 * testsuite/libgomp.c/pr26171.c: Same.
10818 * testsuite/libgomp.c/pr48591.c: Same.
10819 * testsuite/libgomp.c/pr64824.c: Same.
10820 * testsuite/libgomp.c/pr64868.c: Same.
10821 * testsuite/libgomp.c/pr66133.c: Same.
10822 * testsuite/libgomp.c/pr66199-1.c: Same.
10823 * testsuite/libgomp.c/pr66199-2.c: Same.
10824 * testsuite/libgomp.c/target-8.c: Same.
10825
10826 2015-06-15 Tom de Vries <tom@codesourcery.com>
10827
10828 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
10829 -std={gnu99,c99}.
10830 * testsuite/libgomp.c/for-1.c: Same.
10831 * testsuite/libgomp.c/for-2.c: Same.
10832 * testsuite/libgomp.c/for-3.c: Same.
10833 * testsuite/libgomp.c/pr35625.c: Same.
10834 * testsuite/libgomp.c/pr39154.c: Same.
10835 * testsuite/libgomp.c/simd-16.c: Same.
10836 * testsuite/libgomp.c/simd-17.c: Same.
10837
10838 2015-06-13 Tom de Vries <tom@codesourcery.com>
10839
10840 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
10841
10842 2015-06-13 Tom de Vries <tom@codesourcery.com>
10843
10844 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
10845 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10846 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
10847 (N): Define.
10848 (main): Use N instead of hardcoded constants.
10849
10850 2015-06-05 Tom de Vries <tom@codesourcery.com>
10851
10852 merge from gomp4 branch:
10853 2015-05-28 Tom de Vries <tom@codesourcery.com>
10854
10855 PR tree-optimization/65443
10856 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
10857 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
10858 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
10859
10860 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10861
10862 * testsuite/libgomp.graphite/bounds.c: Adjust for
10863 cleanup-tree-dump removal.
10864 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
10865 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10866 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10867 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10868 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10869 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10870 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10871 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10872 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10873 * testsuite/libgomp.graphite/pr41118.c: Likewise.
10874
10875 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
10876
10877 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
10878 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
10879 (futex_wake) [!__x86_64__]: Ditto.
10880
10881 2015-05-28 Julian Brown <julian@codesourcery.com>
10882
10883 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
10884 function comment. Only call gomp_fatal if new argument is true.
10885 (acc_dev_num_out_of_range): New function.
10886 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
10887 acc_dev_num_out_of_range as appropriate.
10888 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
10889 (acc_get_device_num, acc_set_device_num): Update calls to
10890 resolve_device.
10891 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
10892 output.
10893
10894 2015-05-28 Julian Brown <julian@codesourcery.com>
10895
10896 PR libgomp/65742
10897 * oacc-init.c (plugin/plugin-host.h): Include.
10898 (acc_on_device): Check whether we're in an offloaded region for
10899 host_nonshm
10900 plugin. Don't use __builtin_acc_on_device.
10901 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
10902 nonshm_exec flag in thread-local data.
10903 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
10904 data for host_nonshm plugin.
10905 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
10906 for host_nonshm plugin.
10907 * plugin/plugin-host.h: New.
10908
10909 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
10910
10911 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
10912
10913 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
10914
10915 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
10916 Declare as int.
10917 (FUTEX_PRIVATE_FLAG): Remove L suffix.
10918 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
10919 Declare as int.
10920
10921 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
10922
10923 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
10924
10925 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
10926
10927 * target.c (gomp_map_pointer): New function abstracting out
10928 GOMP_MAP_POINTER handling.
10929 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
10930 gomp_map_pointer().
10931
10932 2015-05-19 Jakub Jelinek <jakub@redhat.com>
10933
10934 PR middle-end/66199
10935 * testsuite/libgomp.c/pr66199-1.c: New test.
10936 * testsuite/libgomp.c/pr66199-2.c: New test.
10937 * testsuite/libgomp.c++/pr66199-1.C: New test.
10938 * testsuite/libgomp.c++/pr66199-2.C: New test.
10939 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
10940 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
10941
10942 2015-05-19 Julian Brown <julian@codesourcery.com>
10943
10944 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
10945 on cuInit failure.
10946
10947 2015-05-13 Jakub Jelinek <jakub@redhat.com>
10948
10949 PR middle-end/66133
10950 * testsuite/libgomp.c/pr66133.c: New test.
10951
10952 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
10953
10954 * Makefile.in: Regenerated with automake-1.11.6.
10955 * aclocal.m4: Likewise.
10956 * config.h.in: Likewise.
10957 * configure: Likewise.
10958 * testsuite/Makefile.in: Likewise.
10959
10960 2015-05-08 Jason Merrill <jason@redhat.com>
10961
10962 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
10963 _Complex.
10964
10965 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
10966
10967 2015-05-06 Julian Brown <julian@codesourcery.com>
10968
10969 * oacc-init.c (acc_device_lock): Add explanatory comment.
10970 (resolve_device): Add comment about locking requirement.
10971 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
10972 gomp_init_device and gomp_fini_device calls.
10973 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
10974 (acc_get_device_num, acc_set_device_num): Add locking around
10975 resolve_device and gomp_init_device calls.
10976
10977 2015-05-06 Julian Brown <julian@codesourcery.com>
10978
10979 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
10980 goacc_thread_lock on error paths.
10981 * oacc-mem.c (lookup_host): Remove locking from function. Note
10982 locking requirement for caller in function comment.
10983 (lookup_dev): Likewise.
10984 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
10985 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
10986 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
10987 Add locking.
10988
10989 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
10990
10991 PR testsuite/65205
10992 PR libgomp/65993
10993 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
10994 don't expect "0x" prefix for "%p" format specifier, don't expect
10995 "(nil)" for NULL pointer.
10996 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10997 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10998 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10999 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11000 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11001 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11002 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11003 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11004 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11005 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11006 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11007 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11008 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11009 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11010 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11011 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11012 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11013 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11014 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11015 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11016 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11017 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11018 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11019 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11020 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11021 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11022 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11023 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11024 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
11025 accurately specify what we're looking for.
11026 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11027 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11028 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11029 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11030 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11031
11032 2015-04-30 James Norris <jnorris@codesourcery.com>
11033
11034 PR testsuite/65205
11035 * testsuite/lib/libgomp.exp
11036 (check_effective_target_openacc_host_selected)
11037 (check_effective_target_openacc_host_nonshm_selected): New
11038 procedures.
11039 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
11040 dg-shouldfail.
11041 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11042 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11043 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11044 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11045 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11046 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11047 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11048 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11049 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11050 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11051 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11052 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11053 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11054 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11055 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11056 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11057 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11058 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11059 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11060 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11061 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11062 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11063 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11064 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11065 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11066 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11067 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11068 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11069 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11070 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11071 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11072 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11073 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11074 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11075 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11076 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11077 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11078 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11079 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11080 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11081 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11082 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11083 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11084
11085 2015-04-08 Julian Brown <julian@codesourcery.com>
11086
11087 * libgomp.h (target_mem_desc: Remove mem_map field.
11088 (acc_dispatch_t): Remove open_device_func, close_device_func,
11089 get_device_num_func, set_device_num_func, target_data members.
11090 Change create_thread_data_func argument to device number instead of
11091 generic pointer.
11092 * oacc-async.c (assert.h): Include.
11093 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
11094 (acc_wait_all, acc_wait_all_async): Use current host thread's
11095 active device, not base_dev.
11096 * oacc-cuda.c (acc_get_current_cuda_device)
11097 (acc_get_current_cuda_context, acc_get_cuda_stream)
11098 (acc_set_cuda_stream): Likewise.
11099 * oacc-host.c (host_dispatch): Don't set open_device_func,
11100 close_device_func, get_device_num_func or set_device_num_func.
11101 * oacc-init.c (base_dev, init_key): Remove.
11102 (cached_base_dev): New.
11103 (name_of_acc_device_t): New.
11104 (acc_init_1): Initialise default-numbered device, not zeroth.
11105 (acc_shutdown_1): Close all devices of a given type.
11106 (goacc_destroy_thread): Don't use base_dev.
11107 (lazy_open, lazy_init, lazy_init_and_open): Remove.
11108 (goacc_attach_host_thread_to_device): New.
11109 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
11110 (acc_get_num_devices): Don't use base_dev.
11111 (acc_set_device_type): Reimplement.
11112 (acc_get_device_type): Don't use base_dev.
11113 (acc_get_device_num): Tweak logic.
11114 (acc_set_device_num): Likewise.
11115 (acc_on_device): Use acc_get_device_type.
11116 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
11117 (goacc_lazy_initialize): Reimplement with acc_init and
11118 goacc_attach_host_thread_to_device.
11119 * oacc-int.h (goacc_thread): Add base_dev field.
11120 (base_dev): Remove extern declaration.
11121 (goacc_attach_host_thread_to_device): Add prototype.
11122 * oacc-mem.c (acc_malloc): Use current thread's device instead of
11123 base_dev.
11124 (acc_free): Likewise.
11125 (acc_memcpy_to_device): Likewise.
11126 (acc_memcpy_from_device): Likewise.
11127 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
11128 goacc_lazy_initialize (throughout).
11129 (GOACC_parallel): Use tgt_offset to locate target functions.
11130 * target.c (gomp_map_vars): Don't set tgt->mem_map.
11131 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
11132 (gomp_load_plugin_for_device): Remove open_device, close_device,
11133 get_device_num, set_device_num openacc hook initialisation. Don't set
11134 openacc.target_data.
11135 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
11136 (GOMP_OFFLOAD_openacc_close_device)
11137 (GOMP_OFFLOAD_openacc_get_device_num)
11138 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
11139 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
11140 to int.
11141 * plugin/plugin-nvptx.c (ptx_inited): Remove.
11142 (instantiated_devices, ptx_dev_lock): New.
11143 (struct ptx_image_data): New.
11144 (ptx_devices, ptx_images, ptx_image_lock): New.
11145 (fini_streams_for_device): Reorder cuStreamDestroy call.
11146 (nvptx_get_num_devices): Remove forward declaration.
11147 (nvptx_init): Change return type to bool.
11148 (nvptx_fini): Remove.
11149 (nvptx_attach_host_thread_to_device): New.
11150 (nvptx_open_device): Return struct ptx_device* instead of void*.
11151 (nvptx_close_device): Change argument type to struct ptx_device*,
11152 return type to void.
11153 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
11154 (kernel_target_data, kernel_host_table): Remove static globals.
11155 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
11156 (GOMP_OFFLOAD_init_device): Reimplement.
11157 (GOMP_OFFLOAD_fini_device): Likewise.
11158 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
11159 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
11160 (GOMP_OFFLOAD_host2dev): Use ORD argument.
11161 (GOMP_OFFLOAD_openacc_open_device)
11162 (GOMP_OFFLOAD_openacc_close_device)
11163 (GOMP_OFFLOAD_openacc_set_device_num)
11164 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
11165 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
11166 (device number).
11167
11168 testsuite/
11169 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
11170
11171 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
11172
11173 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
11174 * libgomp.h (struct gomp_memory_mapping): Remove.
11175 (struct target_mem_desc): Change type of mem_map from
11176 gomp_memory_mapping * to splay_tree_s *.
11177 (struct gomp_device_descr): Remove register_image_func, get_table_func.
11178 Add load_image_func, unload_image_func.
11179 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
11180 Remove offload_regions_registered.
11181 (gomp_init_tables): Remove.
11182 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11183 to splay_tree_s *.
11184 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
11185 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
11186 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
11187 offload_regions_registered.
11188 Initialize load_image_func, unload_image_func, mem_map.root.
11189 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
11190 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
11191 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
11192 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
11193 gomp_memory_mapping *. Use dev's lock and splay_tree.
11194 (lookup_dev): Use dev's lock.
11195 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
11196 (acc_is_present): Likewise.
11197 (acc_map_data): Likewise.
11198 (acc_unmap_data): Likewise. Use dev's lock.
11199 (present_create_copy): Likewise.
11200 (delete_copyout): Pass dev to lookup_host instead of mem_map.
11201 (update_dev_host): Likewise.
11202 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
11203 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
11204 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
11205 (GOMP_OFFLOAD_get_table): Remove
11206 (GOMP_OFFLOAD_load_image): New function.
11207 (GOMP_OFFLOAD_unload_image): New function.
11208 * target.c (register_lock): New mutex for offload image registration.
11209 (num_devices): Do not guard with PLUGIN_SUPPORT.
11210 (gomp_realloc_unlock): New static function.
11211 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
11212 before gomp_fatal.
11213 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
11214 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
11215 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
11216 mem_map's.
11217 (gomp_unmap_vars): Likewise.
11218 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
11219 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
11220 (gomp_offload_image_to_device): New static function.
11221 (GOMP_offload_register): Add mutex lock.
11222 Call gomp_offload_image_to_device for all initialized devices.
11223 Replace gomp_realloc with gomp_realloc_unlock.
11224 (GOMP_offload_unregister): New function.
11225 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
11226 get_table_func from the plugin with calls to init_device_func and
11227 gomp_offload_image_to_device.
11228 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11229 to splay_tree_s *.
11230 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
11231 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
11232 (GOMP_target_data): Do not call gomp_init_tables.
11233 (GOMP_target_update): Likewise. Remove argument from gomp_update.
11234 (gomp_load_plugin_for_device): Replace register_image and get_table
11235 with load_image and unload_image in DLSYM ().
11236 (gomp_register_images_for_device): Remove function.
11237 (gomp_target_init): Do not initialize current_device.mem_map.*,
11238 current_device.offload_regions_registered.
11239 Remove call to gomp_register_images_for_device.
11240 Do not free offload_images and num_offload_images.
11241
11242 2015-03-30 Jakub Jelinek <jakub@redhat.com>
11243
11244 PR fortran/65597
11245 * testsuite/libgomp.fortran/pr65597.f90: New test.
11246
11247 2015-03-27 Tom de Vries <tom@codesourcery.com>
11248
11249 PR testsuite/65594
11250 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
11251 (init, check): New function.
11252 (foo): Change return type to void.
11253 (main): Call init and check.
11254
11255 2015-03-27 Tom de Vries <tom@codesourcery.com>
11256
11257 PR testsuite/65594
11258 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
11259 (foo): Use M for non-inner loops to scale down test-case.
11260
11261 2015-03-25 Kai Tietz <ktietz@redhat.com>
11262
11263 PR libgomp/64972
11264 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
11265 (GOACC_data_start): Likewise.
11266 * target.c (gomp_map_vars): Likewise.
11267
11268 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
11269
11270 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
11271 hppa*-*-hpux*.
11272
11273 2015-03-19 Jakub Jelinek <jakub@redhat.com>
11274
11275 * testsuite/libgomp.c/target-10.c: New test.
11276 * testsuite/libgomp.c++/target-4.C: New test.
11277
11278 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11279
11280 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
11281 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
11282
11283 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
11284
11285 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
11286 * configure.ac (*-*-rtems*): Assume Pthread is supported.
11287 (pthread.h): Check for this header file.
11288 * configure: Regenerate.
11289
11290 2015-02-25 Tom de Vries <tom@codesourcery.com>
11291
11292 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
11293 (check_reduction_op, check_reduction_macro, max, min):
11294 Declare.
11295 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
11296 function.
11297 (main): Use new functions.
11298
11299 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
11300
11301 * target.c (gomp_load_plugin_for_device): Use const char * instead of
11302 char * for variables holding dlerror return values.
11303 (DLSYM_OPT): Ditto.
11304
11305 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11306
11307 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
11308
11309 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11310 Cesar Philippidis <cesar@codesourcery.com>
11311
11312 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
11313 GOACC_ctaid, and GOACC_nctaid routines.
11314
11315 2015-02-11 Jakub Jelinek <jakub@redhat.com>
11316
11317 PR c/64824
11318 * testsuite/libgomp.c/atomic-18.c: New test.
11319 * testsuite/libgomp.c++/atomic-16.C: New test.
11320
11321 2015-02-04 Jakub Jelinek <jakub@redhat.com>
11322
11323 PR c/64824
11324 PR c/64868
11325 * testsuite/libgomp.c/pr64824.c: New test.
11326 * testsuite/libgomp.c/pr64868.c: New test.
11327 * testsuite/libgomp.c++/pr64824.C: New test.
11328 * testsuite/libgomp.c++/pr64868.C: New test.
11329
11330 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
11331
11332 PR libgomp/64635
11333 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
11334 Link with -lpthread.
11335 * config/aix/plugin-suffix.h: Delete.
11336
11337 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
11338
11339 PR libgomp/64635
11340 * configure.tgt (*-*-aix*): Use config_path "aix posix".
11341 (*-*-darwin*): Use config_path "bsd darwin posix".
11342 (*-*-hpux*): Use config_path "hpux posix".
11343 * target.c: Add include of plugin-suffix.h and use
11344 SONAME_SUFFIX macro.
11345 * config/aix/plugin-suffix.h: New file.
11346 * config/darwin/plugin-suffix.h: New file.
11347 * config/hpux/plugin-suffix.h: New file.
11348 * config/posix/plugin-suffix.h: New file.
11349
11350 2015-01-23 Jakub Jelinek <jakub@redhat.com>
11351
11352 PR middle-end/64734
11353 * libgomp.c/pr64734.c: New test.
11354
11355 2015-01-23 Tom de Vries <tom@codesourcery.com>
11356
11357 PR libgomp/64672
11358 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
11359
11360 2015-01-23 Tom de Vries <tom@codesourcery.com>
11361
11362 PR libgomp/64707
11363 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
11364 dg-options.
11365
11366 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
11367
11368 PR libgomp/64625
11369 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
11370 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
11371 formal parameter. Update all users.
11372 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
11373 Document unused formal parameter.
11374
11375 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
11376
11377 * oacc-parallel.c: Don't include <alloca.h>.
11378 (GOACC_parallel): Use gomp_alloca instead of alloca.
11379
11380 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
11381
11382 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
11383
11384 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
11385 James Norris <jnorris@codesourcery.com>
11386 Tom de Vries <tom@codesourcery.com>
11387 Julian Brown <julian@codesourcery.com>
11388 Cesar Philippidis <cesar@codesourcery.com>
11389 Nathan Sidwell <nathan@codesourcery.com>
11390 Tobias Burnus <burnus@net-b.de>
11391
11392 * Makefile.am (search_path): Add $(top_srcdir)/../include.
11393 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
11394 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
11395 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
11396 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
11397 Include $(top_srcdir)/plugin/Makefrag.am.
11398 (nodist_libsubinclude_HEADERS): Add openacc.h.
11399 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
11400 openacc.f90, openacc.mod, openacc_kinds.mod.
11401 (omp_lib.mod): Generalize into...
11402 (%.mod): ... this new rule.
11403 (openacc_kinds.mod, openacc.mod): New rules.
11404 * plugin/configfrag.ac: New file.
11405 * configure.ac: Move plugin/offloading support into it. Include
11406 it. Instantiate testsuite/libgomp-test-support.pt.exp.
11407 * plugin/Makefrag.am: New file.
11408 * testsuite/Makefile.am (OFFLOAD_TARGETS)
11409 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
11410 export.
11411 (libgomp-test-support.exp): New rule.
11412 (all-local): Depend on it.
11413 * Makefile.in: Regenerate.
11414 * testsuite/Makefile.in: Regenerate.
11415 * config.h.in: Likewise.
11416 * configure: Likewise.
11417 * configure.tgt: Harden shell syntax.
11418 * env.c: Include "oacc-int.h".
11419 (parse_acc_device_type): New function.
11420 (gomp_debug_var, goacc_device_type, goacc_device_num): New
11421 variables.
11422 (initialize_env): Initialize those. Call
11423 goacc_runtime_initialize.
11424 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
11425 (gomp_fatal): Call gomp_vfatal.
11426 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
11427 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
11428 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
11429 (splay_tree_node, splay_tree, splay_tree_key)
11430 (struct target_mem_desc, struct splay_tree_key_s)
11431 (struct gomp_memory_mapping, struct acc_dispatch_t)
11432 (struct gomp_device_descr, gomp_acc_insert_pointer)
11433 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
11434 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
11435 (gomp_free_memmap, gomp_fini_device): New declarations.
11436 (gomp_vdebug, gomp_debug): New macros.
11437 Include "splay-tree.h".
11438 * libgomp.map (OACC_2.0): New symbol version. Use for
11439 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
11440 acc_set_device_type_h_, acc_get_device_type,
11441 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
11442 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
11443 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
11444 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
11445 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
11446 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
11447 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
11448 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
11449 acc_copyin_array_h_, acc_present_or_copyin,
11450 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
11451 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
11452 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
11453 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
11454 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
11455 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
11456 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
11457 acc_update_device, acc_update_device_32_h_,
11458 acc_update_device_64_h_, acc_update_device_array_h_,
11459 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
11460 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
11461 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
11462 acc_is_present_64_h_, acc_is_present_array_h_,
11463 acc_memcpy_to_device, acc_memcpy_from_device,
11464 acc_get_current_cuda_device, acc_get_current_cuda_context,
11465 acc_get_cuda_stream, acc_set_cuda_stream.
11466 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
11467 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
11468 GOACC_update, GOACC_wait, GOACC_get_thread_num,
11469 GOACC_get_num_threads.
11470 (GOMP_PLUGIN_1.0): New symbol version. Use for
11471 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
11472 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
11473 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
11474 GOMP_PLUGIN_acc_thread.
11475 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
11476 environment variable.
11477 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
11478 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
11479 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
11480 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
11481 (splay_tree_remove): New declarations.
11482 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
11483 (splay_tree_remove, splay_tree_lookup): Move into...
11484 * splay-tree.c: ... this new file.
11485 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
11486 (splay_tree_node, splay_tree, splay_tree_key)
11487 (struct target_mem_desc, struct splay_tree_key_s)
11488 (struct gomp_device_descr): Don't declare.
11489 (num_devices_openmp): New variable.
11490 (gomp_get_num_devices ): Use it.
11491 (gomp_init_targets_once): New function.
11492 (gomp_get_num_devices ): Use it.
11493 (get_kind, gomp_copy_from_async, gomp_free_memmap)
11494 (gomp_fini_device, gomp_register_image_for_device): New functions.
11495 (gomp_map_vars): Add devaddrs parameter.
11496 (gomp_update): Add mm parameter.
11497 (gomp_init_device): Move most of it into...
11498 (gomp_init_tables): ... this new function.
11499 (gomp_register_images_for_device): Remove function.
11500 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
11501 Make them hidden instead of static.
11502 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
11503 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
11504 (GOMP_target_end_data, GOMP_target_update)
11505 (gomp_load_plugin_for_device, gomp_target_init): Update for
11506 OpenACC changes.
11507 * oacc-async.c: New file.
11508 * oacc-cuda.c: Likewise.
11509 * oacc-host.c: Likewise.
11510 * oacc-init.c: Likewise.
11511 * oacc-int.h: Likewise.
11512 * oacc-mem.c: Likewise.
11513 * oacc-parallel.c: Likewise.
11514 * oacc-plugin.c: Likewise.
11515 * oacc-plugin.h: Likewise.
11516 * oacc-ptx.h: Likewise.
11517 * openacc.f90: Likewise.
11518 * openacc.h: Likewise.
11519 * openacc_lib.h: Likewise.
11520 * plugin/plugin-host.c: Likewise.
11521 * plugin/plugin-nvptx.c: Likewise.
11522 * libgomp-plugin.c: Likewise.
11523 * libgomp-plugin.h: Likewise.
11524 * libgomp_target.h: Remove file after merging content into the
11525 former file. Update all users.
11526 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
11527 (offload_targets_s, offload_targets_s_openacc): New variables.
11528 (check_effective_target_openacc_nvidia_accel_present)
11529 (check_effective_target_openacc_nvidia_accel_selected): New
11530 procedures.
11531 (libgomp_init): Update for OpenACC changes.
11532 * testsuite/libgomp-test-support.exp.in: New file.
11533 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
11534 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11535 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11536 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
11537 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
11538 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11539 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
11540 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11541 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
11542 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
11543 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
11544 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11545 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
11546 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11547 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
11548 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11549 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
11550 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
11551 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
11552 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
11553 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
11554 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
11555 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11556 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11557 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11558 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11559 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11560 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11561 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11562 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11563 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11564 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
11565 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
11566 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
11567 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
11568 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11569 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11570 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11571 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
11572 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
11573 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11574 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11575 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11576 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11577 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11578 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
11579 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11580 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11581 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11582 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11583 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11584 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11585 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11586 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11587 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11588 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11589 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11590 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11591 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11592 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
11593 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11594 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
11595 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11596 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11597 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11598 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
11599 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
11600 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11601 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11602 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11603 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
11604 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11605 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11606 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11607 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
11608 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
11609 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11610 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11611 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
11612 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
11613 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
11614 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
11615 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11616 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11617 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11618 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
11619 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
11620 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11621 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11622 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
11623 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
11624 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
11625 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
11626 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11627 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11628 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11629 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11630 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
11631 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11632 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11633 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
11634 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
11635 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
11636 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11637 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
11638 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
11639 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
11640 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
11641 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
11642 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11643 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
11644 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
11645 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11646 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
11647 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
11648 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11649 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
11650 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
11651 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
11652 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
11653 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
11654 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
11655 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11656 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
11657 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
11658 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
11659 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
11660 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
11661 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
11662 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
11663 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
11664 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
11665 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11666 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
11667 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11668 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11669 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11670 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11671 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11672 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
11673 Likewise.
11674 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
11675 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
11676 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
11677 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
11678 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
11679 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11680 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11681 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11682 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11683 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11684 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11685 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11686 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11687 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11688 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11689 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11690 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11691 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11692 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11693 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11694 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11695 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11696 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11697 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11698 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11699 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11700 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11701 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11702 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11703 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11704 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11705 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11706 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11707 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11708 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11709 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11710 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11711 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11712 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11713 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11714 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11715 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11716 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11717 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11718 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11719 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11720 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11721 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11722 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11723 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11724 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11725 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11726 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11727 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11728 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11729 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11730 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11731 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11732 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11733 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11734
11735 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
11736 Julian Brown <julian@codesourcery.com>
11737 David Malcolm <dmalcolm@redhat.com>
11738
11739 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
11740 to "GNU Offloading and Multi Processing Runtime Library". Change
11741 all users.
11742 * configure: Regenerate.
11743 * libgomp.texi: Update.
11744
11745 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
11746
11747 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
11748 "$tgt_dir/lib32".
11749 * configure: Regenerate.
11750
11751 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
11752 "intelmic" in $offload_targets.
11753
11754 2015-01-05 Jakub Jelinek <jakub@redhat.com>
11755
11756 Update copyright years.
11757
11758 * libgomp.texi: Bump @copying's copyright year.
11759
11760 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11761
11762 * testsuite/lib/libgomp.exp: Load target-utils.exp.
11763 Move load of target-supports.exp earlier.
11764
11765 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
11766
11767 * testsuite/libgomp.c/target-9.c: New test.
11768
11769 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
11770
11771 * config.h.in: Regenerate.
11772 * configure: Regenerate.
11773 * configure.ac: Add GCC_CHECK_EMUTLS.
11774 * libgomp.h: Add check for USE_EMUTLS: this case
11775 is equal to HAVE_TLS.
11776 * team.c: Likewise.
11777
11778 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
11779
11780 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
11781
11782 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
11783 Ilya Verbin <ilya.verbin@intel.com>
11784
11785 * testsuite/libgomp.c/target-critical-1.c: New test.
11786
11787 2014-11-26 Jakub Jelinek <jakub@redhat.com>
11788
11789 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
11790 to dg-options unless expensive testing is on.
11791 (TESTITERS): Define to N if not defined.
11792 (main): Use TESTITERS instead of N.
11793 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
11794 dg-additional-options depending on whether expensive testing is on.
11795 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
11796 Decrease N to 100000 and CHUNKSZ to 10000.
11797
11798 2014-11-24 Jakub Jelinek <jakub@redhat.com>
11799
11800 PR fortran/63938
11801 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
11802 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
11803
11804 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
11805
11806 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
11807
11808 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
11809
11810 PR bootstrap/63784
11811 * configure: Regenerated.
11812
11813 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
11814
11815 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
11816 vect_simd_clones effective target.
11817 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
11818
11819 2014-11-14 Jakub Jelinek <jakub@redhat.com>
11820
11821 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
11822 of 32 as block_size.
11823 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
11824 instead of 32 as block_size.
11825
11826 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
11827 Ilya Verbin <ilya.verbin@intel.com>
11828
11829 * Makefile.in: Regenerate.
11830 * configure: Regenerate.
11831 * configure.ac: Set up offload_additional_options,
11832 offload_additional_lib_paths and offload_targets.
11833 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
11834 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
11835 * testsuite/Makefile.in: Regenerate.
11836 * testsuite/lib/libgomp.exp (libgomp_init): Append
11837 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
11838 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
11839 build directory to LD_LIBRARY_PATH for intelmic offload targets.
11840
11841 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
11842 Ilya Verbin <ilya.verbin@intel.com>
11843 Kirill Yukhin <kirill.yukhin@intel.com>
11844 Ilya Tocar <ilya.tocar@intel.com>
11845
11846 * testsuite/lib/libgomp.exp
11847 (check_effective_target_offload_device): New.
11848 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
11849 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
11850 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
11851 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
11852 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
11853 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
11854 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
11855 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
11856 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
11857 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
11858 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
11859 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
11860 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
11861 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
11862 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
11863 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
11864 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
11865 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
11866 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
11867 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
11868 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
11869 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
11870 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
11871 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
11872 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
11873 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
11874 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
11875 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
11876 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
11877 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
11878 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
11879 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
11880 * testsuite/libgomp.c/target-7.c: Fix test.
11881 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
11882 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
11883 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
11884 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
11885 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
11886 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
11887 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
11888 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
11889 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
11890 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
11891 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
11892 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
11893 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
11894 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
11895 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
11896 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
11897 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
11898 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
11899 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
11900 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
11901 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
11902 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
11903 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
11904 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
11905 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
11906 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
11907 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
11908 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
11909 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
11910 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
11911 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
11912
11913 2014-11-13 Jakub Jelinek <jakub@redhat.com>
11914 Ilya Verbin <ilya.verbin@intel.com>
11915 Thomas Schwinge <thomas@codesourcery.com>
11916 Andrey Turetskiy <andrey.turetskiy@intel.com>
11917
11918 * libgomp.map (GOMP_4.0.1): New symbol version.
11919 Add GOMP_offload_register.
11920 * libgomp_target.h: New file.
11921 * splay-tree.h: New file.
11922 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
11923 (gomp_target_init): New forward declaration.
11924 (gomp_is_initialized): New static variable.
11925 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
11926 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
11927 New structures.
11928 (offload_images, num_offload_images, devices, num_devices): New static
11929 variables.
11930 (splay_compare): New static function.
11931 (struct gomp_device_descr): New structure.
11932 (gomp_get_num_devices): Call gomp_target_init.
11933 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
11934 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
11935 (GOMP_offload_register): New function.
11936 (GOMP_target): Arrange for host callback to be performed in a separate
11937 initial thread and contention group, inheriting ICVs from
11938 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
11939 Add device initialization and lookup for target function in splay tree.
11940 (GOMP_target_data): Add device initialization and call gomp_map_vars.
11941 (GOMP_target_end_data): Call gomp_unmap_vars.
11942 (GOMP_target_update): Add device initialization and call gomp_update.
11943 (gomp_load_plugin_for_device, gomp_register_images_for_device)
11944 (gomp_target_init): New static functions.
11945
11946 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
11947 Thomas Schwinge <thomas@codesourcery.com>
11948 Ilya Verbin <ilya.verbin@intel.com>
11949 Andrey Turetskiy <andrey.turetskiy@intel.com>
11950
11951 * config.h.in: Regenerate.
11952 * configure: Regenerate.
11953 * configure.ac: Check for libdl, required for plugin support.
11954 (PLUGIN_SUPPORT): Define if plugins are supported.
11955 (enable_offload_targets): Support Intel MIC targets.
11956 (OFFLOAD_TARGETS): List of target names suitable for offloading.
11957
11958 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11959
11960 PR target/63610
11961 * configure: Regenerate.
11962
11963 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11964
11965 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
11966
11967 2014-10-06 Marek Polacek <polacek@redhat.com>
11968
11969 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
11970 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
11971 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
11972 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
11973
11974 2014-10-06 Marek Polacek <polacek@redhat.com>
11975
11976 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
11977 * testsuite/libgomp.c/nqueens-1.c: Likewise.
11978 * testsuite/libgomp.c/pr26943-3.c: Likewise.
11979 * testsuite/libgomp.c/pr26943-4.c: Likewise.
11980 * testsuite/libgomp.c/pr36802-2.c: Likewise.
11981 * testsuite/libgomp.c/pr36802-3.c: Likewise.
11982 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
11983 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
11984 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
11985 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
11986 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
11987 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
11988 * testsuite/libgomp.c/omp-single-1.c: Likewise.
11989 * testsuite/libgomp.c/omp-single-2.c: Likewise.
11990 * testsuite/libgomp.c/omp_matvec.c: Likewise.
11991 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
11992 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
11993 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
11994 declarations.
11995
11996 2014-10-03 Jakub Jelinek <jakub@redhat.com>
11997
11998 PR libgomp/61200
11999 * testsuite/libgomp.c/pr61200.c: New test.
12000
12001 2014-09-18 Jakub Jelinek <jakub@redhat.com>
12002
12003 PR c++/63248
12004 * testsuite/libgomp.c++/pr63248.C: New test.
12005
12006 2014-08-04 Jakub Jelinek <jakub@redhat.com>
12007
12008 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
12009 is not zero, but taskgroup->children is NULL and there are
12010 any task->children, schedule those instead of waiting.
12011 * testsuite/libgomp.c/depend-6.c: New test.
12012 * testsuite/libgomp.c/depend-7.c: New test.
12013 * testsuite/libgomp.c/depend-8.c: New test.
12014 * testsuite/libgomp.c/depend-9.c: New test.
12015 * testsuite/libgomp.c/depend-10.c: New test.
12016
12017 2014-08-01 Jakub Jelinek <jakub@redhat.com>
12018
12019 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
12020 (struct gomp_taskwait): New type.
12021 (struct gomp_task): Add taskwait and parent_depends_on, remove
12022 in_taskwait and taskwait_sem fields.
12023 (gomp_finish_task): Don't destroy taskwait_sem.
12024 * task.c (gomp_init_task): Don't init in_taskwait, instead init
12025 taskwait and parent_depends_on.
12026 (GOMP_task): For if (0) tasks with depend clause that depend on
12027 earlier tasks don't defer them, instead call
12028 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
12029 Initialize redundant_out field, for redundant out entries just
12030 move them at the end of linked list instead of removing them
12031 completely, and set redundant_out flag instead of redundant.
12032 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
12033 that task.
12034 (gomp_task_run_post_handle_dependers): If parent is in
12035 gomp_task_maybe_wait_for_dependencies and newly runnable task
12036 is not parent_depends_on, queue it in parent->children linked
12037 list after all runnable tasks with parent_depends_on set.
12038 Adjust for addition of taskwait indirection.
12039 (gomp_task_run_post_remove_parent): If parent is in
12040 gomp_task_maybe_wait_for_dependencies and task to be removed
12041 is parent_depends_on, decrement n_depend and if needed awake
12042 parent. Adjust for addition of taskwait indirection.
12043 (GOMP_taskwait): Adjust for addition of taskwait indirection.
12044 (gomp_task_maybe_wait_for_dependencies): New function.
12045 * testsuite/libgomp.c/depend-5.c: New test.
12046
12047 2014-07-13 Tobias Burnus <burnus@net-b.de>
12048
12049 * testsuite/libgomp.fortran/pr34020.f90: Make compile
12050 with TS 18508/Fortran 2015.
12051
12052 2014-07-06 Marek Polacek <polacek@redhat.com>
12053
12054 PR c/6940
12055 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
12056
12057 2014-07-03 Jakub Jelinek <jakub@redhat.com>
12058
12059 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
12060 matches regex $lang_source_re, add $lang_include_flags to options.
12061 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
12062 * testsuite/libgomp.c++/c++.exp: Likewise.
12063 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
12064 and lang_include_flags instead of adding -fintrinsic-modules-path= to
12065 ALWAYS_CFLAGS.
12066 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
12067
12068 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
12069
12070 * testsuite/libgomp.fortran/fortran.exp: Explain
12071 gfortran-dg-runtest usage.
12072
12073 2014-06-25 Jakub Jelinek <jakub@redhat.com>
12074
12075 * testsuite/libgomp.fortran/simd5.f90: New test.
12076 * testsuite/libgomp.fortran/simd6.f90: New test.
12077 * testsuite/libgomp.fortran/simd7.f90: New test.
12078
12079 2014-06-24 Jakub Jelinek <jakub@redhat.com>
12080
12081 * testsuite/libgomp.c/for-2.c: Define SC to static for
12082 #pragma omp for simd testing.
12083 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
12084 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
12085 SC macro.
12086 * testsuite/libgomp.c/simd-14.c: New test.
12087 * testsuite/libgomp.c/simd-15.c: New test.
12088 * testsuite/libgomp.c/simd-16.c: New test.
12089 * testsuite/libgomp.c/simd-17.c: New test.
12090 * testsuite/libgomp.c++/for-10.C: Define SC to static for
12091 #pragma omp for simd testing.
12092 * testsuite/libgomp.c++/simd10.C: New test.
12093 * testsuite/libgomp.c++/simd11.C: New test.
12094 * testsuite/libgomp.c++/simd12.C: New test.
12095 * testsuite/libgomp.c++/simd13.C: New test.
12096
12097 * testsuite/libgomp.fortran/aligned1.f03: New test.
12098 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
12099 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
12100 tasks with !$omp parallel !$omp single.
12101 * testsuite/libgomp.fortran/target8.f90: New test.
12102 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
12103 not to use trim in the combiner, instead call elemental function.
12104 (fn): New elemental function.
12105 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
12106 Make elemental.
12107 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
12108 omp_in): Likewise.
12109 * testsuite/libgomp.fortran/udr12.f90: New test.
12110 * testsuite/libgomp.fortran/udr13.f90: New test.
12111 * testsuite/libgomp.fortran/udr14.f90: New test.
12112 * testsuite/libgomp.fortran/udr15.f90: New test.
12113
12114 2014-06-18 Jakub Jelinek <jakub@redhat.com>
12115
12116 * omp_lib.f90.in (openmp_version): Set to 201307.
12117 * omp_lib.h.in (openmp_version): Likewise.
12118 * testsuite/libgomp.c/target-8.c: New test.
12119 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
12120 and inbranch clauses.
12121 * testsuite/libgomp.fortran/depend-3.f90: New test.
12122 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
12123 openmp_version.
12124 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12125 * testsuite/libgomp.fortran/target1.f90: New test.
12126 * testsuite/libgomp.fortran/target2.f90: New test.
12127 * testsuite/libgomp.fortran/target3.f90: New test.
12128 * testsuite/libgomp.fortran/target4.f90: New test.
12129 * testsuite/libgomp.fortran/target5.f90: New test.
12130 * testsuite/libgomp.fortran/target6.f90: New test.
12131 * testsuite/libgomp.fortran/target7.f90: New test.
12132
12133 2014-06-10 Jakub Jelinek <jakub@redhat.com>
12134
12135 PR fortran/60928
12136 * testsuite/libgomp.fortran/allocatable9.f90: New test.
12137 * testsuite/libgomp.fortran/allocatable10.f90: New test.
12138 * testsuite/libgomp.fortran/allocatable11.f90: New test.
12139 * testsuite/libgomp.fortran/allocatable12.f90: New test.
12140 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
12141 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
12142 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
12143 * testsuite/libgomp.fortran/associate1.f90: New test.
12144 * testsuite/libgomp.fortran/associate2.f90: New test.
12145 * testsuite/libgomp.fortran/procptr1.f90: New test.
12146
12147 2014-06-06 Jakub Jelinek <jakub@redhat.com>
12148
12149 * testsuite/libgomp.fortran/simd1.f90: New test.
12150 * testsuite/libgomp.fortran/udr1.f90: New test.
12151 * testsuite/libgomp.fortran/udr2.f90: New test.
12152 * testsuite/libgomp.fortran/udr3.f90: New test.
12153 * testsuite/libgomp.fortran/udr4.f90: New test.
12154 * testsuite/libgomp.fortran/udr5.f90: New test.
12155 * testsuite/libgomp.fortran/udr6.f90: New test.
12156 * testsuite/libgomp.fortran/udr7.f90: New test.
12157 * testsuite/libgomp.fortran/udr8.f90: New test.
12158 * testsuite/libgomp.fortran/udr9.f90: New test.
12159 * testsuite/libgomp.fortran/udr10.f90: New test.
12160 * testsuite/libgomp.fortran/udr11.f90: New test.
12161
12162 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
12163
12164 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
12165 vect_simd_clones effective target.
12166 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
12167
12168 2014-05-21 Jakub Jelinek <jakub@redhat.com>
12169
12170 PR middle-end/61252
12171 * testsuite/libgomp.c++/simd-9.C: New test.
12172
12173 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
12174
12175 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
12176 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
12177 texts according to their @menu entry positions.
12178
12179 2014-05-11 Jakub Jelinek <jakub@redhat.com>
12180
12181 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
12182 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
12183 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
12184 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
12185 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
12186 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
12187 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
12188 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
12189 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
12190 * testsuite/libgomp.fortran/depend-1.f90: New test.
12191 * testsuite/libgomp.fortran/depend-2.f90: New test.
12192 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
12193 * testsuite/libgomp.fortran/simd1.f90: New test.
12194 * testsuite/libgomp.fortran/simd2.f90: New test.
12195 * testsuite/libgomp.fortran/simd3.f90: New test.
12196 * testsuite/libgomp.fortran/simd4.f90: New test.
12197 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
12198
12199 2014-05-02 Jakub Jelinek <jakub@redhat.com>
12200
12201 * testsuite/libgomp.c/simd-10.c: New test.
12202 * testsuite/libgomp.c/simd-11.c: New test.
12203 * testsuite/libgomp.c/simd-12.c: New test.
12204 * testsuite/libgomp.c/simd-13.c: New test.
12205
12206 2014-04-24 Jakub Jelinek <jakub@redhat.com>
12207
12208 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
12209 atomic type clauses in any order and optional comma in between.
12210 * testsuite/libgomp.c++/atomic-15.C: Likewise.
12211 * testsuite/libgomp.c/atomic-17.c: Likewise.
12212
12213 * testsuite/libgomp.c/simd-7.c: New test.
12214 * testsuite/libgomp.c/simd-8.c: New test.
12215 * testsuite/libgomp.c/simd-9.c: New test.
12216 * testsuite/libgomp.c/loop-16.c: New test.
12217
12218 2014-04-02 Richard Henderson <rth@redhat.com>
12219
12220 * config/linux/futex.h (futex_wait): Get error value from errno.
12221 (futex_wake): Likewise.
12222
12223 2014-03-25 Jakub Jelinek <jakub@redhat.com>
12224
12225 PR c++/60331
12226 * testsuite/libgomp.c++/udr-11.C: New test.
12227 * testsuite/libgomp.c++/udr-12.C: New test.
12228 * testsuite/libgomp.c++/udr-13.C: New test.
12229 * testsuite/libgomp.c++/udr-14.C: New test.
12230 * testsuite/libgomp.c++/udr-15.C: New test.
12231 * testsuite/libgomp.c++/udr-16.C: New test.
12232 * testsuite/libgomp.c++/udr-17.C: New test.
12233 * testsuite/libgomp.c++/udr-18.C: New test.
12234 * testsuite/libgomp.c++/udr-19.C: New test.
12235
12236 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12237
12238 Update copyright years
12239
12240 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12241
12242 * hashtab.h: Use the standard form for the copyright notice.
12243
12244 2014-01-02 Tobias Burnus <burnus@net-b.de>
12245
12246 * libgomp.texi: Bump @copying's copyright year.
12247
12248 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
12249
12250 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
12251 alloca () with __builtin_alloca ().
12252 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
12253 * testsuite/libgomp.c/lock-3.c: Likewise.
12254 * testsuite/libgomp.c/pr48591.c: Likewise.
12255
12256 2013-12-17 Jakub Jelinek <jakub@redhat.com>
12257
12258 PR testsuite/59534
12259 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
12260 comparisons.
12261
12262 2013-12-16 Jakub Jelinek <jakub@redhat.com>
12263
12264 PR libgomp/58756
12265 * testsuite/libgomp.c/pr58756.c: New test.
12266
12267 2013-12-12 Jakub Jelinek <jakub@redhat.com>
12268
12269 PR libgomp/59467
12270 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
12271 !$omp parallel.
12272
12273 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
12274
12275 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
12276 ALWAYS_CFLAGS.
12277 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
12278 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
12279 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
12280 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
12281 Likewise.
12282
12283 * libgomp_g.h: Include <stddef.h> for size_t.
12284
12285 * libgomp.spec.in: Update comment about libgomp's dependencies.
12286 * configure.ac: Likewise.
12287 * configure: Regenerate.
12288
12289 2013-10-16 Tobias Burnus <burnus@net-b.de>
12290
12291 * libgomp.texi: (Runtime Library Routines): Update references for
12292 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
12293 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
12294 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
12295 (Environment Variables): Update references for OpenMP 4.0. Add
12296 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
12297 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
12298 order.
12299
12300 2013-10-14 Jakub Jelinek <jakub@redhat.com>
12301
12302 * env.c (parse_bind_var): Initialize value to avoid
12303 (false positive) warning.
12304
12305 2013-10-12 Jakub Jelinek <jakub@redhat.com>
12306
12307 PR libgomp/58691
12308 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
12309 to check variable.
12310 (gomp_init_num_threads): Move i variable declaration into
12311 #ifdef CPU_ALLOC_SIZE block.
12312 * config/linux/affinity.c (gomp_affinity_init_level): Test
12313 gomp_places_list_len == 0 rather than gomp_places_list == 0
12314 when checking for topology reading error.
12315 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
12316 * env.c (parse_affinity): Add ignore argument, if true, don't populate
12317 gomp_places_list, only parse env var and always return false.
12318 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
12319 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
12320 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
12321 and either of these variables were parsed correctly into a places
12322 list.
12323
12324 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12325 Jakub Jelinek <jakub@redhat.com>
12326
12327 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
12328 of 5 loopfn matches.
12329 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12330 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12331 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12332 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12333 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12334 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12335 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12336 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12337
12338 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12339
12340 * Makefile.am (omp_lib.mod): Streamline rule.
12341 * Makefile.in: Regenerate.
12342
12343 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
12344 exceptions.
12345
12346 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
12347 * testsuite/libgomp.fortran/lib1.f90: Likewise.
12348 * testsuite/libgomp.fortran/lib2.f: Likewise.
12349 * testsuite/libgomp.fortran/lib3.f: Likewise.
12350
12351 * configure.ac: Typo fix.
12352 * configure: Regenerate.
12353
12354 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
12355 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12356
12357 * omp.h.in: Don't touch the user's namespace.
12358
12359 2013-10-11 Jakub Jelinek <jakub@redhat.com>
12360 Tobias Burnus <burnus@net-b.de>
12361 Richard Henderson <rth@redhat.com>
12362
12363 * target.c: New file.
12364 * Makefile.am (libgomp_la_SOURCES): Add target.c.
12365 * Makefile.in: Regenerated.
12366 * libgomp_g.h (GOMP_task): Add depend argument.
12367 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12368 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12369 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
12370 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12371 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12372 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
12373 GOMP_taskgroup_start, GOMP_taskgroup_end,
12374 GOMP_parallel_sections): New prototypes.
12375 * fortran.c (omp_is_initial_device): Add ialias_redirect.
12376 (omp_is_initial_device_): New function.
12377 (ULP, STR1, STR2, ialias_redirect): Removed.
12378 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
12379 omp_set_default_device_8_, omp_get_default_device_,
12380 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
12381 functions.
12382 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12383 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12384 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
12385 @@GOMP_4.0.
12386 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
12387 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
12388 omp_set_default_device, omp_set_default_device_,
12389 omp_set_default_device_8_, omp_get_default_device,
12390 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
12391 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
12392 omp_get_team_num_): Export @@OMP_4.0.
12393 * team.c (struct gomp_thread_start_data): Add place field.
12394 (gomp_thread_start): Clear thr->thread_pool and
12395 thr->task before returning. Use gomp_team_barrier_wait_final
12396 instead of gomp_team_barrier_wait. Initialize thr->place.
12397 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
12398 team_cancelled and task_queued_count fields.
12399 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
12400 before calling pthread_exit.
12401 (gomp_free_thread): No longer static. Use
12402 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
12403 (gomp_team_start): Add flags argument. Set
12404 thr->thread_pool->threads_busy to nthreads immediately after creating
12405 new pool. Use gomp_managed_threads_lock instead of
12406 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
12407 (gomp_team_end): Use gomp_managed_threads_lock instead of
12408 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
12409 of gomp_team_barrier_wait. If team->team_cancelled, call
12410 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
12411 rather than thr->ts.work_share.
12412 (initialize_team): Don't call gomp_sem_init here.
12413 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
12414 caller.
12415 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
12416 * env.c (gomp_global_icv): Add default_device_var, target_data and
12417 bind_var initializers.
12418 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12419 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12420 gomp_places_list_len): New variables.
12421 (parse_bind_var, parse_one_place, parse_places_var): New functions.
12422 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
12423 sized places.
12424 (gomp_cancel_var): New global variable.
12425 (parse_int): New function.
12426 (handle_omp_display_env): New function.
12427 (initialize_env): Use it. Initialize default_device_var.
12428 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
12429 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
12430 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
12431 been successfully parsed (and call gomp_init_affinity in that case).
12432 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12433 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12434 omp_get_team_num, omp_is_initial_device): New functions.
12435 * libgomp.h: Include stdlib.h.
12436 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
12437 Define.
12438 (struct target_mem_desc): Forward declare.
12439 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
12440 and thread_limit_var fields.
12441 (gomp_get_num_devices): New prototype.
12442 (gomp_cancel_var): New extern decl.
12443 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
12444 team_cancelled and task_queued_count fields. Add comments about
12445 task_{,queued_,running_}count.
12446 (gomp_cancel_kind): New enum.
12447 (gomp_work_share_end_cancel): New prototype.
12448 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
12449 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
12450 and depend fields.
12451 (struct gomp_taskgroup): New type.
12452 (struct gomp_task_depend_entry,
12453 struct gomp_dependers_vec): New types.
12454 (gomp_finish_task): Free depend_hash if non-NULL.
12455 (struct gomp_team_state): Add place_partition_off
12456 and place_partition_len fields.
12457 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12458 gomp_places_list_len): New extern decls.
12459 (struct gomp_thread): Add place field.
12460 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12461 (gomp_init_thread_affinity): Add place argument.
12462 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12463 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12464 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12465 gomp_affinity_init_level, gomp_affinity_print_place): New
12466 prototypes.
12467 (gomp_team_start): Add flags argument.
12468 (gomp_thread_limit_var, gomp_remaining_threads_count,
12469 gomp_remaining_threads_lock): Remove.
12470 (gomp_managed_threads_lock): New variable.
12471 (struct gomp_thread_pool): Add threads_busy field.
12472 (gomp_free_thread): New prototype.
12473 * task.c: Include hashtab.h.
12474 (hash_entry_type): New typedef.
12475 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
12476 (gomp_init_task): Clear dependers, depend_hash, depend_count,
12477 copy_ctors_done and taskgroup fields.
12478 (GOMP_task): Add depend argument, handle depend clauses. If
12479 gomp_team_barrier_cancelled or if it's taskgroup has been
12480 cancelled, don't queue or start new tasks. Set copy_ctors_done
12481 field if needed. Initialize taskgroup field. If copy_ctors_done
12482 and already cancelled, don't discard the task. If taskgroup is
12483 non-NULL, enqueue the task into taskgroup queue. Increment
12484 num_children field in taskgroup. Increment task_queued_count.
12485 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
12486 gomp_task_run_post_remove_taskgroup): New inline functions.
12487 (gomp_task_run_post_handle_depend_hash,
12488 gomp_task_run_post_handle_dependers,
12489 gomp_task_run_post_handle_depend): New functions.
12490 (GOMP_taskwait): Use them. If more than one new tasks
12491 have been queued, wake other threads if needed.
12492 (gomp_barrier_handle_tasks): Likewise. If
12493 gomp_team_barrier_cancelled, don't start any new tasks, just free
12494 all tasks.
12495 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
12496 * omp_lib.f90.in
12497 (omp_proc_bind_kind, omp_proc_bind_false,
12498 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12499 omp_proc_bind_spread): New params.
12500 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12501 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12502 omp_get_team_num, omp_is_initial_device): New interfaces.
12503 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
12504 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
12505 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
12506 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
12507 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
12508 useless use omp_lib_kinds.
12509 * omp.h.in (omp_proc_bind_t): New typedef.
12510 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12511 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12512 omp_get_team_num, omp_is_initial_device): New prototypes.
12513 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
12514 through to gomp_team_start.
12515 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
12516 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
12517 Adjust gomp_parallel_loop_start callers.
12518 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12519 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12520 GOMP_loop_end_cancel): New functions.
12521 (GOMP_parallel_end): Add ialias_redirect.
12522 * hashtab.h: New file.
12523 * libgomp.texi (Environment Variables): Minor cleanup,
12524 update section refs to OpenMP 4.0rc2.
12525 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
12526 environment variables.
12527 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
12528 team->work_shares_to_free to thr->ts.work_share before calling
12529 free_work_share.
12530 (gomp_work_share_end_cancel): New function.
12531 * config/linux/proc.c: Include errno.h.
12532 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
12533 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
12534 sizeof (cpu_set_t) to determine number of iterations. Fix up check
12535 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
12536 gomp_cpuset_size is sizeof (cpu_set_t).
12537 (gomp_init_num_threads): Initialize gomp_cpuset_size,
12538 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
12539 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
12540 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
12541 contain any logical CPUs.
12542 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
12543 is NULL. Use gomp_cpusetp instead of &cpuset and pass
12544 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
12545 pthread_getaffinity_np. Check gomp_places_list instead of
12546 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
12547 * config/linux/bar.c (gomp_barrier_wait_end,
12548 gomp_barrier_wait_last): Use BAR_* defines.
12549 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
12550 from state where needed. Set work_share_cancelled to 0 on last
12551 thread.
12552 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
12553 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
12554 functions.
12555 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
12556 Add cpusetsize argument.
12557 (gomp_cpuset_size, gomp_cpusetp): Declare.
12558 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
12559 (affinity_counter): Remove.
12560 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
12561 if CPU_ALLOC_SIZE isn't defined.
12562 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
12563 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
12564 bind current thread to the first place.
12565 (gomp_init_thread_affinity): Rewritten. Add place argument, just
12566 pthread_setaffinity_np to gomp_places_list[place].
12567 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12568 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12569 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12570 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
12571 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12572 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12573 (gomp_barrier_t): Add awaited_final field.
12574 (gomp_barrier_init): Initialize awaited_final field.
12575 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
12576 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
12577 prototypes.
12578 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
12579 defines.
12580 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
12581 gomp_team_barrier_cancelled): New inline functions.
12582 (gomp_barrier_last_thread,
12583 gomp_team_barrier_set_task_pending,
12584 gomp_team_barrier_clear_task_pending,
12585 gomp_team_barrier_set_waiting_for_tasks,
12586 gomp_team_barrier_waiting_for_tasks,
12587 gomp_team_barrier_done): Use BAR_* defines.
12588 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
12589 (gomp_barrier_wait_end): Use BAR_* defines.
12590 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
12591 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
12592 Use BAR_* defines.
12593 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
12594 gomp_team_barrier_cancel): New functions.
12595 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
12596 argument.
12597 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12598 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12599 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12600 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
12601 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12602 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12603 (gomp_barrier_t): Add cancellable field.
12604 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
12605 gomp_team_barrier_cancel): New prototypes.
12606 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
12607 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
12608 gomp_team_barrier_cancelled): New inline functions.
12609 (gomp_barrier_wait_start, gomp_barrier_last_thread,
12610 gomp_team_barrier_set_task_pending,
12611 gomp_team_barrier_clear_task_pending,
12612 gomp_team_barrier_set_waiting_for_tasks,
12613 gomp_team_barrier_waiting_for_tasks,
12614 gomp_team_barrier_done): Use BAR_* defines.
12615 * barrier.c (GOMP_barrier_cancel): New function.
12616 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
12617 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12618 omp_proc_bind_spread): New params.
12619 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12620 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12621 omp_get_team_num, omp_is_initial_device): New externals.
12622 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
12623 New functions.
12624 (gomp_resolve_num_threads): Adjust for thread_limit now being in
12625 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12626 infinity. If not nested, just return minimum of max_num_threads
12627 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
12628 to the returned value. Otherwise, don't update atomically
12629 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
12630 (GOMP_parallel_end): Adjust for thread_limit now being in
12631 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12632 infinity. Adjust threads_busy in the pool rather than
12633 gomp_remaining_threads_count. Remember team->nthreads and call
12634 gomp_team_end before adjusting threads_busy, if not nested
12635 afterwards, just set it to 1 non-atomically. Add ialias.
12636 (GOMP_parallel_start): Adjust gomp_team_start caller.
12637 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
12638 * testsuite/libgomp.c/affinity-1.c: New test.
12639 * testsuite/libgomp.c/atomic-15.c: New test.
12640 * testsuite/libgomp.c/atomic-16.c: New test.
12641 * testsuite/libgomp.c/atomic-17.c: New test.
12642 * testsuite/libgomp.c/cancel-for-1.c: New test.
12643 * testsuite/libgomp.c/cancel-for-2.c: New test.
12644 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
12645 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
12646 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
12647 * testsuite/libgomp.c/cancel-sections-1.c: New test.
12648 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
12649 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
12650 * testsuite/libgomp.c/depend-1.c: New test.
12651 * testsuite/libgomp.c/depend-2.c: New test.
12652 * testsuite/libgomp.c/depend-3.c: New test.
12653 * testsuite/libgomp.c/depend-4.c: New test.
12654 * testsuite/libgomp.c/for-1.c: New test.
12655 * testsuite/libgomp.c/for-1.h: New file.
12656 * testsuite/libgomp.c/for-2.c: New test.
12657 * testsuite/libgomp.c/for-2.h: New file.
12658 * testsuite/libgomp.c/for-3.c: New test.
12659 * testsuite/libgomp.c/pr58392.c: New test.
12660 * testsuite/libgomp.c/simd-1.c: New test.
12661 * testsuite/libgomp.c/simd-2.c: New test.
12662 * testsuite/libgomp.c/simd-3.c: New test.
12663 * testsuite/libgomp.c/simd-4.c: New test.
12664 * testsuite/libgomp.c/simd-5.c: New test.
12665 * testsuite/libgomp.c/simd-6.c: New test.
12666 * testsuite/libgomp.c/target-1.c: New test.
12667 * testsuite/libgomp.c/target-2.c: New test.
12668 * testsuite/libgomp.c/target-3.c: New test.
12669 * testsuite/libgomp.c/target-4.c: New test.
12670 * testsuite/libgomp.c/target-5.c: New test.
12671 * testsuite/libgomp.c/target-6.c: New test.
12672 * testsuite/libgomp.c/target-7.c: New test.
12673 * testsuite/libgomp.c/taskgroup-1.c: New test.
12674 * testsuite/libgomp.c/thread-limit-1.c: New test.
12675 * testsuite/libgomp.c/thread-limit-2.c: New test.
12676 * testsuite/libgomp.c/thread-limit-3.c: New test.
12677 * testsuite/libgomp.c/udr-1.c: New test.
12678 * testsuite/libgomp.c/udr-2.c: New test.
12679 * testsuite/libgomp.c/udr-3.c: New test.
12680 * testsuite/libgomp.c++/affinity-1.C: New test.
12681 * testsuite/libgomp.c++/atomic-10.C: New test.
12682 * testsuite/libgomp.c++/atomic-11.C: New test.
12683 * testsuite/libgomp.c++/atomic-12.C: New test.
12684 * testsuite/libgomp.c++/atomic-13.C: New test.
12685 * testsuite/libgomp.c++/atomic-14.C: New test.
12686 * testsuite/libgomp.c++/atomic-15.C: New test.
12687 * testsuite/libgomp.c++/cancel-for-1.C: New test.
12688 * testsuite/libgomp.c++/cancel-for-2.C: New test.
12689 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
12690 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
12691 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
12692 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
12693 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
12694 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
12695 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
12696 * testsuite/libgomp.c++/cancel-test.h: New file.
12697 * testsuite/libgomp.c++/for-9.C: New test.
12698 * testsuite/libgomp.c++/for-10.C: New test.
12699 * testsuite/libgomp.c++/for-11.C: New test.
12700 * testsuite/libgomp.c++/simd-1.C: New test.
12701 * testsuite/libgomp.c++/simd-2.C: New test.
12702 * testsuite/libgomp.c++/simd-3.C: New test.
12703 * testsuite/libgomp.c++/simd-4.C: New test.
12704 * testsuite/libgomp.c++/simd-5.C: New test.
12705 * testsuite/libgomp.c++/simd-6.C: New test.
12706 * testsuite/libgomp.c++/simd-7.C: New test.
12707 * testsuite/libgomp.c++/simd-8.C: New test.
12708 * testsuite/libgomp.c++/target-1.C: New test.
12709 * testsuite/libgomp.c++/target-2.C: New test.
12710 * testsuite/libgomp.c++/target-2-aux.cc: New file.
12711 * testsuite/libgomp.c++/target-3.C: New test.
12712 * testsuite/libgomp.c++/taskgroup-1.C: New test.
12713 * testsuite/libgomp.c++/udr-1.C: New test.
12714 * testsuite/libgomp.c++/udr-2.C: New test.
12715 * testsuite/libgomp.c++/udr-3.C: New test.
12716 * testsuite/libgomp.c++/udr-4.C: New test.
12717 * testsuite/libgomp.c++/udr-5.C: New test.
12718 * testsuite/libgomp.c++/udr-6.C: New test.
12719 * testsuite/libgomp.c++/udr-7.C: New test.
12720 * testsuite/libgomp.c++/udr-8.C: New test.
12721 * testsuite/libgomp.c++/udr-9.C: New test.
12722
12723 2013-09-20 Jakub Jelinek <jakub@redhat.com>
12724
12725 PR testsuite/57605
12726 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
12727 ALWAYS_CFLAGS.
12728
12729 2013-09-20 Alan Modra <amodra@gmail.com>
12730
12731 * configure: Regenerate.
12732
12733 2013-09-19 Jakub Jelinek <jakub@redhat.com>
12734
12735 * testsuite/libgomp.c/sections-2.c: New test.
12736
12737 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
12738
12739 * testsuite/libgomp.fortran/strassen.f90:
12740 Add dg-skip-if aarch64_tiny.
12741
12742 2013-06-20 Iain Sandoe <iain@codesourcery.com>
12743 Cesar Philippidis <cesar@codesourcery.com>
12744
12745 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
12746 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
12747 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
12748 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12749 * testsuite/libgomp.graphite/graphite.exp: Likewise.
12750 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
12751 Use dg-runtest rather than gfortran-dg-runtest.
12752
12753 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
12754
12755 * testsuite/libgomp.c/icv-2.c: Extend current handling of
12756 Linux-based x86 systems to cover all GNU systems.
12757 * testsuite/libgomp.c/lock-3.c: Likewise.
12758 * testsuite/libgomp.c/pr48591.c: Likewise.
12759
12760 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
12761
12762 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
12763 GNU/Hurd, as done for Linux-based systems.
12764
12765 * config/posix/ptrlock.h: Fix comment.
12766
12767 2013-05-27 Tobias Burnus <burnus@net-b.de>
12768
12769 PR fortran/57423
12770 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
12771 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
12772 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
12773 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
12774 omp_destroy_nest_lock): Correct arguments to match the one in
12775 the OpenMP spec.
12776 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
12777 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
12778 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
12779 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
12780
12781 2013-05-16 Jakub Jelinek <jakub@redhat.com>
12782
12783 * testsuite/libgomp.c/loop-13.c: New test.
12784 * testsuite/libgomp.c/loop-14.c: New test.
12785 * testsuite/libgomp.c/loop-15.c: New test.
12786 * testsuite/libgomp.c++/loop-13.C: New test.
12787 * testsuite/libgomp.c++/loop-14.C: New test.
12788 * testsuite/libgomp.c++/loop-15.C: New test.
12789
12790 2013-02-06 Jakub Jelinek <jakub@redhat.com>
12791
12792 PR middle-end/56217
12793 * testsuite/libgomp.c++/pr56217.C: New test.
12794
12795 2013-02-01 Alan Modra <amodra@gmail.com>
12796
12797 * task.c (GOMP_task, GOMP_taskwait): Comment.
12798
12799 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
12800 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
12801
12802 PR libgomp/55561
12803 * config/linux/wait.h (do_spin): Use atomic load for addr.
12804 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
12805 for intptr and ptrlock.
12806 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
12807 for ptrlock.
12808
12809 2013-01-22 Alan Modra <amodra@gmail.com>
12810
12811 PR libgomp/51376
12812 PR libgomp/56073
12813 * task.c (GOMP_task): Revert 2011-12-09 change.
12814 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
12815 barrier to read task->children..
12816 (gomp_barrier_handle_tasks): ..and matching atomic store with
12817 release barrier here when setting parent->children to NULL.
12818
12819 2013-01-16 Jakub Jelinek <jakub@redhat.com>
12820 Tobias Burnus <burnus@net-b.de>
12821
12822 PR driver/55884
12823 * testsuite/libgomp.fortran/fortran.exp: Use
12824 -fintrinsic-modules-path= instead of
12825 -fintrinsic-modules-path.
12826
12827 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
12828
12829 Update copyright years.
12830
12831 2012-12-19 Tobias Burnus <burnus@net-b.de>
12832
12833 * testsuite/libgomp.fortran/fortran.exp: Set
12834 -fintrinsic-modules-path.
12835
12836 2012-12-19 Tobias Burnus <burnus@net-b.de>
12837
12838 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
12839 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
12840
12841 2012-11-21 Jakub Jelinek <jakub@redhat.com>
12842
12843 PR libgomp/55411
12844 * team.c (gomp_free_thread): Decrease gomp_managed_threads
12845 if pool had any threads_used.
12846
12847 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
12848
12849 * testsuite/libgomp.c++/pr24455.C: Use
12850 -Wl,-undefined,dynamic_lookup on darwin.
12851
12852 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
12853
12854 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
12855
12856 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
12857
12858 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
12859
12860 2012-10-23 Ian Bolton <ian.bolton@arm.com>
12861 Jim MacArthur <jim.macarthur@arm.com>
12862 Marcus Shawcroft <marcus.shawcroft@arm.com>
12863 Nigel Stephens <nigel.stephens@arm.com>
12864 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12865 Richard Earnshaw <rearnsha@arm.com>
12866 Sofiane Naci <sofiane.naci@arm.com>
12867 Stephen Thomas <stephen.thomas@arm.com>
12868 Tejas Belagod <tejas.belagod@arm.com>
12869 Yufeng Zhang <yufeng.zhang@arm.com>
12870
12871 * configure.tgt: Add AArch64.
12872
12873 2012-10-04 Jason Merrill <jason@redhat.com>
12874
12875 * testsuite/libgomp.c++/tls-init1.C: New.
12876
12877 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
12878
12879 * configure: Regenerated.
12880
12881 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
12882
12883 * config/linux/mips/futex.h (sys_futex0): Change to static
12884 function with noinline, nomips16 attributes under MIPS16. Adjust
12885 asm statement to place 'li v0,SYS_futex' immediately before
12886 syscall insn.
12887
12888 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
12889
12890 * libgomp.texi (Library Index): Renamed from "Index" to prevent
12891 conflict with index.html on case-insensitive file systems.
12892
12893 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
12894
12895 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
12896 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
12897
12898 2012-07-02 Richard Guenther <rguenther@suse.de>
12899 Michael Matz <matz@suse.de>
12900 Tobias Grosser <tobias@grosser.es>
12901 Sebastian Pop <sebpop@gmail.com>
12902
12903 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
12904 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12905 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12906 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12907
12908 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
12909
12910 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
12911
12912 2012-06-22 Richard Guenther <rguenther@suse.de>
12913
12914 Merge from graphite branch
12915 2012-01-13 Tobias Grosser <tobias@grosser.es>
12916
12917 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
12918 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12919
12920 2012-06-07 Jakub Jelinek <jakub@redhat.com>
12921
12922 PR middle-end/53580
12923 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
12924 use GOMP_barrier () call instead.
12925 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12926 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12927 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
12928 call GOMP_barrier instead.
12929 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12930
12931 2012-06-06 Jakub Jelinek <jakub@redhat.com>
12932
12933 PR libgomp/52993
12934 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
12935 argument to memset call.
12936
12937 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
12938
12939 * configure: Regenerated.
12940
12941 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
12942
12943 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
12944
12945 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
12946
12947 PR bootstrap/52812
12948 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
12949
12950 2012-03-22 Jakub Jelinek <jakub@redhat.com>
12951
12952 PR middle-end/52547
12953 * testsuite/libgomp.c/pr52547.c: New test.
12954
12955 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
12956
12957 * testsuite/lib/libgomp.exp: load fortran-modules.exp
12958
12959 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12960
12961 * configure.tgt (mips-sgi-irix6*): Remove.
12962
12963 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12964
12965 * configure.tgt (alpha*-dec-osf*): Remove.
12966
12967 * config/osf/sem.h: Remove.
12968 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
12969
12970 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
12971
12972 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
12973
12974 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12975
12976 PR libstdc++/52188
12977 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
12978 Remove ENABLE_SYMVERS_SOL2.
12979 * configure: Regenerate.
12980 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
12981 (PREPROCESS): New variable.
12982 (libgomp.ver): New target.
12983 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
12984 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
12985 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
12986 Use libgomp.ver.
12987 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
12988 * Makefile.in: Regenerate.
12989
12990 2012-02-14 Walter Lee <walt@tilera.com>
12991
12992 * configure.tgt: Handle tilegx and tilepro.
12993 * config/linux/tile/futex.h: New file.
12994
12995 2012-02-08 Richard Guenther <rguenther@suse.de>
12996
12997 PR tree-optimization/46886
12998 * testsuite/libgomp.c/pr46886.c: New testcase.
12999
13000 2012-01-25 Matthias Klose <doko@ubuntu.com>
13001
13002 * config/linux/arm: Remove empty directory.
13003 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
13004
13005 2011-12-09 Alan Modra <amodra@gmail.com>
13006
13007 PR libgomp/51376
13008 * task.c (GOMP_taskwait): Don't access task->children outside of
13009 task_lock mutex region.
13010 (GOMP_task): Likewise.
13011
13012 2011-12-06 Jakub Jelinek <jakub@redhat.com>
13013
13014 PR libgomp/51132
13015 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
13016 to file scope.
13017 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13018 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13019 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13020 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13021 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13022
13023 2011-12-02 Alan Modra <amodra@gmail.com>
13024
13025 * config/linux/affinity.c: Use atomic rather than sync builtin.
13026 * config/linux/lock.c: Likewise.
13027 * config/linux/ptrlock.h: Likewise.
13028 * config/linux/ptrlock.c: Likewise.
13029 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
13030 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
13031 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
13032 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
13033 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
13034 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
13035 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
13036 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
13037 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
13038 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
13039
13040 2011-11-30 Alan Modra <amodra@gmail.com>
13041
13042 PR libgomp/51298
13043 * config/linux/bar.h: Use atomic rather than sync builtins.
13044 * config/linux/bar.c: Likewise. Add missing acquire
13045 synchronisation on generation field.
13046 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
13047 double unlock.
13048
13049 2011-11-30 Alan Modra <amodra@gmail.com>
13050
13051 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
13052 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
13053 * config/linux/mutex.h: Use atomic rather than sync builtins.
13054 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
13055 * config/linux/omp-lock.h: Comment fix.
13056 * config/linux/arm/mutex.h: Delete.
13057 * config/linux/powerpc/mutex.h: Delete.
13058 * config/linux/ia64/mutex.h: Delete.
13059 * config/linux/mips/mutex.h: Delete.
13060
13061 2011-11-30 Alan Modra <amodra@gmail.com>
13062
13063 PR libgomp/51249
13064 * config/linux/sem.h: Rewrite.
13065 * config/linux/sem.c: Rewrite.
13066
13067 2011-11-28 Richard Henderson <rth@redhat.com>
13068
13069 * libgomp.h (enum memmodel): New.
13070
13071 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
13072
13073 * configure: Regenerate.
13074
13075 2011-10-10 Matthias Klose <doko@ubuntu.com>
13076
13077 * config/posix95: Remove empty directory.
13078
13079 2011-08-26 Jakub Jelinek <jakub@redhat.com>
13080
13081 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
13082
13083 2011-08-19 Jakub Jelinek <jakub@redhat.com>
13084
13085 PR fortran/49792
13086 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
13087 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
13088
13089 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13090
13091 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
13092
13093 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13094
13095 PR libgomp/49965
13096 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
13097
13098 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
13099
13100 * config/linux/proc.h: New.
13101 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
13102 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
13103 (gomp_init_num_threads): Update call to cpuset_popcount.
13104 (get_num_procs): Ditto.
13105 * config/linux/affinity.c (gomp_init_affinity): Call
13106 gomp_cpuset_popcount.
13107
13108 2011-08-02 Jakub Jelinek <jakub@redhat.com>
13109
13110 PR fortran/42041
13111 PR fortran/46752
13112 * omp.h.in (omp_in_final): New prototype.
13113 * omp_lib.f90.in (omp_in_final): New interface.
13114 (omp_integer_kind, omp_logical_kind): Remove
13115 and replace all its uses in the module with 4.
13116 (openmp_version): Change to 201107.
13117 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
13118 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
13119 kind for the parameters.
13120 (omp_in_final): New external.
13121 (openmp_version): Change to 201107.
13122 * task.c (omp_in_final): New function.
13123 (gomp_init_task): Initialize final_task.
13124 (GOMP_task): Remove unused attribute from flags. Handle final
13125 tasks.
13126 (GOMP_taskyield): New function.
13127 (omp_in_final): Return true if if (false) or final (true) task
13128 or descendant of final (true).
13129 * fortran.c (omp_in_final_): New function.
13130 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
13131 (GOMP_3.0): Export GOMP_taskyield.
13132 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
13133 variables.
13134 (parse_unsigned_long_list): New function.
13135 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
13136 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
13137 even if parse_affinity returned false.
13138 * config/linux/affinity.c (gomp_init_affinity): Handle
13139 gomp_cpu_affinity_len == 0.
13140 * libgomp_g.h (GOMP_taskyield): New prototype.
13141 * libgomp.h (struct gomp_task): Add final_task field.
13142 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
13143 * team.c (gomp_team_start): Override new task's nthreads_var icv
13144 if list form OMP_NUM_THREADS has been used and it has value for
13145 the new nesting level.
13146
13147 * testsuite/libgomp.c/atomic-11.c: New test.
13148 * testsuite/libgomp.c/atomic-12.c: New test.
13149 * testsuite/libgomp.c/atomic-13.c: New test.
13150 * testsuite/libgomp.c/atomic-14.c: New test.
13151 * testsuite/libgomp.c/reduction-6.c: New test.
13152 * testsuite/libgomp.c/task-5.c: New test.
13153 * testsuite/libgomp.c++/atomic-2.C: New test.
13154 * testsuite/libgomp.c++/atomic-3.C: New test.
13155 * testsuite/libgomp.c++/atomic-4.C: New test.
13156 * testsuite/libgomp.c++/atomic-5.C: New test.
13157 * testsuite/libgomp.c++/atomic-6.C: New test.
13158 * testsuite/libgomp.c++/atomic-7.C: New test.
13159 * testsuite/libgomp.c++/atomic-8.C: New test.
13160 * testsuite/libgomp.c++/atomic-9.C: New test.
13161 * testsuite/libgomp.c++/task-8.C: New test.
13162 * testsuite/libgomp.c++/reduction-4.C: New test.
13163 * testsuite/libgomp.fortran/allocatable7.f90: New test.
13164 * testsuite/libgomp.fortran/allocatable8.f90: New test.
13165 * testsuite/libgomp.fortran/crayptr3.f90: New test.
13166 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
13167 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
13168 * testsuite/libgomp.fortran/pointer1.f90: New test.
13169 * testsuite/libgomp.fortran/pointer2.f90: New test.
13170 * testsuite/libgomp.fortran/task4.f90: New test.
13171
13172 2011-08-02 Tobias Burnus <burnus@net-b.de>
13173
13174 * libgomp.texi: Update OpenMP spec references to 3.1.
13175 (omp_in_final,OMP_PROC_BIND): New sections.
13176 (OMP_NUM_THREADS): Document that the value can be now a list.
13177 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
13178
13179 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
13180
13181 * config/linux/x86/futex.h: Check __x86_64__ instead of
13182 __LP64__.
13183
13184 2011-07-29 Jakub Jelinek <jakub@redhat.com>
13185
13186 PR middle-end/49897
13187 PR middle-end/49898
13188 * testsuite/libgomp.c/pr49897-1.c: New test.
13189 * testsuite/libgomp.c/pr49897-2.c: New test.
13190 * testsuite/libgomp.c/pr49898-1.c: New test.
13191 * testsuite/libgomp.c/pr49898-2.c: New test.
13192
13193 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
13194
13195 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
13196 for ia32 instead of ilp32.
13197
13198 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
13199 * testsuite/libgomp.c/atomic-6.c: Likewise.
13200
13201 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
13202
13203 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
13204 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
13205
13206 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13207
13208 PR libgomp/45351
13209 * config/osf/sem.h: New file.
13210 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
13211
13212 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13213
13214 PR target/49541
13215 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
13216 ldflags.
13217
13218 2011-07-15 Jakub Jelinek <jakub@redhat.com>
13219
13220 * config/linux/wait.h (do_spin): New inline, largely copied
13221 from do_wait, just don't do futex_wait here, instead return true if
13222 it should be done.
13223 (do_wait): Implement using do_spin.
13224 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
13225 to prototype.
13226 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13227 __sync_bool_compare_and_swap, pass the oldval to
13228 gomp_mutex_lock_slow.
13229 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
13230 If all mutex contenders are just spinning and not sleeping, don't
13231 change state to 2 unnecessarily. Optimize the loop when state has
13232 already become 2 to use just one atomic operation per loop instead
13233 of two.
13234 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
13235 to prototype.
13236 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13237 __sync_bool_compare_and_swap, pass the oldval to
13238 gomp_mutex_lock_slow.
13239
13240 2011-06-22 Jakub Jelinek <jakub@redhat.com>
13241
13242 PR libgomp/49490
13243 * iter.c (gomp_iter_static_next): For chunk size 0
13244 only use n ceil/ nthreads size for the first
13245 n % nthreads threads in the team instead of
13246 all threads except for the last few ones which
13247 get less work or none at all.
13248 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
13249 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
13250 chunk argument, set run_sched_modifier to 0 for static
13251 resp. 1 for other kinds. If chunk argument is 0
13252 and not static, set value to 1.
13253
13254 2011-05-19 Jakub Jelinek <jakub@redhat.com>
13255
13256 PR c++/49043
13257 * testsuite/libgomp.c++/pr49043.C: New test.
13258
13259 PR c++/48869
13260 * testsuite/libgomp.c++/pr48869.C: New test.
13261
13262 2011-05-06 Jakub Jelinek <jakub@redhat.com>
13263
13264 PR fortran/48894
13265 * fortran.c: Include limits.h.
13266 (TO_INT): Define.
13267 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
13268 *set.
13269 (omp_set_num_threads_8_, omp_set_schedule_8_,
13270 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
13271 omp_get_team_size_8_): Use TO_INT macro.
13272 * testsuite/libgomp.fortran/pr48894.f90: New test.
13273
13274 2011-04-13 Jakub Jelinek <jakub@redhat.com>
13275
13276 PR middle-end/48591
13277 * testsuite/libgomp.c/pr48591.c: New test.
13278
13279 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13280
13281 PR bootstrap/48135
13282 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
13283 * configure: Regenerate.
13284
13285 2011-02-27 Jakub Jelinek <jakub@redhat.com>
13286
13287 PR fortran/47886
13288 * testsuite/libgomp.fortran/task3.f90: New test.
13289
13290 2011-02-24 Tobias Burnus <burnus@net-b.de>
13291
13292 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
13293
13294 2011-02-23 Jakub Jelinek <jakub@redhat.com>
13295
13296 PR libgomp/47854
13297 * libgomp.texi (omp_get_wtime): Don't say time in the past
13298 must be Unix Epoch.
13299
13300 2011-02-18 Jakub Jelinek <jakub@redhat.com>
13301
13302 PR libgomp/47804
13303 * testsuite/libgomp.fortran/fortran.exp: Check for both
13304 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
13305 but $blddir != "", still append ${blddir}/${lang_library_path}
13306 to ld_library_path.
13307
13308 2011-02-16 Tobias Burnus <burnus@net-b.de>
13309
13310 PR libgomp/47758
13311 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
13312 of libquadmath.a before adding its libpath to ldflags.
13313
13314 2011-02-14 Jakub Jelinek <jakub@redhat.com>
13315
13316 PR libgomp/47731
13317 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
13318 to FUTEX_WAIT futex syscall.
13319 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
13320
13321 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13322
13323 * configure: Regenerate.
13324
13325 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
13326
13327 PR libstdc++/36104
13328 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
13329
13330 2011-01-16 Gerald Pfeifer
13331
13332 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
13333
13334 2010-12-14 Jakub Jelinek <jakub@redhat.com>
13335
13336 PR fortran/46874
13337 * libgomp.fortran/allocatable6.f90: New test.
13338
13339 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13340
13341 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
13342 * configure: Regenerate.
13343
13344 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
13345
13346 PR target/40125
13347 PR lto/46695
13348 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
13349 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
13350 * aclocal.m4: Regenerate.
13351 * configure: Regenerate.
13352 * Makefile.in: Regenerate.
13353 * testsuite/Makefile.in: Regenerate.
13354
13355 2010-12-02 Jakub Jelinek <jakub@redhat.com>
13356
13357 PR fortran/46753
13358 * libgomp.fortran/pr46753.f90: New test.
13359
13360 PR libgomp/43706
13361 * env.c (initialize_env): Default to spin count 300000
13362 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
13363 is specified.
13364
13365 PR libgomp/45240
13366 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
13367 at the end if sync builtins aren't supported.
13368
13369 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13370
13371 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
13372
13373 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13374
13375 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
13376
13377 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
13378
13379 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
13380
13381 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13382 Tobias Burnus <burnus@net-b.de>
13383
13384 PR fortran/32049
13385 * configure.ac:
13386 * configure: Regenerate.
13387
13388 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
13389
13390 * config/linux/futex.h: New.
13391 * config/linux/arm/mutex.h: New.
13392 * configure.tgt (arm*-*-linux*): Add config path.
13393
13394 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
13395
13396 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13397
13398 2010-09-23 Tobias Burnus <burnus@net-b.de>
13399
13400 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
13401 Change Fortran datatype to LOGICAL.
13402 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
13403 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
13404
13405 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13406
13407 * configure: Regenerate.
13408
13409 2010-07-26 Jakub Jelinek <jakub@redhat.com>
13410
13411 * libgomp.texi: Add function keyword to a couple of Fortran
13412 interfaces, use integer instead of int for Fortran.
13413
13414 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
13415
13416 * libgomp.texi: Fix spelling and pasto problems throughout.
13417 Adjust prototypes to match code.
13418
13419 2010-07-24 Tobias Burnus <burnus@net-b.de>
13420
13421 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
13422 silence -fwhole-file warning.
13423
13424 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13425
13426 * configure.tgt (*-*-solaris2.[56]*): Removed.
13427
13428 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13429
13430 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
13431 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
13432 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
13433 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
13434 targetting solaris2*.
13435 * configure: Regenerate.
13436 * config.h.in: Regenerate.
13437
13438 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
13439 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
13440 Add libgomp_version_dep.
13441 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
13442 versioning.
13443 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
13444 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
13445 * Makefile.in: Regenerate.
13446
13447 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
13448 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13449 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
13450 to common block, protected by
13451 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13452
13453 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
13454
13455 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
13456
13457 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
13458
13459 PR bootstrap/43170
13460 * configure: Regenerate.
13461
13462 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13463
13464 PR other/43620
13465 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13466 * configure: Regenerate.
13467 * Makefile.in: Regenerate.
13468 * testsuite/Makefile.in: Regenerate.
13469
13470 2010-04-26 Jakub Jelinek <jakub@redhat.com>
13471
13472 PR c/43893
13473 * testsuite/libgomp.c/pr43893.c: New test.
13474 * testsuite/libgomp.c++/pr43893.C: New test.
13475
13476 2010-04-21 Jakub Jelinek <jakub@redhat.com>
13477
13478 PR middle-end/43570
13479 * testsuite/libgomp.fortran/vla8.f90: New test.
13480
13481 2010-04-20 Jakub Jelinek <jakub@redhat.com>
13482
13483 PR libgomp/43706
13484 * config/linux/affinity.c (gomp_init_affinity): Decrease
13485 gomp_available_cpus if affinity mask confines the process to fewer
13486 CPUs.
13487 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
13488 non-NULL, just return gomp_available_cpus.
13489
13490 PR libgomp/43569
13491 * sections.c (gomp_sections_init): Initialize ws->mode.
13492
13493 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
13494
13495 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
13496 not unused bar variable.
13497 * configure: Regenerate.
13498
13499 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13500
13501 * Makefile.in: Regenerate.
13502 * aclocal.m4: Regenerate.
13503 * testsuite/Makefile.in: Regenerate.
13504
13505 2010-03-22 Jakub Jelinek <jakub@redhat.com>
13506
13507 PR libgomp/42942
13508 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
13509 (initialize_env): Adjust callers.
13510 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
13511 when the argument is 0.
13512
13513 * testsuite/libgomp.c/pr42942.c: New test.
13514
13515 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
13516
13517 PR middle-end/42644
13518 PR middle-end/42130
13519 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13520 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
13521
13522 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13523
13524 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
13525 * testsuite/libgomp.c++/task-6.C: Likewise.
13526
13527 2010-01-28 Steve Ellcey <sje@cup.hp.com>
13528
13529 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
13530
13531 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
13532
13533 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
13534 * configure: Regenerate.
13535
13536 2010-01-26 Jakub Jelinek <jakub@redhat.com>
13537
13538 PR fortran/42866
13539 * testsuite/libgomp.fortran/allocatable5.f90: New test.
13540
13541 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
13542
13543 * configure.ac: Test for executability of GFORTRAN.
13544 * configure: Regenerate.
13545
13546 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13547
13548 * configure: Regenerate.
13549
13550 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
13551
13552 PR libgomp/42602
13553 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
13554
13555 2010-01-03 Richard Guenther <rguenther@suse.de>
13556
13557 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
13558
13559 2009-12-23 Sebastian Pop <sebpop@gmail.com>
13560
13561 * testsuite/libgomp.graphite/pr4118.c: New.
13562
13563 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13564
13565 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
13566 for darwin, protect the test with require-effective-target tls_runtime.
13567 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
13568
13569 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13570
13571 PR target/41605
13572 * testsuite/lib/libgomp.exp: Provide -B options to allow for
13573 link spec %s substitutions for static libraries.
13574
13575 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
13576
13577 PR testsuite/42135
13578 * libgomp.graphite/force-parallel-2.c: Reduce array size.
13579
13580 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13581
13582 * Makefile.in: Regenerate.
13583 * configure: Regenerate.
13584 * testsuite/Makefile.in: Regenerate.
13585
13586 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
13587
13588 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
13589 settings for LC_ALL and LANG.
13590
13591 2009-11-25 Jakub Jelinek <jakub@redhat.com>
13592
13593 PR fortran/42162
13594 * testsuite/libgomp.fortran/pr42162.f90: New test.
13595
13596 2009-11-13 Jakub Jelinek <jakub@redhat.com>
13597
13598 PR middle-end/42029
13599 * testsuite/libgomp.c/pr42029.c: New test.
13600
13601 2009-10-26 Jakub Jelinek <jakub@redhat.com>
13602
13603 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
13604 *s. Accept ld version without text in ()s.
13605 * configure: Regenerated.
13606
13607 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
13608
13609 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
13610
13611 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13612
13613 PR libgomp/41418
13614 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
13615 or a hyphen (happens with fortran language disabled).
13616 * configure: Regenerate.
13617
13618 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13619
13620 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
13621 use sed script portable to Solaris /bin/sed for extracting ld
13622 version.
13623 * configure: Regenerate.
13624
13625 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
13626
13627 * testsuite/libgomp.graphite/bounds.c: New test.
13628
13629 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13630
13631 * Makefile.am (libgomp_la_LINK): New.
13632 * Makefile.in: Regenerate.
13633
13634 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13635
13636 * configure.ac (AC_PREREQ): Bump to 2.64.
13637
13638 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13639
13640 * Makefile.am (install-html, install-pdf): Remove.
13641 * Makefile.in: Regenerate.
13642
13643 * Makefile.in: Regenerate.
13644 * aclocal.m4: Regenerate.
13645 * config.h.in: Regenerate.
13646 * configure: Regenerate.
13647 * testsuite/Makefile.in: Regenerate.
13648
13649 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13650
13651 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
13652 * Makefile.in: Regenerate.
13653
13654 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
13655
13656 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
13657 * Makefile.in: Regenerate.
13658
13659 2009-08-19 Tobias Burnus <burnus@net-b.de>
13660
13661 PR fortran/41102
13662 omp_lib.h.in: Fix -std=f95 errors.
13663
13664 2009-08-14 David Edelsohn <edelsohn@gnu.org>
13665
13666 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
13667 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
13668 * testsuite/libgomp.graphite/graphite.exp: New.
13669
13670 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
13671
13672 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
13673 only build.
13674
13675 2009-08-04 David Daney <ddaney@caviumnetworks.com>
13676
13677 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
13678 needed memory barrier semantics.
13679 * config/linux/mips/mutex.h: New file.
13680
13681 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13682
13683 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
13684
13685 2009-07-16 Joseph Myers <joseph@codesourcery.com>
13686
13687 * configure: Regenerate.
13688
13689 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
13690
13691 PR testsuite/40699
13692 PR testsuite/40707
13693 PR testsuite/40709
13694 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
13695 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
13696 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
13697
13698 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
13699
13700 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
13701 options when choosing a multilib.
13702
13703 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
13704
13705 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
13706 ld_library_path. Use add_path. Add just find_libgcc_s to
13707 ld_library_path, not every libgcc multilib directory.
13708 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
13709 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
13710 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
13711 Use add_path.
13712 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
13713
13714 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
13715
13716 * Makefile.am (LTLDFLAGS): Define.
13717 (LINK): Define.
13718 * Makefile.in: Regenerate.
13719
13720 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
13721
13722 PR fortran/39718
13723 * testsuite/libgomp.fortran/fortran.exp: Don't link with
13724 libgfortranbegin, check existence of libgfortran.a instead of
13725 libgfortranbegin.a.
13726
13727 2009-05-20 Jakub Jelinek <jakub@redhat.com>
13728
13729 PR libgomp/40174
13730 * team.c (gomp_thread_start): Destroy thr->release semaphore.
13731 (gomp_free_pool_helper): Likewise.
13732
13733 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
13734 Jakub Jelinek <jakub@redhat.com>
13735
13736 PR fortran/35423
13737 * testsuite/libgomp.fortran/workshare2.f90: New test.
13738
13739 2009-04-09 Nick Clifton <nickc@redhat.com>
13740
13741 * iter.c: Change copyright header to refer to version 3 of the
13742 GNU General Public License with version 3.1 of the GCC Runtime
13743 Library Exception and to point readers at the COPYING3 and
13744 COPYING3.RUNTIME files and the FSF's license web page.
13745 * alloc.c: Likewise.
13746 * barrier.c: Likewise.
13747 * config/bsd/proc.c: Likewise.
13748 * config/linux/affinity.c: Likewise.
13749 * config/linux/alpha/futex.h: Likewise.
13750 * config/linux/bar.c: Likewise.
13751 * config/linux/bar.h: Likewise.
13752 * config/linux/ia64/futex.h: Likewise.
13753 * config/linux/ia64/mutex.h: Likewise.
13754 * config/linux/lock.c: Likewise.
13755 * config/linux/mips/futex.h: Likewise.
13756 * config/linux/mutex.c: Likewise.
13757 * config/linux/mutex.h: Likewise.
13758 * config/linux/powerpc/futex.h: Likewise.
13759 * config/linux/proc.c: Likewise.
13760 * config/linux/ptrlock.c: Likewise.
13761 * config/linux/ptrlock.h: Likewise.
13762 * config/linux/s390/futex.h: Likewise.
13763 * config/linux/sem.c: Likewise.
13764 * config/linux/sem.h: Likewise.
13765 * config/linux/sparc/futex.h: Likewise.
13766 * config/linux/wait.h: Likewise.
13767 * config/linux/x86/futex.h: Likewise.
13768 * config/mingw32/proc.c: Likewise.
13769 * config/mingw32/time.c: Likewise.
13770 * config/posix/affinity.c: Likewise.
13771 * config/posix/bar.c: Likewise.
13772 * config/posix/bar.h: Likewise.
13773 * config/posix/lock.c: Likewise.
13774 * config/posix/mutex.h: Likewise.
13775 * config/posix/proc.c: Likewise.
13776 * config/posix/ptrlock.h: Likewise.
13777 * config/posix/sem.c: Likewise.
13778 * config/posix/sem.h: Likewise.
13779 * config/posix/time.c: Likewise.
13780 * config/posix95/lock.c: Likewise.
13781 * critical.c: Likewise.
13782 * env.c: Likewise.
13783 * error.c: Likewise.
13784 * fortran.c: Likewise.
13785 * iter_ull.c: Likewise.
13786 * libgomp.h: Likewise.
13787 * libgomp_f.h.in: Likewise.
13788 * libgomp_g.h: Likewise.
13789 * loop.c: Likewise.
13790 * loop_ull.c: Likewise.
13791 * omp.h.in: Likewise.
13792 * omp_lib.f90.in: Likewise.
13793 * omp_lib.h.in: Likewise.
13794 * ordered.c: Likewise.
13795 * parallel.c: Likewise.
13796 * sections.c: Likewise.
13797 * single.c: Likewise.
13798 * task.c: Likewise.
13799 * team.c: Likewise.
13800 * work.c: Likewise.
13801
13802 2009-04-09 Jakub Jelinek <jakub@redhat.com>
13803
13804 * testsuite/config/default.exp: Change copyright header to refer to
13805 version 3 of the GNU General Public License and to point readers
13806 at the COPYING3 file and the FSF's license web page.
13807
13808 2009-04-08 Jakub Jelinek <jakub@redhat.com>
13809
13810 PR middle-end/39573
13811 * libgomp.c++/pr39573.C: New test.
13812
13813 2009-04-01 Jakub Jelinek <jakub@redhat.com>
13814
13815 PR other/39591
13816 * testsuite/libgomp.c/pr39591-1.c: New test.
13817 * testsuite/libgomp.c/pr39591-2.c: New test.
13818 * testsuite/libgomp.c/pr39591-3.c: New test.
13819
13820 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
13821
13822 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
13823 * testsuite/libgomp.c/atomic-6.c: Ditto.
13824
13825 2009-03-23 Jakub Jelinek <jakub@redhat.com>
13826
13827 PR c/39495
13828 * testsuite/libgomp.c/loop-12.c: New test.
13829 * testsuite/libgomp.c/loop-11.c: New test.
13830 * testsuite/libgomp.c++/loop-11.C: New test.
13831 * testsuite/libgomp.c++/loop-12.C: New test.
13832 * testsuite/libgomp.c++/for-8.C: New test.
13833
13834 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13835
13836 * configure: Regenerate.
13837
13838 2009-02-11 Jakub Jelinek <jakub@redhat.com>
13839
13840 PR middle-end/39154
13841 * testsuite/libgomp.c/pr39154.c: New test.
13842
13843 2009-01-30 Ian Lance Taylor <iant@google.com>
13844
13845 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
13846 libgomp_ld_is_gold. Get gold version number.
13847 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
13848 * configure: Rebuild.
13849
13850 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13851
13852 * testsuite/lib/libgomp.exp: Add -B option for targets that
13853 use libgfortran.a%s in their specs.
13854
13855 2009-01-07 Jakub Jelinek <jakub@redhat.com>
13856
13857 PR libgomp/38086
13858 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
13859 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
13860 HAVE_AS_SYMVER_DIRECTIVE is not defined.
13861 * configure: Regenerated.
13862 * config.h.in: Likewise.
13863
13864 2008-12-28 Jakub Jelinek <jakub@redhat.com>
13865
13866 PR c++/38650
13867 * testsuite/libgomp.c/pr38650.c: New test.
13868 * testsuite/libgomp.c++/pr38650.C: New test.
13869
13870 2008-12-27 Jakub Jelinek <jakub@redhat.com>
13871
13872 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
13873
13874 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
13875
13876 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
13877
13878 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13879
13880 * configure: Regenerate.
13881
13882 2008-12-08 Jakub Jelinek <jakub@redhat.com>
13883
13884 PR middle-end/36802
13885 * testsuite/libgomp.c/pr36802-1.c: New test.
13886 * testsuite/libgomp.c/pr36802-2.c: New test.
13887 * testsuite/libgomp.c/pr36802-3.c: New test.
13888
13889 2008-12-01 Janis Johnson <janis187@us.ibm.com>
13890
13891 PR libgomp/38270
13892 * config/linux/powerpc/mutex.h: New.
13893
13894 2008-12-01 Jakub Jelinek <jakub@redhat.com>
13895
13896 PR c++/38257
13897 * testsuite/libgomp.c++/for-7.C: New test.
13898
13899 PR c++/38348
13900 * testsuite/libgomp.c++/for-6.C: New test.
13901
13902 2008-11-26 Janis Johnson <janis187@us.ibm.com>
13903
13904 PR testsuite/28870
13905 * testsuite/lib/libgomp.exp: Include new timeout library files.
13906 (libgomp_target_compile): Set timeout value from new proc.
13907
13908 2008-11-13 Steve Ellcey <sje@cup.hp.com>
13909
13910 PR libgomp/37938
13911 * config/linux/ia64/mutex.h: New.
13912
13913 2008-11-04 Tobias Burnus <burnus@net-b.de>
13914
13915 PR libgomp/37935
13916 * libgomp.texi (Runtime library routines, environment variables):
13917 Update for OpenMP version 3.0.
13918
13919 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
13920 Steve Ellcey <sje@cup.hp.com>
13921
13922 * configure: Regenerate for new libtool.
13923 * Makefile.in: Ditto.
13924 * testsuite/Makefile.in: Ditto.
13925
13926 2008-09-19 Jakub Jelinek <jakub@redhat.com>
13927 Andreas Tobler <a.tobler@schweiz.org>
13928
13929 * config/bsd/proc.c: New file.
13930 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
13931 * configure.ac: Check for header <sys/sysctl.h>
13932 * configure: Regenerate.
13933 * config.h.in: Likewise.
13934
13935 2008-09-05 Janis Johnson <janis187@us.ibm.com>
13936
13937 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
13938
13939 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
13940
13941 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
13942 * Makefile.in: Regenerated.
13943 * testsuite/Makefile.in: Regenerated.
13944
13945 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
13946
13947 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
13948 depend on blddir if blddir exists.
13949 (libgomp_target_compile): Likewise.
13950 * testsuite/libgomp.c++/c++.exp: Likewise.
13951 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13952
13953 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13954
13955 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
13956 Do not list GPL as Invariant Section.
13957
13958 2008-07-28 Ilie Garbacea <ilie@mips.com>
13959 Chao-ying Fu <fu@mips.com>
13960
13961 * configure.tgt: Enable futex for MIPS.
13962 * config/linux/mips/futex.h: New file.
13963
13964 2008-07-16 Jakub Jelinek <jakub@redhat.com>
13965
13966 * team.c (gomp_team_end): Free team immediately if it has
13967 just one thread.
13968
13969 2008-07-08 David Edelsohn <edelsohn@gnu.org>
13970
13971 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
13972 * testsuite/libgomp.fortran/fortran.exp: Same.
13973 * testsuite/libgomp.c/c.exp: Same.
13974 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
13975 directory to library path first.
13976
13977 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
13978
13979 * env.c (parse_stacksize): Add cast to avoid warning.
13980 (parse_spincount): Likewise.
13981
13982 2008-06-27 Jakub Jelinek <jakub@redhat.com>
13983
13984 * testsuite/libgomp.c/loop-10.c: New test.
13985 * libgomp.c/loop-3.c (main): Add lastprivate clause.
13986 * libgomp.c++/loop-6.C (main): Likewise.
13987
13988 PR debug/36617
13989 * testsuite/libgomp.c/debug-1.c: New test.
13990
13991 2008-06-19 Jakub Jelinek <jakub@redhat.com>
13992
13993 * testsuite/libgomp.c/nqueens-1.c: New test.
13994
13995 PR c++/36523
13996 * testsuite/libgomp.c++/task-7.C: New function.
13997
13998 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13999
14000 * configure: Regenerate.
14001
14002 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14003
14004 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
14005 mutex when HAVE_SYNC_BUILTINS isn't defined.
14006
14007 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14008
14009 * libgomp.texi (omp_test_lock): Fix typo.
14010
14011 2008-06-12 Tobias Burnus <burnus@net-b.de>
14012
14013 * omp_lib.f90.in: Add "implicit none".
14014
14015 2008-06-12 Jakub Jelinek <jakub@redhat.com>
14016
14017 PR middle-end/36506
14018 * testsuite/libgomp.c/reduction-5.c: New test.
14019
14020 2008-06-11 Jakub Jelinek <jakub@redhat.com>
14021
14022 * libgomp.h (struct gomp_task): Add in_tied_task field.
14023 * task.c (gomp_init_task): Initialize it.
14024 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
14025 unconditionally. Don't call gomp_team_barrier_wake if
14026 current task is implicit or if(0) from implicit and number of
14027 running tasks is equal to nthreads - 1.
14028
14029 PR libgomp/36471
14030 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
14031 omp_get_team_size_8): Fix pastos.
14032
14033 PR libgomp/36469
14034 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
14035 * configure: Regenerated.
14036 * config.h.in: Regenerated.
14037 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
14038 defined.
14039
14040 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
14041
14042 PR bootstrap/36452
14043 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
14044 (GOMP_loop_ull_dynamic_start): Likewise.
14045 (GOMP_loop_ull_guided_start): Likewise.
14046 (GOMP_loop_ull_ordered_static_start): Likewise.
14047 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
14048 (GOMP_loop_ull_ordered_guided_start): Likewise.
14049
14050 2008-06-06 Jakub Jelinek <jakub@redhat.com>
14051 Richard Henderson <rth@redhat.com>
14052 Ulrich Drepper <drepper@redhat.com>
14053 Jakob Blomer <jakob.blomer@ira.uka.de>
14054
14055 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
14056 Substitute also OMP_*LOCK_25*.
14057 * configure: Regenerated.
14058 * config.h.in: Regenerated.
14059 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
14060 ptrlock.c and task.c.
14061 * Makefile.in: Regenerated.
14062 * testsuite/Makefile.in: Regenerated.
14063 * task.c: New file.
14064 * loop_ull.c: New file.
14065 * iter_ull.c: New file.
14066 * libgomp.h: Include ptrlock.h.
14067 (enum gomp_task_kind): New type.
14068 (struct gomp_team): Add task_lock, task_queue, task_count,
14069 task_running_count, single_count fields. Add
14070 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
14071 Remove work_share_lock, generation_mask,
14072 oldest_live_gen, num_live_gen and init_work_shares fields, add
14073 work work_share_list_alloc, work_share_list_free and work_share_chunk
14074 fields. Change work_shares from pointer to pointers into an array.
14075 Change ordered_release field into gomp_sem_t ** from flexible array
14076 member. Add implicit_task and initial_work_shares fields.
14077 Move close to the end of the struct.
14078 (struct gomp_team_state): Add single_count, last_work_share,
14079 active_level and level fields, remove work_share_generation.
14080 (gomp_barrier_handle_tasks): New prototype.
14081 (gomp_finish_task): New inline function.
14082 (struct gomp_work_share): Move chunk_size, end, incr into
14083 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
14084 next_ll fields. Reshuffle fields. Add next_alloc,
14085 next_ws, next_free and inline_ordered_team_ids fields, change
14086 ordered_team_ids into pointer from flexible array member.
14087 Add mode field. Put lock and next into a different cache line
14088 from most of the write-once fields.
14089 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
14090 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
14091 gomp_iter_ull_guided_next): New prototypes.
14092 (gomp_new_icv): New prototype.
14093 (struct gomp_thread): Add thread_pool and task fields.
14094 (struct gomp_thread_pool): New type.
14095 (gomp_new_team): New prototype.
14096 (gomp_team_start): Change type of last argument.
14097 (gomp_new_work_share): Removed.
14098 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
14099 (gomp_work_share_init_done): New static inline.
14100 (gomp_throttled_spin_count_var, gomp_available_cpus,
14101 gomp_managed_threads): New extern decls.
14102 (gomp_init_task): New prototype.
14103 (gomp_spin_count_var): New extern var decl.
14104 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
14105 or no alias support, or if not PIC.
14106 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
14107 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
14108 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
14109 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
14110 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
14111 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
14112 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
14113 gomp_test_nest_lock_25): New prototypes.
14114 (omp_lock_symver, strong_alias): Define.
14115 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
14116 decls.
14117 (gomp_end_task): New.
14118 (struct gomp_task_icv, gomp_global_icv): New.
14119 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
14120 (struct gomp_task): New.
14121 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14122 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14123 (gomp_icv): New.
14124 (gomp_schedule_type): Reorder enum to match
14125 omp_sched_t.
14126 * team.c (struct gomp_thread_start_data): Add thread_pool and task
14127 fields.
14128 (gomp_thread_start): Add gomp_team_barrier_wait call.
14129 For non-nested case remove clearing of docked thread thr fields.
14130 Use pool fields instead of global gomp_* variables. Use
14131 gomp_barrier_wait_last when needed. Initialize ts.active_level.
14132 Create tasks for each member thread.
14133 (free_team): Only destroy team barrier, task_lock here and free it.
14134 (gomp_free_thread): Free last_team if non-NULL.
14135 (gomp_team_end): Call gomp_team_barrier_wait instead of
14136 gomp_barrier_wait. For nested case call one extra
14137 gomp_barrier_wait. Move here some destruction from free_team.
14138 Call free_team on pool->last_team if any, rather than freeing
14139 current team. Destroy work_share_list_free_lock ifndef
14140 HAVE_SYNC_BUILTINS.
14141 (gomp_new_icv): New function.
14142 (gomp_threads, gomp_threads_size, gomp_threads_used,
14143 gomp_threads_dock): Removed.
14144 (gomp_thread_destructor): New variable.
14145 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
14146 functions.
14147 (gomp_team_start): Create new pool if current thread doesn't have
14148 one. Use pool fields instead of global gomp_* variables.
14149 Initialize thread_pool field for new threads. Clear single_count.
14150 Change last argument from ws to team, don't create
14151 new team, set ts.work_share to &team->work_shares[0] and clear
14152 ts.last_work_share. Don't clear ts.work_share_generation.
14153 If number of threads changed, adjust atomically gomp_managed_threads.
14154 Use gomp_init_task instead of gomp_new_task,
14155 set thr->task to the corresponding implicit_task array entry.
14156 Create tasks for each member thread. Initialize ts.level.
14157 (initialize_team): Call pthread_key_create on
14158 gomp_thread_destructor.
14159 (team_destructor): New function.
14160 (new_team): Removed.
14161 (gomp_new_team): New function.
14162 (free_team): Free gomp_work_share blocks chained through next_alloc,
14163 instead of freeing work_shares and destroying work_share_lock.
14164 (gomp_team_end): Call gomp_fini_work_share. If number of threads
14165 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
14166 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
14167 of gomp_barrier_wait.
14168 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
14169 instead of gomp_barrier_wait. Call gomp_work_share_init_done
14170 if gomp_work_share_start returned true. Don't unlock ws->lock.
14171 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
14172 of gomp_barrier_wait.
14173 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
14174 gomp_work_share_init_done if gomp_work_share_start returned true.
14175 Don't unlock ws->lock.
14176 * work.c: Include stddef.h.
14177 (free_work_share): Use work_share_list_free_lock instead
14178 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
14179 Call gomp_fini_work_share and then either free ws if orphaned, or
14180 put it into work_share_list_free list of the current team.
14181 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
14182 functions.
14183 (gomp_work_share_start, gomp_work_share_end,
14184 gomp_work_share_end_nowait): Rewritten.
14185 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
14186 (openmp_version): Set to 200805.
14187 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14188 omp_sched_guided, omp_sched_auto): New parameters.
14189 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14190 omp_set_max_active_levels, omp_get_max_active_levels,
14191 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14192 omp_get_active_level): New interfaces.
14193 * omp_lib.h.in (openmp_version): Set to 200805.
14194 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14195 omp_sched_guided, omp_sched_auto): New parameters.
14196 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14197 omp_set_max_active_levels, omp_get_max_active_levels,
14198 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14199 omp_get_active_level): New externals.
14200 * loop.c: Include limits.h.
14201 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
14202 GFS_AUTO.
14203 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
14204 Likewise. Use gomp_icv.
14205 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
14206 ts.static_trip here.
14207 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
14208 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
14209 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
14210 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
14211 don't unlock ws->lock, otherwise lock it.
14212 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
14213 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
14214 (gomp_parallel_loop_start): Call gomp_new_team instead of
14215 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
14216 Adjust gomp_team_start caller. Pass 0 as second argument to
14217 gomp_resolve_num_threads.
14218 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
14219 If adding ws->chunk_size nthreads + 1 times after end won't
14220 overflow, set ws->mode to 1.
14221 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
14222 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
14223 GOMP_loop_ull_ordered_static_start,
14224 GOMP_loop_ull_ordered_dynamic_start,
14225 GOMP_loop_ull_ordered_guided_start,
14226 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
14227 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
14228 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
14229 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
14230 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
14231 prototypes.
14232 * libgomp.map: Export lock routines also @@OMP_2.0.
14233 (GOMP_loop_ordered_dynamic_first,
14234 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
14235 GOMP_loop_ordered_static_first): Remove.
14236 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
14237 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
14238 GOMP_loop_ull_ordered_dynamic_next,
14239 GOMP_loop_ull_ordered_dynamic_start,
14240 GOMP_loop_ull_ordered_guided_next,
14241 GOMP_loop_ull_ordered_guided_start,
14242 GOMP_loop_ull_ordered_runtime_next,
14243 GOMP_loop_ull_ordered_runtime_start,
14244 GOMP_loop_ull_ordered_static_next,
14245 GOMP_loop_ull_ordered_static_start,
14246 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
14247 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
14248 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
14249 (omp_set_schedule, omp_get_schedule,
14250 omp_get_thread_limit, omp_set_max_active_levels,
14251 omp_get_max_active_levels, omp_get_level,
14252 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
14253 omp_set_schedule_, omp_set_schedule_8_,
14254 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14255 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14256 omp_get_max_active_levels_, omp_get_level_,
14257 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14258 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14259 New exports @@OMP_3.0.
14260 * omp.h.in (omp_sched_t): New type.
14261 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14262 omp_set_max_active_levels, omp_get_max_active_levels,
14263 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14264 omp_get_active_level): New prototypes.
14265 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
14266 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
14267 gomp_thread_limit_var, gomp_remaining_threads_count,
14268 gomp_remaining_threads_lock): New variables.
14269 (parse_spincount): New function.
14270 (initialize_env): Call gomp_init_num_threads unconditionally.
14271 Initialize gomp_available_cpus. Call parse_spincount,
14272 initialize gomp_{,throttled_}spin_count_var
14273 depending on presence and value of OMP_WAIT_POLICY and
14274 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
14275 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
14276 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
14277 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
14278 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
14279 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14280 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14281 (gomp_global_icv): New.
14282 (parse_schedule): Use it. Parse "auto".
14283 (omp_set_num_threads): Use gomp_icv.
14284 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
14285 Likewise.
14286 (omp_get_max_threads): Move from parallel.c.
14287 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14288 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
14289 add ialias.
14290 (parse_stacksize, parse_wait_policy): New functions.
14291 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
14292 both wrappers for compatibility and new locks.
14293 (omp_set_schedule, omp_get_schedule,
14294 omp_get_thread_limit, omp_set_max_active_levels,
14295 omp_get_max_active_levels, omp_get_level,
14296 omp_get_ancestor_thread_num, omp_get_team_size,
14297 omp_get_active_level): New ialias_redirect.
14298 (omp_set_schedule_, omp_set_schedule_8_,
14299 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14300 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14301 omp_get_max_active_levels_, omp_get_level_,
14302 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14303 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14304 New functions.
14305 * parallel.c: Include limits.h.
14306 (gomp_resolve_num_threads): Add count argument. Rewritten.
14307 (GOMP_parallel_start): Call gomp_new_team and pass that as last
14308 argument to gomp_team_start. Pass 0 as second argument to
14309 gomp_resolve_num_threads.
14310 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
14311 if gomp_thread_limit_var != ULONG_MAX.
14312 (omp_in_parallel): Implement using ts.active_level.
14313 (omp_get_max_threads): Move to env.c.
14314 (omp_get_level, omp_get_ancestor_thread_num,
14315 omp_get_team_size, omp_get_active_level): New functions,
14316 add ialias.
14317 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
14318 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
14319 gomp_iter_dynamic_next instead of the _locked variant and don't take
14320 lock around it, otherwise acquire it before calling
14321 gomp_iter_dynamic_next_locked.
14322 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
14323 gomp_iter_dynamic_next instead of the _locked variant and don't take
14324 lock around it.
14325 (GOMP_parallel_sections_start): Call gomp_new_team instead of
14326 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
14327 Adjust gomp_team_start caller. Pass count as second argument to
14328 gomp_resolve_num_threads, don't adjust num_threads after the call.
14329 Use gomp_icv.
14330 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
14331 ws->chunk_size by incr.
14332 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
14333 code.
14334 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
14335 types.
14336 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
14337 (omp_check_defines): Check even the compat defines.
14338 * config/linux/ptrlock.c: New file.
14339 * config/linux/ptrlock.h: New file.
14340 * config/linux/wait.h: New file.
14341 * config/posix/ptrlock.c: New file.
14342 * config/posix/ptrlock.h: New file.
14343 * config/linux/bar.h (gomp_team_barrier_wait,
14344 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14345 (gomp_team_barrier_set_task_pending,
14346 gomp_team_barrier_clear_task_pending,
14347 gomp_team_barrier_set_waiting_for_tasks,
14348 gomp_team_barrier_waiting_for_tasks,
14349 gomp_team_barrier_done): New inlines.
14350 (gomp_barrier_t): Rewritten.
14351 (gomp_barrier_state_t): New typedef.
14352 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
14353 gomp_barrier_wait_start): Rewritten.
14354 (gomp_barrier_wait_end): Change second argument to
14355 gomp_barrier_state_t.
14356 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14357 inlines.
14358 * config/linux/bar.c: Include wait.h instead of libgomp.h and
14359 futex.h.
14360 (gomp_barrier_wait_end): Rewritten.
14361 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14362 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
14363 * config/posix/bar.h (gomp_barrier_t): Add generation field.
14364 (gomp_barrier_state_t): New typedef.
14365 (gomp_team_barrier_wait,
14366 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14367 (gomp_barrier_wait_start): Or all but low 2 bits from generation
14368 into the return value. Return gomp_barrier_state_t.
14369 (gomp_team_barrier_set_task_pending,
14370 gomp_team_barrier_clear_task_pending,
14371 gomp_team_barrier_set_waiting_for_tasks,
14372 gomp_team_barrier_waiting_for_tasks,
14373 gomp_team_barrier_done): New inlines.
14374 (gomp_barrier_wait_end): Change second argument to
14375 gomp_barrier_state_t.
14376 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14377 inlines.
14378 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
14379 (gomp_barrier_wait_end): Change second argument to
14380 gomp_barrier_state_t.
14381 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14382 gomp_team_barrier_wake): New functions.
14383 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
14384 futex.h.
14385 (gomp_futex_wake, gomp_futex_wait): New variables.
14386 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
14387 * config/linux/lock.c: Rewrite to make locks task owned,
14388 for backwards compatibility provide the old entrypoints
14389 if symbol versioning. Include wait.h instead of libgomp.h and
14390 futex.h.
14391 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
14392 * config/posix95/lock.c: Rewrite to make locks task owned,
14393 for backwards compatibility provide the old entrypoints
14394 if symbol versioning.
14395 * config/posix/lock.c: Rewrite to make locks task owned,
14396 for backwards compatibility provide the old entrypoints
14397 if symbol versioning.
14398 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
14399 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
14400 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
14401 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14402 (sys_futex0): Return error code.
14403 (futex_wake, futex_wait): If ENOSYS was returned, clear
14404 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14405 (cpu_relax, atomic_write_barrier): New static inlines.
14406 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14407 (futex_wake, futex_wait): If ENOSYS was returned, clear
14408 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14409 (cpu_relax, atomic_write_barrier): New static inlines.
14410 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14411 (sys_futex0): Return error code.
14412 (futex_wake, futex_wait): If ENOSYS was returned, clear
14413 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14414 (cpu_relax, atomic_write_barrier): New static inlines.
14415 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14416 (sys_futex0): Return error code.
14417 (futex_wake, futex_wait): If ENOSYS was returned, clear
14418 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14419 (cpu_relax, atomic_write_barrier): New static inlines.
14420 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14421 (sys_futex0): Return error code.
14422 (futex_wake, futex_wait): If ENOSYS was returned, clear
14423 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14424 (cpu_relax, atomic_write_barrier): New static inlines.
14425 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14426 (sys_futex0): Return error code.
14427 (futex_wake, futex_wait): If ENOSYS was returned, clear
14428 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14429 (cpu_relax, atomic_write_barrier): New static inlines.
14430 * config/linux/sem.c: Include wait.h instead of libgomp.h and
14431 futex.h.
14432 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
14433 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
14434 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
14435 types.
14436 (omp_nest_lock_t): Change owner into void *, add lock field.
14437 * config/posix95/omp-lock.h: Include semaphore.h.
14438 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14439 (omp_lock_t): Use sem_t instead of mutex if semaphores
14440 aren't broken.
14441 (omp_nest_lock_t): Likewise. Change owner to void *.
14442 * config/posix/omp-lock.h: Include semaphore.h.
14443 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14444 (omp_lock_t): Use sem_t instead of mutex if semaphores
14445 aren't broken.
14446 (omp_nest_lock_t): Likewise. Add owner field.
14447
14448 2008-06-06 Jakub Jelinek <jakub@redhat.com>
14449
14450 * testsuite/libgomp.c/collapse-1.c: New test.
14451 * testsuite/libgomp.c/collapse-2.c: New test.
14452 * testsuite/libgomp.c/collapse-3.c: New test.
14453 * testsuite/libgomp.c/icv-1.c: New test.
14454 * testsuite/libgomp.c/icv-2.c: New test.
14455 * testsuite/libgomp.c/lib-2.c: New test.
14456 * testsuite/libgomp.c/lock-1.c: New test.
14457 * testsuite/libgomp.c/lock-2.c: New test.
14458 * testsuite/libgomp.c/lock-3.c: New test.
14459 * testsuite/libgomp.c/loop-4.c: New test.
14460 * testsuite/libgomp.c/loop-5.c: New test.
14461 * testsuite/libgomp.c/loop-6.c: New test.
14462 * testsuite/libgomp.c/loop-7.c: New test.
14463 * testsuite/libgomp.c/loop-8.c: New test.
14464 * testsuite/libgomp.c/loop-9.c: New test.
14465 * testsuite/libgomp.c/nested-3.c: New test.
14466 * testsuite/libgomp.c/nestedfn-6.c: New test.
14467 * testsuite/libgomp.c/sort-1.c: New test.
14468 * testsuite/libgomp.c/task-1.c: New test.
14469 * testsuite/libgomp.c/task-2.c: New test.
14470 * testsuite/libgomp.c/task-3.c: New test.
14471 * testsuite/libgomp.c/task-4.c: New test.
14472 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
14473 to C++ testsuite default compiler options.
14474 * testsuite/libgomp.c++/collapse-1.C: New test.
14475 * testsuite/libgomp.c++/collapse-2.C: New test.
14476 * testsuite/libgomp.c++/ctor-10.C: New test.
14477 * testsuite/libgomp.c++/for-1.C: New test.
14478 * testsuite/libgomp.c++/for-2.C: New test.
14479 * testsuite/libgomp.c++/for-3.C: New test.
14480 * testsuite/libgomp.c++/for-4.C: New test.
14481 * testsuite/libgomp.c++/for-5.C: New test.
14482 * testsuite/libgomp.c++/loop-8.C: New test.
14483 * testsuite/libgomp.c++/loop-9.C: New test.
14484 * testsuite/libgomp.c++/loop-10.C: New test.
14485 * testsuite/libgomp.c++/task-1.C: New test.
14486 * testsuite/libgomp.c++/task-2.C: New test.
14487 * testsuite/libgomp.c++/task-3.C: New test.
14488 * testsuite/libgomp.c++/task-4.C: New test.
14489 * testsuite/libgomp.c++/task-5.C: New test.
14490 * testsuite/libgomp.c++/task-6.C: New test.
14491 * testsuite/libgomp.fortran/allocatable1.f90: New test.
14492 * testsuite/libgomp.fortran/allocatable2.f90: New test.
14493 * testsuite/libgomp.fortran/allocatable3.f90: New test.
14494 * testsuite/libgomp.fortran/allocatable4.f90: New test.
14495 * testsuite/libgomp.fortran/collapse1.f90: New test.
14496 * testsuite/libgomp.fortran/collapse2.f90: New test.
14497 * testsuite/libgomp.fortran/collapse3.f90: New test.
14498 * testsuite/libgomp.fortran/collapse4.f90: New test.
14499 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
14500 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
14501 * testsuite/libgomp.fortran/lib4.f90: New test.
14502 * testsuite/libgomp.fortran/lock-1.f90: New test.
14503 * testsuite/libgomp.fortran/lock-2.f90: New test.
14504 * testsuite/libgomp.fortran/nested1.f90: New test.
14505 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
14506 * testsuite/libgomp.fortran/strassen.f90: New test.
14507 * testsuite/libgomp.fortran/tabs1.f90: New test.
14508 * testsuite/libgomp.fortran/tabs2.f: New test.
14509 * testsuite/libgomp.fortran/task1.f90: New test.
14510 * testsuite/libgomp.fortran/task2.f90: New test.
14511 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
14512 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14513 * testsuite/libgomp.c/pr26943-2.c: Likewise.
14514 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14515 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14516
14517 2008-05-23 Jakub Jelinek <jakub@redhat.com>
14518
14519 PR c++/36308
14520 * testsuite/libgomp.c++/ctor-11.C: New test.
14521 * testsuite/libgomp.c++/ctor-12.C: New test.
14522
14523 2008-05-15 Janis Johnson <janis187@us.ibm.com>
14524
14525 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
14526
14527 2008-05-07 Jakub Jelinek <jakub@redhat.com>
14528
14529 PR middle-end/36106
14530 * testsuite/libgomp.c/atomic-5.c: New test.
14531 * testsuite/libgomp.c/atomic-6.c: New test.
14532 * testsuite/libgomp.c/autopar-1.c: New test.
14533
14534 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14535
14536 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
14537 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
14538 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
14539 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
14540 * configure: Regenerate.
14541 * Makefile.in, testsuite/Makefile.in: Likewise.
14542
14543 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
14544
14545 PR bootstrap/35457
14546 * aclocal.m4: Regenerate.
14547 * configure: Regenerate.
14548
14549 2008-03-18 Jakub Jelinek <jakub@redhat.com>
14550
14551 PR middle-end/35611
14552 * testsuite/libgomp.c/atomic-4.c: New test.
14553
14554 PR libgomp/35625
14555 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
14556 (gomp_iter_guided_next): Likewise.
14557 * testsuite/libgomp.c/pr35625.c: New test.
14558
14559 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14560
14561 * aclocal.m4: Regenerate.
14562 * configure: Likewise.
14563 * Makefile.in: Likewise.
14564 * testsuite/Makefile.in: Likewise.
14565
14566 2008-03-13 Jakub Jelinek <jakub@redhat.com>
14567
14568 PR middle-end/35185
14569 * testsuite/libgomp.c++/pr35185.C: New test.
14570
14571 2008-03-12 Jakub Jelinek <jakub@redhat.com>
14572
14573 PR middle-end/35549
14574 * testsuite/libgomp.c/pr35549.c: New test.
14575
14576 2008-03-06 Jakub Jelinek <jakub@redhat.com>
14577
14578 * testsuite/libgomp.c/atomic-3.c: New test.
14579
14580 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14581
14582 PR fortran/33197
14583 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
14584 .F08 file suffixes.
14585
14586 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
14587
14588 PR libgomp/33131
14589 * configure.ac: Add ACX_HEADER_STRING.
14590 * env.c: Include strings.h.
14591 * aclocal.m4: Regenerate.
14592 * config.h.in: Regenerate.
14593 * configure: Regenerate.
14594 * Makefile.in: Regenerate.
14595 * testsuite/Makefile.in: Regenerate.
14596
14597 2008-02-15 Jakub Jelinek <jakub@redhat.com>
14598
14599 PR middle-end/35196
14600 * testsuite/libgomp.c/pr35196.c: New test.
14601
14602 PR middle-end/35130
14603 * testsuite/libgomp.fortran/pr35130.f90: New test.
14604 * testsuite/libgomp.c/pr35130.c: New test.
14605
14606 2008-01-25 Jakub Jelinek <jakub@redhat.com>
14607
14608 PR middle-end/33880
14609 * testsuite/libgomp.c/pr33880.c: New test.
14610 * testsuite/libgomp.fortran/pr33880.f90: New test.
14611
14612 2008-01-24 David Edelsohn <edelsohn@gnu.org>
14613
14614 * configure: Regenerate.
14615
14616 2008-01-08 Jakub Jelinek <jakub@redhat.com>
14617
14618 * configure.ac: Move futex checking into ../config/futex.m4.
14619 * configure: Rebuilt.
14620 * aclocal.m4: Rebuilt.
14621 * Makefile.in: Rebuilt.
14622
14623 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
14624 2007-10-15 ../config/tls.m4 change.
14625
14626 2007-12-19 Jakub Jelinek <jakub@redhat.com>
14627
14628 PR c++/34513
14629 * testsuite/libgomp.c/pr34513.c: New test.
14630 * testsuite/libgomp.c++/pr34513.C: New test.
14631
14632 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
14633
14634 PR target/32765
14635 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
14636
14637 2007-12-04 Jakub Jelinek <jakub@redhat.com>
14638
14639 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
14640
14641 2007-12-03 Jakub Jelinek <jakub@redhat.com>
14642
14643 * testsuite/libgomp.c/private-1.c: New test.
14644
14645 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
14646 Paolo Bonzini <bonzini@gnu.org>
14647
14648 * Makefile.am: Use space as vpath separator. Use 'vpath %'
14649 instead of 'VPATH ='.
14650 * Makefile.in: Regenerate.
14651
14652 2007-11-23 Matthias Klose <doko@ubuntu.com>
14653
14654 * configure.ac: Adjust makeinfo version check.
14655 * configure: Regenerate.
14656
14657 2007-11-10 Jakub Jelinek <jakub@redhat.com>
14658
14659 PR fortran/34020
14660 * testsuite/libgomp.fortran/pr34020.f90: New test.
14661
14662 2007-11-06 Jakub Jelinek <jakub@redhat.com>
14663
14664 PR c++/33894
14665 * testsuite/libgomp.c++/atomic-1.C: New test.
14666
14667 2007-10-25 Jakub Jelinek <jakub@redhat.com>
14668
14669 PR libgomp/33275
14670 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
14671 Make x and y integers rather than (implicit) reals. Add private (j)
14672 clause to the last omp parallel.
14673
14674 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
14675
14676 * configure: Regenerate following changes to ../config/tls.m4.
14677
14678 2007-09-28 Jakub Jelinek <jakub@redhat.com>
14679
14680 * testsuite/libgomp.fortran/stack.f90: New test.
14681
14682 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
14683
14684 * config/mingw32/proc.c: New file.
14685
14686 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
14687
14688 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
14689 (main): Use __get_cpuid to get i386 target fetaures.
14690 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
14691 (main): Use __get_cpuid to get x86_64 target fetaures.
14692
14693 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
14694
14695 PR target/32765
14696 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
14697 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
14698
14699 2007-07-12 Jakub Jelinek <jakub@redhat.com>
14700
14701 PR fortran/32550
14702 * testsuite/libgomp.fortran/pr32550.f90: New test.
14703 * testsuite/libgomp.fortran/crayptr2.f90: New test.
14704
14705 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
14706
14707 * aclocal.m4: Regenerated.
14708
14709 2007-07-05 Tobias Burnus <burnus@net-b.de>
14710
14711 PR fortran/32359
14712 * testsuite/libgomp.fortran/pr32359.f90: New.
14713
14714 2007-07-02 Jakub Jelinek <jakub@redhat.com>
14715
14716 PR libgomp/32468
14717 * sections.c (GOMP_parallel_sections_start): Only decrease
14718 number of threads to COUNT if dyn_var is true.
14719 * testsuite/libgomp.c/pr32468.c: New test.
14720
14721 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14722
14723 PR libgomp/26308
14724 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
14725
14726 2007-06-21 Jakub Jelinek <jakub@redhat.com>
14727
14728 PR middle-end/32362
14729 * testsuite/libgomp.c/pr32362-1.c: New test.
14730 * testsuite/libgomp.c/pr32362-2.c: New test.
14731 * testsuite/libgomp.c/pr32362-3.c: New test.
14732
14733 2007-06-07 Jakub Jelinek <jakub@redhat.com>
14734
14735 * team.c (gomp_team_start): Fix setting up thread_attr
14736 stack size.
14737
14738 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
14739
14740 * configure: Regenerate.
14741
14742 2007-05-23 Steve Ellcey <sje@cup.hp.com>
14743
14744 * Makefile.in: Regenerate.
14745 * configure: Regenerate.
14746 * aclocal.m4: Regenerate.
14747 * testsuite/Makefile.in: Regenerate.
14748
14749 2007-05-04 Jakub Jelinek <jakub@redhat.com>
14750
14751 * config/linux/proc.c: New file.
14752
14753 PR libgomp/28482
14754 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
14755
14756 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
14757
14758 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
14759
14760 2007-04-16 Matthias Klose <doko@debian.org>
14761
14762 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
14763 flags if not building with -m64.
14764 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
14765 flag for i?86-*-* targets, if current target matches -m64.
14766
14767 2007-04-14 Steve Ellcey <sje@cup.hp.com>
14768
14769 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
14770 * Makefile.in: Regenerate.
14771
14772 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14773
14774 PR testsuite/31369
14775 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
14776 ld_library_path.
14777 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14778
14779 2007-04-04 Jakub Jelinek <jakub@redhat.com>
14780
14781 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
14782 decls.
14783 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
14784 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
14785 (parse_affinity): New function.
14786 (initialize_env): Call it and gomp_init_affinity.
14787 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
14788 create new pthread_attr_t and call gomp_init_thread_affinity
14789 on it for each thread before passing the attribute to pthread_create.
14790 * config/linux/affinity.c: New file.
14791 * config/posix/affinity.c: New file.
14792 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
14793 * configure: Rebuilt.
14794 * config.h.in: Rebuilt.
14795 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
14796 * Makefile.in: Rebuilt.
14797
14798 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
14799
14800 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
14801 *-*-darwin*.
14802 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
14803 and use it if found.
14804
14805 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
14806
14807 * testsuite/config/default.exp: New file.
14808 * testsuite/lib/libgomp.exp: New file.
14809 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
14810 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
14811 load_lib *, load_gcc_lib *): Move to libgomp.exp.
14812 (libgomp_load): Remove.
14813 * testsuite/lib/libgomp.exp (libgomp_init): Compute
14814 always_ld_library_path, not ld_library_path. Set additional_flags
14815 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
14816 (target_compile): Do not call libgomp_init. Append lang_library_path
14817 and lang_link_flags to options.
14818 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
14819 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
14820 here.
14821 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
14822 always_ld_library_path. Set LD_LIBRARY_PATH here.
14823 * testsuite/libgomp.fortran/fortran.exp: Ditto.
14824 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
14825 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
14826 CX8 flag.
14827 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
14828 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
14829 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
14830 * testsuite/libgomp.c/pr29947-1.c: Ditto.
14831 * testsuite/libgomp.c/atomic-10.c: Ditto.
14832
14833 2007-03-21 Jakub Jelinek <jakub@redhat.com>
14834
14835 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
14836 dg-final cleanup-modules line.
14837 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
14838 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
14839 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
14840 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
14841 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
14842 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
14843 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
14844
14845 2007-03-18 Andreas Schwab <schwab@suse.de>
14846
14847 * acinclude.m4: Adjust regular expression for ld version
14848 extraction.
14849 * configure: Regenerate.
14850
14851 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
14852
14853 * Makefile.am: Add install-pdf target as copied from
14854 automake v1.10 rules.
14855 * Makefile.in: Regenerate
14856
14857 2007-02-07 Jakub Jelinek <jakub@redhat.com>
14858
14859 PR libgomp/28486
14860 * configure: Regenerate.
14861
14862 PR c++/30703
14863 * testsuite/libgomp.c++/pr30703.C: New test.
14864
14865 2007-02-02 Jakub Jelinek <jakub@redhat.com>
14866
14867 Revert:
14868 2006-07-05 Eric Christopher <echristo@apple.com>
14869 * configure.ac: Depend addition of -pthread on host OS.
14870 * configure: Regenerate.
14871
14872 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14873
14874 * libgomp.texi: Fix spacing after abbreviations.
14875
14876 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
14877
14878 PR libgomp/30546
14879 * configure.ac: Add check for makeinfo
14880 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
14881 if an appropriate version of makeinfo is found.
14882 * aclocal.m4: Regenerated.
14883 * configure: Regenerated.
14884 * Makefile.in: Regenerated.
14885 * testsuite/Makefile.in: Regenerated.
14886
14887 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
14888
14889 PR libgomp/30540
14890 * libgomp.texi: More about implementation-dependent settings.
14891
14892 2007-01-26 Tobias Burnus <burnus@net-b.de>
14893
14894 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
14895
14896 2007-01-24 Jakub Jelinek <jakub@redhat.com>
14897
14898 PR middle-end/30494
14899 * testsuite/libgomp.c/pr30494.c: New test.
14900
14901 2007-01-15 Tom Tromey <tromey@redhat.com>
14902
14903 * configure: Rebuilt.
14904 * configure.ac: Fixed comment.
14905
14906 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
14907
14908 * libgomp.texi: Document implementation specific default values of
14909 environment variables.
14910
14911 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
14912
14913 PR libgomp/28209
14914 * libgomp.texi: New file.
14915 * configure.ac: Add --enable-generated-files-in-srcdir option.
14916 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
14917 files to srcdir.
14918 * Makefile.in: Regenerated.
14919 * config.h.in: Regenerated.
14920 * testsuite/Makefile.in: Regenerated.
14921 * NOTES: Removed.
14922
14923 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
14924
14925 PR libgomp/29949
14926 * env.c (omp_set_num_threads): Set illegal thread count to 1.
14927
14928 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
14929
14930 * configure: Regenerate.
14931
14932 2006-12-04 Jakub Jelinek <jakub@redhat.com>
14933
14934 PR libgomp/29947
14935 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
14936 start if there shouldn't be any loop iterations.
14937 (gomp_loop_ordered_static_start): Remove start == end test.
14938 * testsuite/libgomp.c/pr29947-1.c: New test.
14939 * testsuite/libgomp.c/pr29947-2.c: New test.
14940
14941 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
14942
14943 * configure.tgt: Force initial-exec TLS model on Linux only.
14944
14945 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
14946
14947 * configure: Regenerated.
14948
14949 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
14950
14951 * env.c (parse_schedule): Reject out of range values.
14952 (parse_unsigned_long): Reject out of range, negative or zero values.
14953
14954 2006-10-29 Jakub Jelinek <jakub@redhat.com>
14955
14956 PR fortran/29629
14957 * testsuite/libgomp.fortran/pr29629.f90: New test.
14958
14959 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
14960
14961 PR libgomp/29494
14962 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
14963 * config/posix95: New directory.
14964 * config/posix95/omp-lock.h: New file.
14965 * config/posix95/lock.c: Likewise.
14966
14967 2006-10-14 Geoffrey Keating <geoffk@apple.com>
14968
14969 * aclocal.m4: Regenerate.
14970 * configure: Regenerate.
14971
14972 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
14973
14974 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
14975 '<' to '<='.
14976
14977 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
14978
14979 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
14980 test.
14981 * configure: Regenerate.
14982 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
14983
14984 2006-09-26 Jakub Jelinek <jakub@redhat.com>
14985
14986 PR middle-end/25261
14987 PR middle-end/28790
14988 * testsuite/libgomp.c/nestedfn-4.c: New test.
14989 * testsuite/libgomp.c/nestedfn-5.c: New test.
14990 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
14991
14992 PR fortran/29097
14993 * testsuite/libgomp.fortran/condinc1.f: New test.
14994 * testsuite/libgomp.fortran/condinc2.f: New test.
14995 * testsuite/libgomp.fortran/condinc3.f90: New test.
14996 * testsuite/libgomp.fortran/condinc4.f90: New test.
14997 * testsuite/libgomp.fortran/condinc1.inc: New file.
14998
14999 2006-09-18 Tom Tromey <tromey@redhat.com>
15000
15001 * configure: Rebuilt.
15002
15003 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
15004
15005 PR c/28768
15006 PR preprocessor/14634
15007 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
15008 to AC_DEFINE.
15009 * configure: Regenerate.
15010
15011 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
15012
15013 * testsuite/libgomp.fortran/reduction3.f90: Change
15014 -2147483648 to -huge(i)-1 to avoid overflow.
15015 * testsuite/libgomp.fortran/reduction4.f90: Change
15016 Z'ffffffff' to not(0) to avoid overflow.
15017
15018 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
15019
15020 PR libgomp/25938
15021 * Makefile.am (libsubincludedir): New.
15022 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
15023 * Makefile.in: Regenerate.
15024
15025 2006-08-17 Jakub Jelinek <jakub@redhat.com>
15026
15027 PR libgomp/28725
15028 * env.c: Include ctype.h.
15029 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
15030 leading and/or trailing whitespace and compare strings case
15031 insensitively.
15032
15033 2006-07-16 Jakub Jelinek <jakub@redhat.com>
15034
15035 PR fortran/28390
15036 * testsuite/libgomp.fortran/pr28390.f: New test.
15037
15038 2006-07-05 Eric Christopher <echristo@apple.com>
15039
15040 * configure.ac: Depend addition of -pthread on host OS.
15041 * configure: Regenerate.
15042
15043 2006-06-21 Jakub Jelinek <jakub@redhat.com>
15044
15045 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
15046 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
15047 defined.
15048
15049 2006-06-20 Jakub Jelinek <jakub@redhat.com>
15050
15051 PR libgomp/26175
15052 PR libgomp/26477
15053 * configure.ac: If neither --enable-linux-futex nor
15054 --disable-linux-futex is passed, determine the default by checking
15055 for compiling and/or running against NPTL. With --enable-linux-futex,
15056 check if SYS_gettid and SYS_futex are defined.
15057 * configure: Rebuilt.
15058
15059 2006-06-14 Richard Henderson <rth@redhat.com>
15060
15061 PR libgomp/28008
15062 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
15063 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
15064
15065 2006-06-09 Richard Henderson <rth@redhat.com>
15066
15067 * env.c (gomp_nthreads_var): Change to unsigned long.
15068 (gomp_run_sched_chunk): Likewise.
15069 (parse_unsigned_long): Rename from parse_num_threads and generalize.
15070 (initialize_env): Initialize gomp_thread_attr.
15071 * libgomp.h (gomp_nthreads_var): Update decl.
15072 (gomp_run_sched_chunk): Likewise.
15073 (gomp_thread_attr): Declare.
15074 * team.c (gomp_thread_attr): Export.
15075 (initialize_team): Don't initialize it.
15076
15077 2006-06-09 Jakub Jelinek <jakub@redhat.com>
15078
15079 PR fortran/27916
15080 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
15081 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
15082
15083 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15084
15085 * config/mingw32/time.c: New file.
15086 * configure.tgt: Use it.
15087
15088 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
15089
15090 * Makefile.am: Add install-html target. Add install-html to .PHONY
15091 * Makefile.in: Regenerate.
15092
15093 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15094
15095 PR libgomp/27612
15096 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
15097 * testsuite/libgomp.c/critical-1.c: Likewise.
15098 * testsuite/libgomp.c/loop-1.c: Likewise.
15099 * testsuite/libgomp.c/loop-2.c: Likewise.
15100 * testsuite/libgomp.c/single-1.c: Likewise.
15101 * testsuite/libgomp.c/ordered-1.c: Likewise.
15102 * testsuite/libgomp.c/ordered-2.c: Likewise.
15103
15104 2006-05-15 Jakub Jelinek <jakub@redhat.com>
15105
15106 PR middle-end/27416
15107 * libgomp.fortran/pr27416-1.f90: New test.
15108
15109 2006-05-03 Jakub Jelinek <jakub@redhat.com>
15110
15111 PR fortran/27395
15112 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
15113 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
15114
15115 2006-05-02 Jakub Jelinek <jakub@redhat.com>
15116
15117 PR c++/26943
15118 * testsuite/libgomp.c/pr26943-1.c: New test.
15119 * testsuite/libgomp.c/pr26943-2.c: New test.
15120 * testsuite/libgomp.c/pr26943-3.c: New test.
15121 * testsuite/libgomp.c/pr26943-4.c: New test.
15122 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
15123 * testsuite/libgomp.c++/pr26943.C: New test.
15124
15125 2006-05-02 Jakub Jelinek <jakub@redhat.com>
15126
15127 PR middle-end/27337
15128 * testsuite/libgomp.c++/pr27337.C: New test.
15129
15130 2006-04-26 Jakub Jelinek <jakub@redhat.com>
15131
15132 PR c/26171
15133 * testsuite/libgomp.c/pr26171.c: New test.
15134
15135 2006-04-25 Richard Henderson <rth@redhat.com>
15136
15137 PR libgomp/25865
15138 * configure.ac: Use GCC_CHECK_TLS.
15139 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
15140 * Makefile.in, aclocal.m4, configure: Regenerate.
15141
15142 2006-04-10 Matthias Klose <doko@debian.org>
15143
15144 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
15145 directory names containing underscores.
15146
15147 2006-03-21 Jakub Jelinek <jakub@redhat.com>
15148
15149 PR c++/26691
15150 * testsuite/libgomp.c++/pr26691.C: New test.
15151
15152 2006-03-13 Jakub Jelinek <jakub@redhat.com>
15153
15154 * testsuite/libgomp.fortran/retval2.f90: New test.
15155
15156 2006-03-09 Diego Novillo <dnovillo@redhat.com>
15157
15158 * testsuite/libgomp.c++: New directory.
15159
15160 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
15161
15162 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
15163 * config/posix/sem.c: Implement the above.
15164
15165 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
15166
15167 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
15168 define HAVE_BROKEN_POSIX_SEMAPHORES.
15169 * configure: Rebuilt.
15170 * config.h.in: Rebuilt.
15171
15172 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15173
15174 PR bootstrap/26161
15175 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
15176 for the other pthread check.
15177 * configure: Regenerate.
15178 * config.h.in: Regenerate.
15179
15180 2006-02-15 Jakub Jelinek <jakub@redhat.com>
15181
15182 PR libgomp/25938
15183 PR libgomp/25984
15184 * Makefile.am (fincludedir): New variable.
15185 (nodist_include_HEADERS): Remove Fortran files.
15186 (nodist_finclude_HEADERS): New variable.
15187 * Makefile.in: Regenerated.
15188
15189 2006-02-13 Jakub Jelinek <jakub@redhat.com>
15190
15191 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
15192 Remove tests for returning assumed character length arrays.
15193
15194 2006-02-12 Roger Sayle <roger@eyesopen.com>
15195 John David Anglin <dave@hiauly1.hia.nrc.ca>
15196
15197 PR libgomp/25936
15198 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
15199
15200 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
15201
15202 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
15203
15204 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
15205
15206 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
15207 part of LD_LIBRARY_PATH manually.
15208
15209 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
15210
15211 PR libgomp/25852
15212 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
15213 libgomp_init.
15214
15215 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
15216
15217 PR libgomp/25884
15218 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
15219 * configure.ac (PERL): Don't set.
15220 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
15221 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
15222 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
15223 * omp.h.in: Wrap the new configure substitutions with @ characters.
15224 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
15225 * aclocal.m4, configure, Makefile.in: Regenerate.
15226 * mkomp_h.pl: Delete.
15227
15228 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
15229
15230 PR libgomp/25259
15231 * configure.ac: Use GCC_HEADER_STDINT.
15232 * libgomp.h: Include gstdint.h.
15233 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
15234 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
15235
15236 2006-01-24 Richard Henderson <rth@redhat.com>
15237
15238 PR libgomp/25942
15239 * configure.ac: Add AM_MAINTAINER_MODE.
15240 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
15241
15242 2006-01-24 Diego Novillo <dnovillo@redhat.com>
15243
15244 * Makefile.in: Regenerate.
15245 * testsuite/Makefile.in: Regenerate.
15246 * aclocal.m4: Regenerate.
15247
15248 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
15249
15250 * config/posix/proc.c: Conditional include of sys/loadavg.h for
15251 Solaris.
15252 * configure.ac: Add check for loadavg.h.
15253 (link_gomp): Adjust comment.
15254 * configure: Regenerate.
15255 * config.h.in: Regenerate.
15256
15257 2006-01-21 Steve Ellcey <sje@cup.hp.com>
15258
15259 PR libgomp/25877
15260 * configure.ac: Remove check for alloca.h.
15261 * configure: Regenerate.
15262 * config.h.in: Regenerate.
15263 * libgomp.h: define gomp_alloca to be __builtin_alloca.
15264 * team.c: Remove use of alloca.h.
15265 Call gomp_alloca instead of alloca.
15266
15267 2006-01-20 Steve Ellcey <sje@cup.hp.com>
15268
15269 PR libgomp/25877
15270 * team.c: Add include of alloca.h.
15271 * configure.ac: Add check for alloca.h.
15272 * configure: Regenerate.
15273 * config.h.in: Regenerate.
15274
15275 2006-01-17 Jakub Jelinek <jakub@redhat.com>
15276
15277 PR fortran/25219
15278 * testsuite/libgomp.fortran/pr25219.f90: New test.
15279
15280 2005-12-05 Uros Bizjak <uros@kss-loka.si>
15281
15282 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
15283 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
15284 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15285 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15286 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
15287 testsuite/libgomp.fortran/threadprivate1.f90,
15288 testsuite/libgomp.fortran/threadprivate2.f90,
15289 testsuite/libgomp.fortran/threadprivate3.f90,
15290 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15291 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15292 testsuite/libgomp.fortran/omp_parse3.f90: Change required
15293 effective-target to TLS runtime.
15294
15295 * testsuite/libgomp.fortran/pr25162.f: Require
15296 effective-target TLS runtime.
15297
15298 2005-12-01 Jakub Jelinek <jakub@redhat.com>
15299
15300 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
15301 * testsuite/libgomp.c/nestedfn-3.c: New test.
15302
15303 2005-11-30 Jakub Jelinek <jakub@redhat.com>
15304
15305 PR fortran/25162
15306 * testsuite/libgomp.fortran/pr25162.f: New test.
15307
15308 2005-11-28 Jakub Jelinek <jakub@redhat.com>
15309
15310 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
15311 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
15312
15313 2005-11-25 Jakub Jelinek <jakub@redhat.com>
15314
15315 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
15316 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
15317 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
15318 single.c, team.c, work.c, config/linux/alpha/futex.h,
15319 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
15320 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
15321 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
15322 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
15323 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
15324 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
15325 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
15326 FSF address.
15327
15328 2005-11-18 Jakub Jelinek <jakub@redhat.com>
15329
15330 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
15331 to nodist_noinst_HEADERS.
15332 * Makefile.in: Rebuilt.
15333
15334 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
15335 add integer count field.
15336 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
15337 omp_nest_lock_t type change.
15338 (omp_init_nest_lock): Likewise. Initialize count to 0.
15339 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
15340 Increment count.
15341 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
15342 Decrement count.
15343 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
15344 Increment count if successful and return the new nesting level.
15345 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
15346 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
15347 * testsuite/libgomp.c/lib-1.c: New test.
15348 * testsuite/libgomp.fortran/lib1.f90: New test.
15349 * testsuite/libgomp.fortran/lib2.f: New test.
15350 * testsuite/libgomp.fortran/lib3.f: New test.
15351
15352 2005-11-17 Richard Henderson <rth@redhat.com>
15353
15354 PR 24845
15355 * Makefile.am (nodist_toolexeclib_HEADERS): New.
15356 * configure.ac (link_gomp): New. Substitute it.
15357 (AC_CONFIG_FILES): Add libgomp.spec.
15358 * libgomp.spec.in: New file.
15359 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
15360 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
15361
15362 2005-11-18 Jakub Jelinek <jakub@redhat.com>
15363
15364 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
15365 reduction(-:var) behaving the same as reduction(+:var).
15366 * testsuite/libgomp.c/reduction-4.c: New test.
15367
15368 2005-11-15 Uros Bizjak <uros@kss-loka.si>
15369
15370 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
15371 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
15372 testsuite/libgomp.c/copyin-3.c,
15373 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15374 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15375 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
15376 testsuite/libgomp.c++/pr24455.C,
15377 testsuite/libgomp.fortran/threadprivate1.f90,
15378 testsuite/libgomp.fortran/threadprivate2.f90,
15379 testsuite/libgomp.fortran/threadprivate3.f90,
15380 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15381 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15382 testsuite/libgomp.fortran/omp_parse3.f90: Require
15383 effective-target TLS.
15384
15385 2005-11-14 Diego Novillo <dnovillo@redhat.com>
15386
15387 * HEADER: Remove.
15388
15389 2005-11-13 Jakub Jelinek <jakub@redhat.com>
15390
15391 PR libgomp/24797
15392 * team.c (initialize_team): Pass NULL rather than free as
15393 pthread_key_create destructor. Initialize thread specific data
15394 pointer in initial thread to a static local variable rather than
15395 malloced memory.
15396
15397 2005-11-11 Uros Bizjak <uros@kss-loka.si>
15398
15399 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
15400 its location to ld_library_path.
15401
15402 2005-11-10 Diego Novillo <dnovillo@redhat.com>
15403
15404 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
15405
15406 2005-11-10 Diego Novillo <dnovillo@redhat.com>
15407
15408 * testsuite/libgomp.c: Rename from libgomp.dg.
15409
15410 2005-11-09 Diego Novillo <dnovillo@redhat.com>
15411
15412 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
15413 threadprivate variable 'i'.
15414
15415 2005-11-09 Jakub Jelinek <jakub@redhat.com>
15416
15417 * config/linux/s390/futex.h: New file.
15418 * configure.tgt: Use it.
15419
15420 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
15421 before the parallel.
15422
15423 2005-11-08 Jakub Jelinek <jakub@redhat.com>
15424
15425 PR c++/24734
15426 * testsuite/libgomp.c++/master-1.C: New test.
15427
15428 2005-11-07 Jakub Jelinek <jakub@redhat.com>
15429
15430 * testsuite/libgomp.dg/copyin-3.c: New test.
15431
15432 2005-11-07 Jakub Jelinek <jakub@redhat.com>
15433
15434 * testsuite/libgomp.fortran/retval1.f90: New test.
15435 * testsuite/libgomp.fortran/vla7.f90: New test.
15436
15437 2005-11-06 Jakub Jelinek <jakub@redhat.com>
15438
15439 * testsuite/libgomp.fortran/vla2.f90: New test.
15440 * testsuite/libgomp.fortran/vla3.f90: New test.
15441 * testsuite/libgomp.fortran/vla4.f90: New test.
15442 * testsuite/libgomp.fortran/vla5.f90: New test.
15443 * testsuite/libgomp.fortran/vla6.f90: New test.
15444
15445 2005-11-01 Jakub Jelinek <jakub@redhat.com>
15446
15447 * config/linux/sparc/futex.h: New file.
15448 * configure.tgt: Use it.
15449 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
15450
15451 * critical.c: Include stdlib.h.
15452 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
15453 ignoring return value.
15454 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
15455 LIBGOMP_CHECK_SYNC_BUILTINS check.
15456 * configure: Rebuilt.
15457
15458 2005-10-31 Jakub Jelinek <jakub@redhat.com>
15459
15460 * testsuite/libgomp.fortran/vla1.f90: New test.
15461
15462 2005-10-31 Richard Henderson <rth@redhat.com>
15463
15464 * testsuite/libgomp.fortran/character2.f90: Fix race condition
15465 setting 's' in different threads.
15466
15467 2005-10-31 Jakub Jelinek <jakub@redhat.com>
15468
15469 * libgomp.h (attribute_hidden, ialias): Define.
15470 * config/posix/proc.c (omp_get_num_procs): Add ialias.
15471 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
15472 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
15473 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15474 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15475 omp_test_lock, omp_test_nest_lock): Likewise.
15476 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
15477 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15478 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15479 omp_test_lock, omp_test_nest_lock): Likewise.
15480 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
15481 omp_get_dynamic, omp_get_nested): Likewise.
15482 * parallel.c (omp_get_num_threads, omp_get_max_threads,
15483 omp_get_thread_num, omp_in_parallel): Likewise.
15484 * fortran.c (ialias_redirect): Define.
15485 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
15486 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
15487 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
15488 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
15489 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
15490 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
15491 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
15492 omp_get_wtime): Add ialias_redirect.
15493
15494 2005-10-30 Jakub Jelinek <jakub@redhat.com>
15495
15496 * fortran.c: Include stdlib.h.
15497
15498 2005-10-29 Jakub Jelinek <jakub@redhat.com>
15499
15500 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
15501 * Makefile.in: Regenerated.
15502
15503 2005-10-28 Jakub Jelinek <jakub@redhat.com>
15504
15505 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
15506 * libgomp_f.h.in (omp_check_defines): New function.
15507 * env.c: Include libgomp_f.h.
15508 (initialize_env): Call omp_check_defines.
15509
15510 * testsuite/libgomp.dg/copyin-2.c: New test.
15511 * testsuite/libgomp.c++/copyin-2.C: New test.
15512 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
15513
15514 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
15515 * testsuite/libgomp.fortran/sharing2.f90: New test.
15516
15517 * testsuite/libgomp.dg/copyin-1.c: New test.
15518 * testsuite/libgomp.c++/copyin-1.C: New test.
15519
15520 2005-10-26 Jakub Jelinek <jakub@redhat.com>
15521
15522 * testsuite/libgomp.fortran/crayptr1.f90: New test.
15523
15524 * testsuite/libgomp.fortran/workshare1.f90: New test.
15525
15526 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
15527 only test.
15528 * libgomp.fortran/sharing1.f90: New test.
15529
15530 2005-10-24 Jakub Jelinek <jakub@redhat.com>
15531
15532 PR c++/24502
15533 * testsuite/libgomp.c++/loop-7.C: New test.
15534
15535 * testsuite/libgomp.dg/nestedfn-2.c: New test.
15536
15537 * testsuite/libgomp.dg/nestedfn-1.c: New test.
15538 * testsuite/libgomp.fortran/reduction6.f90: New test.
15539 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
15540
15541 2005-10-23 Richard Henderson <rth@redhat.com>
15542
15543 * testsuite/libgomp.c++/ctor-1.C: New.
15544 * testsuite/libgomp.c++/ctor-2.C: New.
15545 * testsuite/libgomp.c++/ctor-3.C: New.
15546 * testsuite/libgomp.c++/ctor-4.C: New.
15547 * testsuite/libgomp.c++/ctor-5.C: New.
15548 * testsuite/libgomp.c++/ctor-6.C: New.
15549 * testsuite/libgomp.c++/ctor-7.C: New.
15550 * testsuite/libgomp.c++/ctor-8.C: New.
15551 * testsuite/libgomp.c++/ctor-9.C: New.
15552
15553 2005-10-21 Diego Novillo <dnovillo@redhat.com>
15554
15555 PR 24455
15556 * testsuite/libgomp.c++/pr24455-1.C: New test.
15557 * testsuite/libgomp.c++/pr24455.C: New test.
15558 * testsuite/libgomp.dg/pr24455-1.c: New test.
15559 * testsuite/libgomp.dg/pr24455.c: New test.
15560
15561 2005-10-20 Richard Henderson <rth@redhat.com>
15562
15563 * testsuite/libgomp.c++/loop-6.C: New.
15564 * testsuite/libgomp.dg/loop-3.c: New.
15565
15566 2005-10-20 Jakub Jelinek <jakub@redhat.com>
15567
15568 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
15569 explicitly private.
15570 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
15571 explicitly shared.
15572
15573 2005-10-19 Diego Novillo <dnovillo@redhat.com>
15574
15575 * testsuite/libgomp.fortran/jacobi.f: New test.
15576
15577 2005-10-19 Richard Henderson <rth@redhat.com>
15578
15579 * configure.tgt (i?86-linux): Default to with_arch instead of
15580 CFLAGS. Add -mtune to match target_cpu.
15581 (x86_64-linux): Tune to i686.
15582
15583 * fortran.c (omp_test_nest_lock_): Fix typo.
15584
15585 2005-10-19 Jakub Jelinek <jakub@redhat.com>
15586
15587 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15588 gomp_ordered_sync): Do nothing if team->nthreads == 1.
15589 * testsuite/libgomp.dg/ordered-3.c: New test.
15590
15591 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
15592 Remove volatile keyword.
15593
15594 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
15595 in COMMON block to avoid warnings on 64-bit targets.
15596
15597 2005-10-18 Diego Novillo <dnovillo@redhat.com>
15598
15599 * testsuite/libgomp.dg/shared-3.c: New test.
15600
15601 2005-10-18 Jakub Jelinek <jakub@redhat.com>
15602
15603 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
15604 * testsuite/libgomp.fortran/reduction5.f90: New test.
15605
15606 2005-10-18 Jakub Jelinek <jakub@redhat.com>
15607
15608 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
15609 dg-options.
15610 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
15611 flush loop now that __sync_synchronize has proper memory barrier.
15612 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
15613 Add -ffixed-form to dg-options.
15614
15615 2005-10-17 Diego Novillo <dnovillo@redhat.com>
15616
15617 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
15618 from subdirectories.
15619 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
15620 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
15621 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
15622 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
15623 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
15624 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
15625 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
15626 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
15627 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
15628 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
15629 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
15630 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
15631 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
15632 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
15633 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
15634 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
15635 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
15636 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
15637 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
15638 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
15639 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
15640 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
15641 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
15642 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
15643 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
15644
15645 2005-10-17 Jakub Jelinek <jakub@redhat.com>
15646
15647 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
15648 lang_library_path exists. Use find instead of glob to gather tests.
15649 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
15650
15651 2005-10-17 Diego Novillo <dnovillo@redhat.com>
15652
15653 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
15654 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
15655 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
15656 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
15657 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
15658 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
15659 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
15660 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
15661 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
15662 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
15663 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
15664 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
15665 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
15666
15667 2005-10-15 Jakub Jelinek <jakub@redhat.com>
15668
15669 * testsuite/libgomp.dg/vla-1.c: New test.
15670
15671 * testsuite/libgomp.fortran/reference2.f90: New test.
15672
15673 * testsuite/libgomp.fortran/character2.f90: Remove explicit
15674 declaration of omp_get_thread_num.
15675 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
15676 use omp_lib.
15677
15678 * testsuite/libgomp.fortran/reduction1.f90: New test.
15679 * testsuite/libgomp.fortran/reduction2.f90: New test.
15680 * testsuite/libgomp.fortran/reduction3.f90: New test.
15681 * testsuite/libgomp.fortran/reduction4.f90: New test.
15682
15683 2005-10-13 Richard Henderson <rth@redhat.com>
15684
15685 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
15686 * Makefile.in: Regenerate.
15687 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
15688 * libgomp.h: Include bar.h.
15689 (struct gomp_barrier): Remove.
15690 (struct gomp_team): Add barrier. Replace master_barrier with
15691 master_release. Replace threads with ordered_release.
15692 (struct gomp_thread): Replace barrier with release.
15693 * ordered.c (gomp_ordered_first): Update for ordered_release change.
15694 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
15695 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
15696 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
15697 (GOMP_single_copy_end): Likewise.
15698 * team.c (gomp_threads_dock): New.
15699 (gomp_barrier_init, gomp_barrier_destroy): Remove.
15700 (gomp_thread_start): Use gomp_barrier_wait.
15701 (new_team, free_team): Update for gomp_team changes.
15702 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
15703 (gomp_team_end): Use gomp_barrier_wait.
15704 (initialize_team): Update for gomp_thread changes.
15705 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
15706 (gomp_work_share_end_nowait): Use atomic ops when available.
15707 * config/linux/bar.c, config/linux/bar.h: New files.
15708 * config/posix/bar.c, config/posix/bar.h: New files.
15709
15710 2005-10-13 Jakub Jelinek <jakub@redhat.com>
15711
15712 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
15713 * testsuite/libgomp.dg/single-2.c: New test.
15714
15715 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
15716 lang_link_flags): Unset, so that they aren't inherited from previously
15717 sourced *.exp.
15718
15719 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
15720
15721 2005-10-12 Richard Henderson <rth@redhat.com>
15722
15723 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
15724 (libgomp_init): Use lang_test_file, lang_library_path, and
15725 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
15726
15727 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
15728 (lang_test_file, lang_link_flags): New.
15729 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
15730
15731 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
15732 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
15733 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
15734 testsuite/libgomp.c++/parallel-1.C,
15735 testsuite/libgomp.c++/reduction-1.C,
15736 testsuite/libgomp.c++/reduction-2.C,
15737 testsuite/libgomp.c++/reduction-3.C,
15738 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
15739 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
15740 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
15741 New files, largely cribbed from the C testsuite.
15742
15743 2005-10-12 Jakub Jelinek <jakub@redhat.com>
15744
15745 * testsuite/libgomp.fortran/character1.f90: New test.
15746 * testsuite/libgomp.fortran/character2.f90: New test.
15747
15748 * testsuite/libgomp.dg/nested-1.c: New test.
15749 * testsuite/libgomp.dg/nested-2.c: New test.
15750 * testsuite/libgomp.fortran/do1.f90: New test.
15751 * testsuite/libgomp.fortran/do2.f90: New test.
15752
15753 * testsuite/libgomp.fortran/reference1.f90: New test.
15754
15755 2005-10-11 Jakub Jelinek <jakub@redhat.com>
15756
15757 * testsuite/libgomp.dg/reduction-1.c: New test.
15758 * testsuite/libgomp.dg/reduction-2.c: New test.
15759 * testsuite/libgomp.dg/reduction-3.c: New test.
15760
15761 2005-10-10 Jakub Jelinek <jakub@redhat.com>
15762
15763 * testsuite/libgomp.dg/atomic-1.c: New test.
15764 * testsuite/libgomp.dg/atomic-2.c: New test.
15765
15766 2005-10-09 Richard Henderson <rth@redhat.com>
15767
15768 * critical.c (atomic_lock): New.
15769 (initialize_critical): Initialize it.
15770 (GOMP_atomic_start, GOMP_atomic_end): New.
15771 * libgomp.map: Export them.
15772 * libgomp_g.h: Declare them.
15773
15774 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
15775
15776 2005-10-02 Richard Henderson <rth@redhat.com>
15777
15778 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
15779 to XCFLAGS instead of CFLAGS.
15780
15781 2005-09-30 Richard Henderson <rth@redhat.com>
15782
15783 * configure.ac: Determine whether -pthread or -lpthread is needed.
15784 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
15785 * Makefile.in, configure: Rebuild.
15786
15787 2005-09-28 Richard Henderson <rth@redhat.com>
15788
15789 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
15790 * testsuite/libgomp.dg/omp-single-3.c: New test.
15791
15792 2005-09-28 Diego Novillo <dnovillo@redhat.com>
15793
15794 * testsuite/libgomp.dg/omp-single-2.c: New test.
15795 * testsuite/libgomp.dg/shared-2.c: Fix return code.
15796
15797 2005-09-27 Richard Henderson <rth@redhat.com>
15798
15799 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
15800 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
15801
15802 2005-09-27 Jakub Jelinek <jakub@redhat.com>
15803
15804 * testsuite/libgomp.dg/omp-loop03.c: New test.
15805
15806 2005-09-27 Diego Novillo <dnovillo@redhat.com>
15807
15808 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
15809
15810 2005-09-27 Diego Novillo <dnovillo@redhat.com>
15811
15812 * testsuite/libgomp.dg/omp-single-1.c: New test.
15813 * testsuite/libgomp.dg/shared-1.c: Return 0.
15814 Add prototype for abort.
15815 * testsuite/libgomp.dg/shared-2.c: Likewise.
15816
15817 2005-09-26 Jakub Jelinek <jakub@redhat.com>
15818
15819 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
15820 constructs.
15821
15822 2005-09-26 Diego Novillo <dnovillo@redhat.com>
15823
15824 * testsuite/libgomp.dg/shared-1.c: New test.
15825 * testsuite/libgomp.dg/shared-2.c: New test.
15826
15827 2005-09-24 Richard Henderson <rth@redhat.com>
15828
15829 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
15830
15831 2005-09-24 Richard Henderson <rth@redhat.com>
15832
15833 * iter.c (gomp_iter_static_next): Round up when computing number
15834 of iterations. Don't bother distributing a remainder equally.
15835
15836 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
15837 Don't call srand. Zero b before testing.
15838 (main): New.
15839
15840 2005-09-24 Jakub Jelinek <jakub@redhat.com>
15841
15842 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
15843 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
15844
15845 2005-09-23 Jakub Jelinek <jakub@redhat.com>
15846
15847 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
15848 without !$omp end do, followed immediately by subroutine end.
15849
15850 2005-09-23 Diego Novillo <dnovillo@redhat.com>
15851
15852 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
15853
15854 2005-09-22 Richard Henderson <rth@redhat.com>
15855
15856 * critical.c (GOMP_critical_name_start): Change argument to void**.
15857 Reuse the pointer space if the mutex fits.
15858 (GOMP_critical_name_end): Likewise.
15859 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
15860 * libgomp_g.h (GOMP_critical_name_start): Update decl.
15861 (GOMP_critical_name_end): Likewise.
15862 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
15863 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
15864
15865 2005-09-20 Richard Henderson <rth@redhat.com>
15866
15867 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
15868 (create_lock_lock): New.
15869 (initialize_critical): Initialize it.
15870 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
15871 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
15872
15873 2005-09-20 Diego Novillo <dnovillo@redhat.com>
15874
15875 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
15876
15877 2005-09-20 Diego Novillo <dnovillo@redhat.com>
15878
15879 * testsuite/libgomp.dg/omp-loop01.c: New test.
15880 * testsuite/libgomp.dg/omp-loop02.c: New test.
15881
15882 2005-09-20 Jakub Jelinek <jakub@redhat.com>
15883
15884 * configure.ac (AC_PROG_FC): Add.
15885 (USE_FORTRAN): New automake conditional.
15886 * configure: Rebuilt.
15887 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
15888 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
15889 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
15890 Add rules to build them.
15891 * Makefile.in: Rebuilt.
15892 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
15893 OMP_NEST_LOCK_KIND.
15894 * libgomp.map: Add Fortran wrappers.
15895 * libgomp_f.h.in: New file.
15896 * omp_lib.h.in: New file.
15897 * omp_lib.f90.in: New file.
15898 * fortran.c: New file.
15899 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
15900 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
15901 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
15902 libgfortran has been built.
15903 * testsuite/libgomp.fortran/fortran.exp: New file.
15904 * testsuite/libgomp.fortran/omp_cond1.f: New test.
15905 * testsuite/libgomp.fortran/omp_cond2.f: New test.
15906 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
15907 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
15908 * testsuite/libgomp.fortran/omp_hello.f: New test.
15909 * testsuite/libgomp.fortran/omp_orphan.f: New test.
15910 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
15911 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
15912 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
15913 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
15914 * testsuite/libgomp.fortran/omp_reduction.f: New test.
15915 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
15916 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
15917
15918 2005-08-30 Richard Henderson <rth@redhat.com>
15919
15920 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
15921 function for when aliases are not usable.
15922 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
15923 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
15924 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
15925 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
15926 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
15927 GOMP_loop_ordered_guided_next): Likewise.
15928 * ordered.c (GOMP_ordered_start): Likewise.
15929
15930 2005-08-01 Diego Novillo <dnovillo@redhat.com>
15931
15932 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
15933 * testsuite/libgomp.dg/omp_hello.c: Fix return code
15934 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
15935 * testsuite/libgomp.dg/omp_orphan.c: Likewise
15936 * testsuite/libgomp.dg/omp_reduction.c: Likewise
15937 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
15938 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
15939 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
15940 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
15941
15942 2005-07-07 Eric Christopher <echristo@redhat.com>
15943 Diego Novillo <dnovillo@redhat.com>
15944
15945 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
15946 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
15947 up code.
15948 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
15949 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
15950 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
15951 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
15952 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
15953 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
15954 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
15955
15956 2005-06-13 Diego Novillo <dnovillo@redhat.com>
15957
15958 * TOPLEVEL.patch: Remove.
15959
15960 2005-05-16 Richard Henderson <rth@redhat.com>
15961
15962 * configure.ac: Test for clock_gettime.
15963 * config.h.in, configure: Rebuild.
15964 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
15965 (omp_get_wtime): Use clock_gettime if available.
15966 (omp_get_wtick): Use clock_getres if available.
15967
15968 2005-05-11 Richard Henderson <rth@redhat.com>
15969
15970 * config/linux/ia64/futex.h: New file.
15971 * configure.tgt: Use it.
15972
15973 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
15974
15975 2005-05-07 Richard Henderson <rth@redhat.com>
15976
15977 * config/linux/powerpc/futex.h: New file.
15978 * configure.tgt: Use it.
15979
15980 * config/linux/i486/futex.h: Merge ...
15981 * config/linux/x86_64/futex.h: ... into ...
15982 * config/linux/x86/futex.h: ... here.
15983 * configure.tgt: Update to match.
15984
15985 2005-05-06 Richard Henderson <rth@redhat.com>
15986
15987 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
15988 * config/linux/i486/futex.h: Likewise.
15989 * config/linux/x86_64/futex.h: Likewise.
15990
15991 * config/linux/lock.c: New file.
15992 * config/linux/omp-lock.h: New file.
15993
15994 * critical.c, env.h: Don't include omp.h
15995 * config/posix/lock.c: Include libgomp.h instead of omp.h.
15996 * config/posix/time.c: Likewise.
15997 * config/posix/omp-lock.h: New file.
15998 * libgomp.h: Include omp-lock.h and omp.h.
15999 * Makefile.am (nodist_include_HEADERS): New.
16000 (omp.h): New rule.
16001 * configure.ac (PERL): New.
16002 * mkomp_h.pl: New file.
16003 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
16004 with templates.
16005 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
16006
16007 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
16008 build directory. Re-add -march=i486 hack.
16009
16010 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
16011 (libgomp_link_flags): Remove.
16012 (libgomp_initialized): Remove.
16013 (libgomp_init): Don't protect from reinitialization. Copy code
16014 from libstdc++ for getting the multilib set correctly.
16015
16016 2005-05-05 Richard Henderson <rth@redhat.com>
16017
16018 * config/linux/alpha/futex.h: New file.
16019 * configure.tgt (alpha*-*-linux*): Use it.
16020
16021 * config/posix/mutex.c: New file.
16022 * config/posix/sem.c: Use libgomp.h.
16023
16024 * configure.tgt (x86_64-linux): Also test CC for -m32.
16025 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
16026
16027 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
16028 after $gccpath.
16029
16030 * Makefile.am (SUBDIRS): New.
16031 (libgomp_la_LDFLAGS): Add -lpthread.
16032 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
16033 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
16034
16035 * libgomp_g.h: New file.
16036 * libgomp.h: Split out all public declarations to libgomp_g.h.
16037 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
16038 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
16039 * config/linux/sem.h: Likewise.
16040 * config/posix/sem.h: Likewise.
16041
16042 * Makefile.am (AM_LDFLAGS): New.
16043 (libgomp_version_script): Split out from ...
16044 (libgomp_la_LDFLAGS): ... here.
16045 (libgomp_version_info): New.
16046 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
16047 (LIBGOMP_ENABLE): New.
16048 (LIBGOMP_CHECK_LINKER_FEATURES): New.
16049 (LIBGOMP_ENABLE_SYMVERS): New.
16050 * configure.ac (AC_INIT): Version 1.0.
16051 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
16052 (enable-linux-futex): Likewise. Rename from enable-futex.
16053 (libtool_VERSION): New.
16054 (LIBGOMP_ENABLE_SYMVERS): Use it.
16055 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
16056 * Makefile.in, aclocal.m4, configure: Rebuild.
16057
16058 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
16059 (gomp_mutex_unlock_slow): Fix typo.
16060 * config/linux/sem.c: Similarly.
16061 (gomp_sem_post_slow): Fix typo.
16062 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
16063 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
16064 [__PIC__] (sys_futex0): Don't use tmp output in asm.
16065
16066 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
16067 (libgomp_la_LDFLAGS): Add top_srcdir to path.
16068 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
16069 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
16070 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
16071 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
16072 LDFLAGS. Pull enable_futex check to top-level.
16073 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
16074 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
16075
16076 First attempt at real configury.
16077 * Makefile, config.h: Remove file.
16078 * Makefile.am, Makefile.in: New file.
16079 * acinclude.m4 aclocal.m4: New file.
16080 * configure.ac, configure.tgt, configure: New file.
16081
16082 * config/posix/lock.c: Rename from sys-lock.c.
16083 * config/posix/mutex.h: Rename from sys-mutex.h.
16084 * config/posix/sem.c: Rename from sys-sem.c.
16085 * config/posix/sem.h: Rename from sys-sem.h.
16086 * config/posix/proc.c: Rename from sys-proc.c.
16087 * config/posix/time.c: Rename from sys-proc.c.
16088
16089 * config/linux/mutex.c: New file.
16090 * config/linux/mutex.h: New file.
16091 * config/linux/sem.c: New file.
16092 * config/linux/sem.h: New file.
16093 * config/linux/i486/futex.h: New file.
16094 * config/linux/x86_64/futex.h: New file.
16095
16096 2005-05-04 Richard Henderson <rth@redhat.com>
16097
16098 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
16099 * libgomp.h: Declare them.
16100 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
16101 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
16102
16103 2005-05-04 Richard Henderson <rth@redhat.com>
16104
16105 * libgomp-1 code drop
16106
16107 2005-05-04 Richard Henderson <rth@redhat.com>
16108
16109 * iter.c (gomp_iter_static_next): Return tri-state on 0.
16110 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
16111 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
16112 (gomp_iter_static_next): Update.
16113 (gomp_ordered_static_next): Update.
16114 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
16115 (gomp_loop_ordered_static_start): Likewise. Exit early for a
16116 totally empty range.
16117 (gomp_loop_ordered_static_next): Refine test for calling
16118 gomp_ordered_static_next.
16119 * testsuite/ordered-1.c: Add case for more threads than iterations.
16120
16121 * iter.c (gomp_iter_runtime_next_locked): Remove.
16122 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
16123 gomp_loop_guided_start, gomp_loop_ordered_static_start,
16124 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
16125 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
16126 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
16127 gomp_loop_ordered_guided_next): Downcase name, make static, add
16128 an external alias with the old name.
16129 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
16130 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
16131 switch and call one of the above static functions.
16132 * libgomp.h: Update.
16133
16134 * work.c (gomp_work_share_start): Lock the mutex for !first too.
16135 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
16136 GOMP_loop_guided_start, GOMP_loop_runtime_start,
16137 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16138 GOMP_loop_ordered_guided_start): Update to match.
16139 * sections.c (GOMP_sections_start): Likewise.
16140 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
16141
16142 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16143 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
16144 Use bounds check instead of modulus.
16145 (gomp_ordered_sync): Split out of GOMP_ordered_start.
16146 (gomp_ordered_last): Don't sync with ordered_owner here.
16147 (gomp_ordered_next): Likewise.
16148 (gomp_ordered_static_loop_next): Likewise.
16149 * loop.c, libgomp.h: Update to match.
16150
16151 * libgomp.h (GOMP_barrier): Declare.
16152
16153 * testsuite/barrier-1.c: New file.
16154 * testsuite/critical-1.c: New file.
16155 * testsuite/ordered-2.c: New file.
16156 * testsuite/ordered-1.c: New file.
16157 * testsuite/sections-1.c: New file.
16158 * testsuite/single-1.c: New file.
16159 * testsuite/Makefile (TESTS): Add them.
16160
16161 2005-05-04 Richard Henderson <rth@redhat.com>
16162
16163 * libgomp.h (struct gomp_work_share): Add ordered_owner.
16164 * loop.c (GOMP_loop_static_start): If not the startup thread,
16165 acquire the mutex to wait for initialization complete.
16166 (GOMP_loop_ordered_static_start): Likewise.
16167 (GOMP_loop_ordered_runtime_start): Likewise.
16168 (GOMP_loop_ordered_static_first): Remove.
16169 (GOMP_loop_ordered_dynamic_first): Remove.
16170 (GOMP_loop_ordered_guided_first): Remove.
16171 (GOMP_loop_ordered_runtime_first): Remove.
16172 * ordered.c (gomp_ordered_loop_first): Post to own release when
16173 we're the first thread.
16174 (gomp_ordered_loop_last): Wait on release if not owner.
16175 (gomp_ordered_loop_next): Likewise.
16176 (gomp_ordered_static_loop_init): New.
16177 (gomp_ordered_static_loop_next): Use ordered_owner.
16178 (GOMP_ordered_start): Likewise.
16179 * work.c (gomp_new_work_share): Initialize ordered_owner.
16180
16181 2005-05-03 Richard Henderson <rth@redhat.com>
16182
16183 * Makefile (OPT): New.
16184 (CFLAGS): Use it.
16185
16186 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
16187 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
16188 * libgomp.h, libgomp.map, NOTES: Update to match.
16189
16190 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
16191 Add initialized and thr members.
16192 (gomp_thread_start): Pause when initially spawned to wait for
16193 the whole team to be created.
16194 (gomp_team_start): Release team members at the end.
16195
16196 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
16197 (f_foo_1): Use GOMP_loop_end.
16198 (f_foo_2): Use GOMP_loop_end_nowait.
16199
16200 * testsuite/loop-2.c: New file.
16201 * testsuite/Makefile (TESTS): Add it.
16202
16203 2005-05-03 Richard Henderson <rth@redhat.com>
16204
16205 * iter.c (gomp_iter_static_next): Fix overflow check typo.
16206 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
16207 * team.c (new_team): Initialize oldest_live_gen to 1 if no
16208 initial work_share.
16209
16210 * testsuite/Makefile: New file.
16211 * testsuite/loop-1.c: New file.
16212
16213 2005-05-03 Richard Henderson <rth@redhat.com>
16214
16215 Initial implementation and checkin.
16216 \f
16217 Copyright (C) 2005-2021 Free Software Foundation, Inc.
16218
16219 Copying and distribution of this file, with or without modification,
16220 are permitted in any medium without royalty provided the copyright
16221 notice and this notice are preserved.
This page took 0.753581 seconds and 5 git commands to generate.