1 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
3 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
5 2021-11-15 Jakub Jelinek <jakub@redhat.com>
7 * task.c (gomp_create_target_task): Copy args array as well.
8 * target.c (gomp_target_fallback): Add args argument.
9 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
10 (GOMP_target): Adjust gomp_target_fallback caller.
11 (GOMP_target_ext): Likewise.
12 (gomp_target_task_fn): Likewise.
13 * config/nvptx/team.c (gomp_nvptx_main): Set
14 gomp_global_icv.thread_limit_var.
15 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
17 2021-11-15 Jakub Jelinek <jakub@redhat.com>
19 * config/nvptx/team.c (__gomp_team_num): Define as
20 __attribute__((shared)) var.
21 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
22 * config/nvptx/target.c (__gomp_team_num): Declare as
23 extern __attribute__((shared)) var.
24 (GOMP_teams4): Use __gomp_team_num as the team number instead of
25 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
26 is bigger than num_blocks, use num_teams_lower teams and arrange for
27 bumping of __gomp_team_num if !first and returning false once we run
29 * config/nvptx/teams.c (__gomp_team_num): Declare as
30 extern __attribute__((shared)) var.
31 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
33 2021-11-15 Jakub Jelinek <jakub@redhat.com>
35 * testsuite/libgomp.c/teams-5.c: New test.
37 2021-11-12 Jakub Jelinek <jakub@redhat.com>
40 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
42 * config/gcn/teams.c: ... here. New file.
44 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
46 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
47 implicit map handling to allow a "superset" existing map as valid case.
48 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
49 (get_implicit): New function to extract implicit status.
50 (gomp_map_fields_existing): Adjust arguments in calls to
51 gomp_map_vars_existing, and add uses of get_implicit.
52 (gomp_map_vars_internal): Likewise.
53 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
55 2021-11-12 Jakub Jelinek <jakub@redhat.com>
57 * libgomp_g.h (GOMP_teams4): Declare.
58 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
59 * target.c (GOMP_teams4): New function.
60 * config/nvptx/target.c (GOMP_teams): Remove.
61 (GOMP_teams4): New function.
62 * config/gcn/target.c (GOMP_teams): Remove.
63 (GOMP_teams4): New function.
64 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
65 teams instead of <= 2.
66 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
68 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
70 * testsuite/libgomp.fortran/teams-1.f90: New test.
72 2021-11-11 Jakub Jelinek <jakub@redhat.com>
74 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
75 * team.c (struct gomp_thread_start_data): Likewise.
76 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
77 (gomp_team_start): Initialize start_data->num_teams and
78 start_data->team_num. Update nthr->num_teams and nthr->team_num.
79 * teams.c (gomp_num_teams, gomp_team_num): Remove.
80 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
81 instead of gomp_num_teams and gomp_team_num.
82 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
83 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
84 * testsuite/libgomp.c/teams-4.c: New test.
86 2021-11-11 Jakub Jelinek <jakub@redhat.com>
88 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
90 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
92 * env.c (parse_gomp_openacc_dim): Restore parsing.
94 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
97 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
99 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
100 * testsuite/libgomp.c/target-3.c: Likewise.
101 * testsuite/libgomp.c/target-5.c: Likewise.
102 * testsuite/libgomp.c/target-6.c: Likewise.
103 * testsuite/libgomp.c/target-teams-1.c: Likewise.
104 * testsuite/libgomp.c/teams-1.c: Likewise.
105 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
106 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
107 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
108 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
109 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
110 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
111 * testsuite/libgomp.fortran/teams1.f90: Likewise.
113 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
115 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
116 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
118 2021-10-27 Jakub Jelinek <jakub@redhat.com>
120 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
121 aren't implemented for Fortran yet.
123 2021-10-27 Jakub Jelinek <jakub@redhat.com>
125 * testsuite/libgomp.c/loop-26.c: New test.
126 * testsuite/libgomp.c/loop-27.c: New test.
128 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
131 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
132 instead of #include <alloca.h> + alloca.
134 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
136 * libgomp.texi (Support of strictly structured blocks in Fortran):
138 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
140 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
142 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
143 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
145 2021-10-20 Jakub Jelinek <jakub@redhat.com>
148 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
149 (struct gomp_work_share): Only use aligned(64) attribute if
150 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
151 add padding before lock to ensure lock is at offset 64 bytes
153 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
154 New poor man's static assertions.
155 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
156 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
158 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
159 Richard Biener <rguenther@suse.de>
161 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
163 2021-10-18 Jakub Jelinek <jakub@redhat.com>
165 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
166 && gomp_places_list_len < count after nfirst <= nlast loop condition.
168 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
177 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
179 2021-10-15 Jakub Jelinek <jakub@redhat.com>
181 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
182 type from char [50] to const char *.
183 (places_array): Add a testcase for simplified syntax place followed
184 by length or length and stride.
186 2021-10-15 Jakub Jelinek <jakub@redhat.com>
188 * env.c (parse_one_place): Handle non-negative-number the same
189 as { non-negative-number }. Reject even !number:1 and
190 !number:1:stride or !place:1 or !place:1:stride instead of just
192 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
193 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
194 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
196 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
199 2021-10-15 Jakub Jelinek <jakub@redhat.com>
201 * env.c (parse_schedule): For strtoul or strtoull calls which don't
202 clearly reject return value 0 as invalid handle the case where end
203 pointer is the same as first argument as invalid.
204 (parse_unsigned_long_1): Likewise.
205 (parse_one_place): Likewise.
206 (parse_places_var): Likewise.
207 (parse_stacksize): Likewise.
208 (parse_spincount): Likewise.
209 (parse_affinity): Likewise.
210 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
212 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
213 For strtoul calls which don't clearly reject return value 0 as
214 invalid handle the case where end pointer is the same as first
216 (gomp_affinity_init_level_1): Likewise.
217 (gomp_affinity_init_numa_domains): Likewise.
218 * config/rtems/proc.c (parse_thread_pools): Likewise.
220 2021-10-15 Jakub Jelinek <jakub@redhat.com>
222 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
223 after creating count places clean up and return immediately.
224 * testsuite/libgomp.c/places-6.c: New test.
225 * testsuite/libgomp.c/places-7.c: New test.
226 * testsuite/libgomp.c/places-8.c: New test.
227 * testsuite/libgomp.c/places-9.c: New test.
228 * testsuite/libgomp.c/places-10.c: New test.
230 2021-10-15 Jakub Jelinek <jakub@redhat.com>
232 * env.c (parse_places_var): Handle numa_domains as level 5.
233 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
235 (gomp_affinity_init_level): Use it instead of
236 gomp_affinity_init_level_1 for level == 5.
237 * testsuite/libgomp.c/places-5.c: New test.
239 2021-10-15 Jakub Jelinek <jakub@redhat.com>
241 * env.c (parse_places_var): Handle ll_caches as level 4.
242 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
244 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
246 (gomp_affinity_init_level): Likewise.
247 * testsuite/libgomp.c/places-1.c: New test.
248 * testsuite/libgomp.c/places-2.c: New test.
249 * testsuite/libgomp.c/places-3.c: New test.
250 * testsuite/libgomp.c/places-4.c: New test.
252 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
254 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
257 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
259 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
261 2021-10-12 Julian Brown <julian@codesourcery.com>
263 * target.c (gomp_copy_host2dev): Release device lock on cbuf
266 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
268 * testsuite/libgomp.fortran/icv-3.f90: New.
269 * testsuite/libgomp.fortran/icv-4.f90: New.
271 2021-10-12 Jakub Jelinek <jakub@redhat.com>
273 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
274 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
275 OMP_TEAMS_THREAD_LIMIT): Document.
277 2021-10-12 Jakub Jelinek <jakub@redhat.com>
279 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
280 to avoid makeinfo warnings.
282 2021-10-12 Jakub Jelinek <jakub@redhat.com>
284 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
285 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
287 2021-10-12 Jakub Jelinek <jakub@redhat.com>
291 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
292 allocation sizes from 420 to 320 and from 768 to 568.
293 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
294 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
297 2021-10-12 Jakub Jelinek <jakub@redhat.com>
299 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
300 * testsuite/libgomp.c/scan-12.c: Likewise.
301 * testsuite/libgomp.c/scan-13.c: Likewise.
302 * testsuite/libgomp.c/scan-14.c: Likewise.
303 * testsuite/libgomp.c/scan-15.c: Likewise.
304 * testsuite/libgomp.c/scan-16.c: Likewise.
305 * testsuite/libgomp.c/scan-17.c: Likewise.
306 * testsuite/libgomp.c/scan-18.c: Likewise.
307 * testsuite/libgomp.c/scan-19.c: Likewise.
308 * testsuite/libgomp.c/scan-20.c: Likewise.
309 * testsuite/libgomp.c/scan-21.c: Likewise.
310 * testsuite/libgomp.c/scan-22.c: Likewise.
311 * testsuite/libgomp.c++/scan-9.C: Likewise.
312 * testsuite/libgomp.c++/scan-10.C: Likewise.
313 * testsuite/libgomp.c++/scan-11.C: Likewise.
314 * testsuite/libgomp.c++/scan-12.C: Likewise.
315 * testsuite/libgomp.c++/scan-13.C: Likewise.
316 * testsuite/libgomp.c++/scan-14.C: Likewise.
317 * testsuite/libgomp.c++/scan-15.C: Likewise.
318 * testsuite/libgomp.c++/scan-16.C: Likewise.
320 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
322 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
324 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
326 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
328 * omp.h.in: Add deprecated flag for omp_atv_sequential.
329 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
330 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
331 * testsuite/libgomp.fortran/alloc-12.f90: New test.
333 2021-10-11 Jakub Jelinek <jakub@redhat.com>
335 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
336 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
337 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
338 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
339 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
340 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
341 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
342 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
343 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
344 omp_set_teams_thread_limit{,_,_8_}.
345 * icv.c (omp_set_num_teams, omp_get_max_teams,
346 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
348 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
349 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
350 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
352 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
353 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
354 is not specified, use gomp_nteams_var.
355 * fortran.c (omp_set_num_teams, omp_get_max_teams,
356 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
358 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
359 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
360 omp_get_teams_thread_limit_): New functions.
362 2021-10-09 liuhongt <hongtao.liu@intel.com>
364 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
365 * testsuite/libgomp.c++/scan-11.C: Ditto.
366 * testsuite/libgomp.c++/scan-12.C: Ditto.
367 * testsuite/libgomp.c++/scan-13.C: Ditto.
368 * testsuite/libgomp.c++/scan-14.C: Ditto.
369 * testsuite/libgomp.c++/scan-15.C: Ditto.
370 * testsuite/libgomp.c++/scan-16.C: Ditto.
371 * testsuite/libgomp.c++/scan-9.C: Ditto.
372 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
373 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
374 * testsuite/libgomp.c/scan-11.c: Ditto.
375 * testsuite/libgomp.c/scan-12.c: Ditto.
376 * testsuite/libgomp.c/scan-13.c: Ditto.
377 * testsuite/libgomp.c/scan-14.c: Ditto.
378 * testsuite/libgomp.c/scan-15.c: Ditto.
379 * testsuite/libgomp.c/scan-16.c: Ditto.
380 * testsuite/libgomp.c/scan-17.c: Ditto.
381 * testsuite/libgomp.c/scan-18.c: Ditto.
382 * testsuite/libgomp.c/scan-19.c: Ditto.
383 * testsuite/libgomp.c/scan-20.c: Ditto.
384 * testsuite/libgomp.c/scan-21.c: Ditto.
385 * testsuite/libgomp.c/scan-22.c: Ditto.
387 2021-10-09 Jakub Jelinek <jakub@redhat.com>
389 * libgomp.texi (OpenMP 5.1): Mention implemented support for
390 structured block sequences in C/C++. Mention support for
391 unconstrained/reproducible modifiers on order clause.
392 Mention partial (C/C++ only) support of extentensions to atomics
393 construct. Mention partial (C/C++ on clause only) support of
394 align/allocator modifiers on allocate clause.
396 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
398 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
399 based on libgomp.c-c++-common/order-reproducible-1.c.
400 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
401 * testsuite/libgomp.fortran/my-usleep.c: New test.
403 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
405 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
406 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
407 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
408 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
409 based on libgomp.c-c++-common/alloc-9.c.
411 2021-10-01 Jakub Jelinek <jakub@redhat.com>
413 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
414 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
416 2021-10-01 Jakub Jelinek <jakub@redhat.com>
418 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
420 * env.c (handle_omp_display_env): Use ialias_call.
421 * icv-device.c: Move ialias right below each function.
422 (omp_get_device_num): Use ialias_call.
423 * fortran.c (omp_fulfill_event): Add ialias_redirect.
424 * icv.c (omp_get_active_level): Add ialias_redirect.
426 2021-10-01 Jakub Jelinek <jakub@redhat.com>
428 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
429 __alloc_align__ (1) attribute.
430 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
432 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
434 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
435 for -fintrinsic-modules-path= warning of the C compiler.
436 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
437 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
439 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
441 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
442 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
443 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
445 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
447 * testsuite/libgomp.fortran/alloc-10.f90: New test.
448 * testsuite/libgomp.fortran/alloc-6.f90: New test.
449 * testsuite/libgomp.fortran/alloc-7.c: New test.
450 * testsuite/libgomp.fortran/alloc-7.f90: New test.
451 * testsuite/libgomp.fortran/alloc-8.f90: New test.
452 * testsuite/libgomp.fortran/alloc-9.f90: New test.
454 2021-09-30 Jakub Jelinek <jakub@redhat.com>
456 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
457 omp_realloc): New prototypes.
458 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
460 * allocator.c: Include string.h.
461 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
462 variable and use it instead of alignment so that when retrying the old
463 alignment is used again. Don't retry if new alignment is the same
464 as old alignment, unless allocator had pool size.
465 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
466 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
467 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
468 omp_aligned_calloc and omp_realloc.
469 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
470 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
471 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
472 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
473 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
474 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
476 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
479 * configure.ac: Only check for int-type = 2*size_t support when
480 building with Fortran support.
481 * configure: Regenerate.
483 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
485 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
486 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
488 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
490 * team.c: Initialize start_data.
491 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
492 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
494 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
496 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
497 dg-message back to dg-note.
499 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
502 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
503 expected dg-note output.
505 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
508 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
509 r12-3722 by removing -Wno-missing-include-dirs.
510 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
512 2021-09-22 Jakub Jelinek <jakub@redhat.com>
514 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
515 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
517 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
520 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
522 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
524 2021-09-18 Jakub Jelinek <jakub@redhat.com>
526 * testsuite/libgomp.c++/default-1.C: New test.
527 * testsuite/libgomp.c-c++-common/default-1.c: New test.
528 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
529 to default clause in C and C++" as implemented.
531 2021-09-17 Julian Brown <julian@codesourcery.com>
533 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
535 2021-09-17 Julian Brown <julian@codesourcery.com>
537 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
539 2021-09-17 Jakub Jelinek <jakub@redhat.com>
541 * libgomp.texi (OpenMP 5.1): Spelling fix,
542 declare variante -> declare variant.
544 2021-09-17 Jakub Jelinek <jakub@redhat.com>
546 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
547 Use /* */ comments instead of //.
548 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
549 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
550 * testsuite/libgomp.c++/atomic-16.C: New test.
551 * testsuite/libgomp.c++/atomic-17.C: New test.
553 2021-09-10 Jakub Jelinek <jakub@redhat.com>
555 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
556 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
557 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
559 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
561 * libgomp.texi (OpenMP Implementation Status): Extend
563 (OpenACC Profiling Interface): Fix typo.
565 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
567 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
568 not to 4.5; link to new section.
569 (OpenMP Implementation Status): New.
571 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
573 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
575 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
577 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
579 * testsuite/libgomp.fortran/error-1.f90: Likewise.
581 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
582 Jakub Jelinek <jakub@redhat.com>
584 * testsuite/libgomp.c/address-space-1.c: New file.
586 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
588 * testsuite/lib/libgomp.exp
589 (check_effective_target_offload_target_intelmic): Remove 'proc'.
590 (check_effective_target_offload_device_intel_mic): New 'proc'.
591 * testsuite/libgomp.c-c++-common/on_device_arch.h
592 (device_arch_intel_mic, on_device_arch_intel_mic): New.
593 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
595 * testsuite/libgomp.fortran/target10.f90: Likewise.
597 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
599 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
600 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
601 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
602 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
604 2021-08-23 Jakub Jelinek <jakub@redhat.com>
606 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
607 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
608 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
610 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
612 * config/nvptx/error.c (fwrite, exit): Override, too.
613 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
614 of offloading testing.
615 * testsuite/libgomp.fortran/error-1.f90: Likewise.
617 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
619 * testsuite/libgomp.fortran/error-1.f90: New test.
621 2021-08-20 Jakub Jelinek <jakub@redhat.com>
623 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
624 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
625 * error.c (GOMP_warning, GOMP_error): New functions.
626 * testsuite/libgomp.c-c++-common/error-1.c: New test.
628 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
630 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
631 omp_target_free. omp_target_is_present, omp_target_memcpy,
632 omp_target_memcpy_rect, omp_target_associate_ptr,
633 omp_target_disassociate_ptr): Add interface.
634 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
635 omp_target_free. omp_target_is_present, omp_target_memcpy,
636 omp_target_memcpy_rect, omp_target_associate_ptr,
637 omp_target_disassociate_ptr): Add interface.
638 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
639 interface block for omp_alloc + omp_free.
640 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
641 * testsuite/libgomp.fortran/refcount-1.f90: New test.
642 * testsuite/libgomp.fortran/target-12.f90: New test.
644 2021-08-18 Jakub Jelinek <jakub@redhat.com>
646 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
648 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
650 * testsuite/libgomp.fortran/scope-1.f90: New test.
651 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
653 2021-08-17 Jakub Jelinek <jakub@redhat.com>
655 * Makefile.am (libgomp_la_SOURCES): Add scope.c
656 * Makefile.in: Regenerated.
657 * libgomp_g.h (GOMP_scope_start): Declare.
658 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
660 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
661 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
663 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
665 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
668 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
670 * testsuite/libgomp.fortran/masked-1.f90: New test.
672 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
674 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
676 2021-08-12 Jakub Jelinek <jakub@redhat.com>
678 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
680 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
682 * env.c (parse_bind_var): Accept 'primary' as alias for
684 (omp_display_env): Add TODO comment to
685 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
686 * libgomp.texi: Change 'master thread' to 'primary thread'
687 in line with OpenMP 5.1.
688 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
689 omp_proc_bind_master is an alias of it.
690 (OMP_PROC_BIND): Mention 'PRIMARY'.
691 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
692 (omp_proc_bind_primary): Add.
693 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
694 * omp_lib.f90.in (omp_proc_bind_primary): Add.
695 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
696 * omp_lib.h.in (omp_proc_bind_primary): Add.
697 * testsuite/libgomp.c/affinity-1.c: Check that
698 'primary' works and is identical to 'master'.
700 2021-08-09 Julian Brown <julian@codesourcery.com>
701 Kwok Cheung Yeung <kcy@codesourcery.com>
702 Thomas Schwinge <thomas@codesourcery.com>
704 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
706 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
707 [acc_device_radeon]: Update.
708 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
709 [ACC_DEVICE_TYPE_radeon]: Likewise.
710 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
711 [acc_device_radeon]: Likewise.
712 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
713 [ACC_DEVICE_TYPE_radeon]: Likewise.
714 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
715 'openacc_radeon_accel_selected' and '-O0'.
716 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
718 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
720 * icv-device.c (omp_get_device_num): New API function, host side.
721 * fortran.c (omp_get_device_num_): New interface function.
722 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
723 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
725 * libgomp.texi (omp_get_device_num): Add documentation for new API
727 * omp.h.in (omp_get_device_num): Add declaration.
728 * omp_lib.f90.in (omp_get_device_num): Likewise.
729 * omp_lib.h.in (omp_get_device_num): Likewise.
730 * target.c (gomp_load_image_to_device): If additional entry for device
731 number exists at end of returned entries from 'load_image_func' hook,
732 copy the assigned device number over to the device variable.
733 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
734 (omp_get_device_num): New API function, device side.
735 * plugin/plugin-gcn.c ("symcat.h"): Add include.
736 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
737 at end of returned 'target_table' entries.
738 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
739 (omp_get_device_num): New API function, device side.
740 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
741 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
742 at end of returned 'target_table' entries.
743 * testsuite/lib/libgomp.exp
744 (check_effective_target_offload_target_intelmic): New function for
745 testing for intelmic offloading.
746 * testsuite/libgomp.c-c++-common/target-45.c: New test.
747 * testsuite/libgomp.fortran/target10.f90: New test.
749 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
750 Ulrich Drepper <drepper@redhat.com>
752 * fortran.c (omp_display_env_, omp_display_env_8_): Only
753 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
755 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
756 Julian Brown <julian@codesourcery.com>
757 Kwok Cheung Yeung <kcy@codesourcery.com>
759 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
760 's%oaccdevlow%oaccloops%g'.
761 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
762 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
763 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
765 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
767 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
769 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
771 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
773 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
775 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
777 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
779 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
781 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
783 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
785 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
787 2021-07-27 Ulrich Drepper <drepper@gmail.com>
789 * env.c (wait_policy, stacksize): New static variables,
790 move out of handle_omp_display_env.
791 (omp_display_env): New function. The meat of the old
792 handle_omp_display_env function.
793 (handle_omp_display_env): Change to not take parameters
794 and instead use the global variables. Only perform
795 parsing, defer to omp_display_env for the implementation.
796 (initialize_env): Remove local variables wait_policy and
797 stacksize. Don't pass parameters to handle_omp_display_env.
798 * fortran.c: Add ialias_redirect for omp_display_env.
799 (omp_display_env_, omp_display_env_8_): New functions.
800 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
801 omp_display_env_, and omp_display_env_8_.
802 * omp.h.in: Declare omp_display_env.
803 * omp_lib.f90.in: Likewise.
804 * omp_lib.h.in: Likewise.
806 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
807 Julian Brown <julian@codesourcery.com>
809 * target.c (gomp_coalesce_buf_add): Update comment.
810 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
812 (gomp_map_vars_internal): Only 'if (!aq)', do
813 'gomp_coalesce_buf_add'.
814 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
817 2021-07-27 Julian Brown <julian@codesourcery.com>
818 Thomas Schwinge <thomas@codesourcery.com>
820 * libgomp.h (gomp_copy_host2dev): Update prototype.
821 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
822 argument to gomp_copy_host2dev (false).
823 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
824 (copy_data): Don't free src.
825 (queue_push_copy): Remove free_src handling.
826 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
827 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
829 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
831 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
832 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
833 data when true, and set up deferred freeing of temporary buffer.
834 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
835 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
836 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
837 calls to gomp_copy_host2dev with appropriate ephemeral argument.
838 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
841 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
842 Tom de Vries <tom@codesourcery.com>
844 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
845 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
847 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
849 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
850 sequencing of 'async' data copying vs. profiling events.
851 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
854 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
855 Julian Brown <julian@codesourcery.com>
857 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
858 'async'/'wait' issue.
859 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
860 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
861 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
863 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
864 Joseph Myers <joseph@codesourcery.com>
865 Cesar Philippidis <cesar@codesourcery.com>
867 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
869 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
871 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
873 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
875 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
878 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
879 '-Wno-error=array-bounds'.
880 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
881 * libgomp.h [__AMDGCN__]: Likewise.
883 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
886 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
887 * libgomp.h [__AMDGCN__]: Likewise.
889 2021-07-13 Jakub Jelinek <jakub@redhat.com>
890 Florian Weimer <fweimer@redhat.com>
892 * config/linux/sem.h: Don't include limits.h.
893 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
894 * config/linux/affinity.c: Include limits.h.
896 2021-07-01 Jakub Jelinek <jakub@redhat.com>
899 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
901 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
904 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
905 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
906 avoid disabling other offload targets.
907 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
908 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
909 * testsuite/libgomp.c/target-44.c: Likewise.
911 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
913 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
914 target has shared memory and disable some scalar pointer/allocatable
915 checks if not as firstprivate does not work.
917 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
920 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
921 Add "target offload_device_nonshared_as" condition for enabling test.
923 2021-06-24 Jakub Jelinek <jakub@redhat.com>
925 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
926 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
927 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
928 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
930 2021-06-23 Jakub Jelinek <jakub@redhat.com>
933 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
935 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
937 * hashtab.h (htab_clear): New function with initialization code
939 (htab_create): ...here, adjust to use htab_clear function.
940 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
941 special refcount values, add comments.
942 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
943 (REFCOUNT_LINK): Likewise.
944 (REFCOUNT_STRUCTELEM): New special refcount range for structure
946 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
948 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
949 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
950 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
951 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
952 (struct splay_tree_key_s): Add structelem_refcount and
953 structelem_refcount_ptr fields into a union with dynamic_refcount.
955 (gomp_map_vars): Delete declaration.
956 (gomp_map_vars_async): Likewise.
957 (gomp_unmap_vars): Likewise.
958 (gomp_unmap_vars_async): Likewise.
959 (goacc_map_vars): New declaration.
960 (goacc_unmap_vars): Likewise.
961 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
962 (goacc_enter_datum): Likewise.
963 (goacc_enter_data_internal): Likewise.
964 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
965 and goacc_unmap_vars.
966 (GOACC_data_start): Adjust to use goacc_map_vars.
967 (GOACC_data_end): Adjust to use goacc_unmap_vars.
968 * target.c (hash_entry_type): New typedef.
969 (htab_alloc): New function hook for hashtab.h.
970 (htab_free): Likewise.
971 (htab_hash): Likewise.
973 (hashtab.h): Add file include.
974 (gomp_increment_refcount): New function.
975 (gomp_decrement_refcount): Likewise.
976 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
977 gomp_increment_refcount.
978 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
979 to gomp_map_vars_existing.
980 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
981 variable to guard OpenMP specific paths, adjust calls to
982 gomp_map_vars_existing, add structure element sibling splay_tree_key
983 sequence creation code, adjust Fortran map case to avoid increment
985 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
986 local refcount_set if caller passed in NULL, adjust call to
987 gomp_map_vars_internal.
988 (gomp_map_vars_async): Adjust and rename into...
989 (goacc_map_vars): ...this new function, adjust call to
990 gomp_map_vars_internal.
991 (gomp_remove_splay_tree_key): New function with code factored out from
992 gomp_remove_var_internal.
993 (gomp_remove_var_internal): Add code to handle removing multiple
994 splay_tree_key sequence for structure elements, adjust code to use
995 gomp_remove_splay_tree_key for splay-tree key removal.
996 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
997 gomp_decrement_refcount.
998 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
999 local refcount_set if caller passed in NULL, adjust call to
1000 gomp_unmap_vars_internal.
1001 (gomp_unmap_vars_async): Adjust and rename into...
1002 (goacc_unmap_vars): ...this new function, adjust call to
1003 gomp_unmap_vars_internal.
1004 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
1006 (GOMP_target_ext): Likewise.
1007 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
1008 (GOMP_target_data): Likewise.
1009 (GOMP_target_data_ext): Likewise.
1010 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
1011 (gomp_exit_data): Add refcount_set parameter, adjust to use
1012 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
1014 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
1015 gomp_map_vars and gomp_exit_data.
1016 (gomp_target_task_fn): Likewise.
1017 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
1018 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
1019 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
1020 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
1021 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
1022 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
1024 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
1027 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
1029 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
1030 Thomas Schwinge <thomas@codesourcery.com>
1032 * libgomp.map (GOACC_2.0.2): New symbol version.
1033 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
1034 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
1036 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1037 Andrew Stubbs <ams@codesourcery.com>
1039 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
1041 (GOACC_enter_exit_data): ... here.
1042 (GOACC_declare): Use it.
1044 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1046 * oacc-parallel.c (GOACC_declare): Move...
1047 * oacc-mem.c: ... here.
1048 * libgomp_g.h: Adjust.
1050 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
1051 Thomas Schwinge <thomas@codesourcery.com>
1053 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
1056 2021-06-10 Jakub Jelinek <jakub@redhat.com>
1058 PR tree-optimization/100981
1059 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
1060 dsdotr and dsdoti to 0.
1062 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
1064 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
1065 if atomic compare-and-swap is supported on 'int'.
1067 2021-06-09 Richard Biener <rguenther@suse.de>
1069 PR tree-optimization/100981
1070 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
1072 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1074 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
1076 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1078 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1079 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1081 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1083 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
1084 '-DACC_MEM_SHARED=0'.
1085 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1086 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1087 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1088 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1089 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1090 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1091 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1092 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1093 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1094 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1095 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1096 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1097 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1098 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1099 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
1100 'acc_device_radeon' testing.
1101 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1102 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1103 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1104 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
1105 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1106 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1107 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1108 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1109 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1110 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1111 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
1112 for non-'openacc_nvidia_accel_selected'.
1113 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1114 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
1115 all implement this checking".
1116 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1117 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1118 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1119 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1120 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1122 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1124 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
1125 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
1127 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1129 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
1130 for 'acc_device_radeon'.
1132 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1134 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
1135 for non-'acc_device_nvidia'.
1137 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1139 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
1140 'acc_device_radeon' testing.
1141 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1142 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1143 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1145 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1147 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
1148 require 'openacc_nvidia_accel_selected'. Fix up for
1149 'ACC_DEVICE_TYPE_radeon'.
1151 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1153 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
1154 'openacc_nvidia_accel_selected'.
1155 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1157 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1159 * testsuite/lib/libgomp.exp
1160 (check_effective_target_openacc_radeon_accel_selected):
1163 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1165 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
1168 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1170 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1171 <acc_device_nvidia>: Update comment.
1173 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
1175 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
1177 2021-05-27 Jakub Jelinek <jakub@redhat.com>
1179 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
1180 check_effective_target_openacc_cublas,
1181 check_effective_target_openacc_cudart): New.
1182 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
1183 target openacc_cublas.
1184 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1185 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1186 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
1187 target openacc_cuda.
1188 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1189 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1191 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1192 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1193 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1194 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1195 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1196 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
1197 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1198 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1199 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1200 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1201 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1202 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1203 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1204 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
1205 targets openacc_cublas and openacc_cudart.
1206 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1207 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1208 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1209 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1210 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
1211 Require effective target openacc_cudart.
1212 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
1213 for effective target openacc_cuda and add && defined USE_CUDA_H to
1214 preprocessor conditionals. Guard -lcuda also on openacc_cuda
1217 2021-05-26 Jakub Jelinek <jakub@redhat.com>
1220 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
1221 GOMP_target_end_data, GOMP_target_update_ext,
1222 GOMP_target_enter_exit_data): New dummy entrypoints.
1223 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
1224 GOMP_target_end_data, GOMP_target_update_ext,
1225 GOMP_target_enter_exit_data): Likewise.
1226 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
1227 OMPFROM, OMPTO): Define.
1228 (main): Remove #pragma omp target teams around all the tests.
1229 * testsuite/libgomp.c-c++-common/target-41.c: New test.
1230 * testsuite/libgomp.c-c++-common/target-42.c: New test.
1232 2021-05-25 Jakub Jelinek <jakub@redhat.com>
1235 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
1237 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
1240 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
1241 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
1242 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
1244 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
1247 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
1248 uninteresting/varying diagnostics.
1250 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1253 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
1254 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1256 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1259 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
1261 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1262 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
1263 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1265 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1267 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1269 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1271 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1273 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1275 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1277 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1279 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1281 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1283 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1285 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1287 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1289 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1291 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1293 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1295 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1297 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1299 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1301 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1303 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1305 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1306 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1307 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1308 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
1309 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1310 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1311 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1312 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1313 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1314 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1315 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1316 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1317 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1318 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1319 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1321 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
1323 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
1325 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1327 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1328 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1330 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1331 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1332 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1333 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1334 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1335 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1336 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1338 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1340 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1342 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1344 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1346 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1348 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1350 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1352 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1354 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1356 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1358 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1360 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1362 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1363 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1364 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1366 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1368 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1369 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1370 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1372 2021-05-21 Julian Brown <julian@codesourcery.com>
1373 Chung-Lin Tang <cltang@codesourcery.com>
1374 Thomas Schwinge <thomas@codesourcery.com>
1377 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
1379 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
1381 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
1384 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
1386 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
1387 for nvptx offloading.
1389 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
1391 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
1393 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
1396 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
1398 2021-05-19 Julian Brown <julian@codesourcery.com>
1400 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
1402 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1404 * testsuite/lib/libgomp.exp
1405 (check_effective_target_offload_target_nvptx): Don't shadow global
1406 'offload_targets' variable.
1408 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1410 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
1411 '-latomic' to nvptx offloading compilation.
1412 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1414 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
1416 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
1417 offloading compilation.
1419 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
1421 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
1422 if new tasks generated.
1423 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
1425 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
1427 * testsuite/libgomp.fortran/parallel-master.f90: New test.
1429 2021-05-13 Martin Liska <mliska@suse.cz>
1432 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
1433 * testsuite/libgomp.c/pr46032-2.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
1437 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
1439 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
1440 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
1442 2021-05-11 Jakub Jelinek <jakub@redhat.com>
1444 PR middle-end/100471
1445 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
1446 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
1448 * testsuite/libgomp.c/task-reduction-4.c: New test.
1450 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
1451 Tom de Vries <tdevries@suse.de>
1453 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
1454 complex/floating-point || + && reduction with 'omp target'.
1455 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1457 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
1459 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
1460 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
1461 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
1462 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
1464 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
1467 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
1468 declaration to scope of non-'depend'-guarded assignment to avoid races.
1470 2021-05-03 Tom de Vries <tdevries@suse.de>
1473 * testsuite/libgomp.c/target-44.c: New test.
1475 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
1477 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
1479 2021-04-29 Tom de Vries <tdevries@suse.de>
1481 * testsuite/libgomp.c/pr81778.c: New test.
1483 2021-04-29 Tom de Vries <tdevries@suse.de>
1486 * testsuite/libgomp.c/target-43.c: New file.
1488 2021-04-28 Jakub Jelinek <jakub@redhat.com>
1489 Tobias Burnus <tobias@codesourcery.com>
1491 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
1492 * target.c (gomp_load_plugin_for_device): If set and if a plugin
1493 can't be dlopened, silently assume it has no devices.
1494 * Makefile.in: Regenerate.
1495 * config.h.in: Regenerate.
1496 * configure: Regenerate.
1498 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
1500 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1501 Use [Ww]arning in dg-bogus as FE diagnostic and default
1502 diagnostic differ and the result depends on ENABLE_OFFLOAD.
1503 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1504 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1505 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1507 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
1509 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
1510 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
1511 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1512 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1513 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1515 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1516 Nathan Sidwell <nathan@codesourcery.com>
1517 Tom de Vries <vries@codesourcery.com>
1518 Julian Brown <julian@codesourcery.com>
1519 Kwok Cheung Yeung <kcy@codesourcery.com>
1521 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
1522 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
1523 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1524 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1525 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1526 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1527 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
1529 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
1530 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1531 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1532 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1534 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
1535 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1537 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1538 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1539 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1540 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1541 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1542 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
1544 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
1545 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1546 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1547 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1548 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1549 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1550 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1551 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1552 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1553 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1554 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1556 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
1558 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
1560 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1561 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
1563 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1564 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
1565 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1566 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1567 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1568 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1569 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1571 2021-04-22 Richard Biener <rguenther@suse.de>
1573 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
1576 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1578 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
1579 omp_depend_kind instead of defining it as 16.
1581 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1583 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
1584 New, based on check_effective_target_offload_target_nvptx.
1585 (check_effective_target_offload_target_nvptx): Call it.
1586 (check_effective_target_offload_target_amdgcn): New.
1587 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
1588 Require target offload_target_nvptx || offload_target_amdgcn.
1589 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
1590 * testsuite/libgomp.c/pr86416-1.c: Likewise.
1591 * testsuite/libgomp.c/pr86416-2.c: Likewise.
1593 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
1595 * testsuite/libgomp.fortran/depobj-1.f90: New test.
1597 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
1599 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
1600 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
1601 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
1603 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1605 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1607 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
1610 * testsuite/lib/libgomp.exp
1611 (check_effective_target_offload_device_nvptx): New.
1612 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
1613 resolved, make sure that we exit quickly, with error status,
1615 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
1616 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1618 2021-04-14 Jakub Jelinek <jakub@redhat.com>
1621 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
1622 cp = omp_alloc with cp, p arguments instead of cq, q and call
1623 c_f_pointer after last cq = omp_alloc with cq, q.
1625 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
1628 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
1629 for loop with GT/GE condition.
1630 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1632 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
1637 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
1639 2021-04-09 Jakub Jelinek <jakub@redhat.com>
1642 * team.c (gomp_thread_start): Call pthread_setspecific for
1643 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
1644 has been initialized to avoid false positive warning.
1646 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
1649 * testsuite/lib/on_device_arch.c: Move to ...
1650 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
1651 * testsuite/libgomp.fortran/on_device_arch.c: New file;
1652 #include on_device_arch.h.
1653 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
1654 on_device_arch.h instead of using dg-additional-source.
1655 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1656 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
1657 on_device_arch.c without relative paths.
1659 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1661 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
1662 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
1663 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
1664 * config.h.in: Regenerate.
1665 * configure: Likewise.
1667 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1670 * testsuite/lib/on_device_arch.c: New file.
1671 * testsuite/libgomp.c/pr99555-1.c: Likewise.
1672 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
1673 skip for nvptx offloading, with error status.
1674 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
1676 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1678 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
1679 OpenACC 'serial' construct diagnostic for nvptx offloading.
1681 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
1684 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
1686 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
1689 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
1691 2021-03-04 Jakub Jelinek <jakub@redhat.com>
1693 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
1694 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
1695 checking of -m32 or -mx32 options on the command line.
1696 * config.h.in: Regenerated.
1697 * configure: Regenerated.
1699 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
1701 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
1702 support from the target.
1704 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1705 Jakub Jelinek <jakub@redhat.com>
1708 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
1709 (struct gomp_task): Replace detach and completion_sem fields with
1710 union containing completion_sem and detach_team. Add deferred_p
1712 (struct gomp_team): Remove task_detach_queue.
1713 * task.c: Include assert.h.
1714 (gomp_init_task): Initialize deferred_p and completion_sem fields.
1715 Rearrange initialization order of fields.
1716 (task_fulfilled_p): Delete.
1717 (GOMP_task): Use address of task as the event handle. Remove
1718 initialization of detach field. Initialize deferred_p field.
1719 Use automatic local for completion_sem. Initialize detach_team field
1721 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
1722 Set kind of suspended detach task to GOMP_TASK_DETACHED and
1723 decrement task_running_count. Move finish_cancelled block out of
1724 else branch. Relocate call to gomp_team_barrier_done.
1725 (GOMP_taskwait): Handle tasks with completion events that have not
1727 (GOMP_taskgroup_end): Likewise.
1728 (omp_fulfill_event): Use address of task as event handle. Post to
1729 completion_sem for undeferred tasks. Clear detach_team if task
1730 has not finished. For finished tasks, handle post-execution tasks,
1731 call gomp_team_barrier_wake if necessary, and free task.
1732 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
1733 (free_team): Remove free of task_detach_queue.
1734 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
1735 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
1736 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
1737 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
1738 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
1739 Change data-sharing of detach events on enclosing parallel to private.
1740 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
1742 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
1743 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
1744 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
1745 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
1746 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
1747 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
1748 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
1749 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
1750 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
1751 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
1752 Change data-sharing of detach events on enclosing parallel to private.
1753 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
1755 * testsuite/libgomp.fortran/task-detach-7.f90: New.
1756 * testsuite/libgomp.fortran/task-detach-8.f90: New.
1757 * testsuite/libgomp.fortran/task-detach-9.f90: New.
1758 * testsuite/libgomp.fortran/task-detach-10.f90: New.
1759 * testsuite/libgomp.fortran/task-detach-11.f90: New.
1761 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
1764 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
1766 2021-02-17 Julian Brown <julian@codesourcery.com>
1768 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
1771 2021-02-17 Julian Brown <julian@codesourcery.com>
1773 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
1774 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
1776 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1778 * config/linux/x86/futex.h (__futex_wait):
1779 Revert output type back to long.
1780 (__futex_wake): Ditto.
1781 (futex_wait): Update for revert.
1782 (futex_wake): Ditto.
1784 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
1786 * config/linux/x86/futex.h (__futex_wait): New static inline
1787 wrapper function. Correct output type to int and
1788 timeout type to void *.
1789 (__futex_wake): New static inline wrapper function.
1790 Correct output type to int.
1791 (futex_wait): Use __futex_wait.
1792 (futex_wake): Use __futex_wake.
1794 2021-02-10 Julian Brown <julian@codesourcery.com>
1797 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
1800 2021-02-04 Julian Brown <julian@codesourcery.com>
1802 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
1804 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
1806 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
1807 EF_AMDGPU_MACH_AMDGCN_GFX908.
1808 (gcn_gfx908_s): New constant string.
1809 (isa_hsa_name): Add gfx908.
1810 (isa_code): Add gfx908.
1812 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1814 * libgomp.texi (omp_fulfill_event): New entry.
1816 2021-01-20 Jakub Jelinek <jakub@redhat.com>
1818 * task.c (GOMP_task): Rename priority argument to priority_arg,
1819 add priority automatic variable and modify that variable. Instead of
1820 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
1821 check flags for that bit.
1823 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
1826 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
1828 2021-01-18 Andreas Schwab <schwab@suse.de>
1830 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
1832 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
1834 * config/rtems/sem.h (gomp_sem_getcount): New function.
1836 2021-01-18 Jakub Jelinek <jakub@redhat.com>
1838 * config/linux/sem.h (gomp_sem_getcount): New function.
1839 * config/posix/sem.h (gomp_sem_getcount): New function.
1840 * config/posix/sem.c (gomp_sem_getcount): New function.
1841 * config/accel/sem.h (gomp_sem_getcount): New function.
1842 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
1843 (omp_fulfill_event): Likewise.
1845 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
1847 * fortran.c (omp_fulfill_event_): New.
1848 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
1849 (struct gomp_team): Add task_detach_queue and task_detach_count
1851 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
1852 * libgomp_g.h (GOMP_task): Add extra argument.
1853 * omp.h.in (enum omp_event_handle_t): New.
1854 (omp_fulfill_event): New.
1855 * omp_lib.f90.in (omp_event_handle_kind): New.
1856 (omp_fulfill_event): New.
1857 * omp_lib.h.in (omp_event_handle_kind): New.
1858 (omp_fulfill_event): Declare.
1859 * priority_queue.c (priority_tree_find): New.
1860 (priority_list_find): New.
1861 (priority_queue_find): New.
1862 * priority_queue.h (priority_queue_predicate): New.
1863 (priority_queue_find): New.
1864 * task.c (gomp_init_task): Initialize detach field.
1865 (task_fulfilled_p): New.
1866 (GOMP_task): Add detach argument. Ignore detach argument if
1867 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
1868 field. Copy address of completion_sem into detach argument and
1869 into the start of the data record. Wait for detach event if task
1871 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
1872 Remove completed tasks and requeue dependent tasks.
1873 (omp_fulfill_event): New.
1874 * team.c (gomp_new_team): Initialize task_detach_queue and
1875 task_detach_count fields.
1876 (free_team): Free task_detach_queue field.
1877 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
1878 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
1879 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
1880 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
1881 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
1882 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
1883 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
1884 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
1885 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
1886 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
1887 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
1888 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
1890 2021-01-15 Jakub Jelinek <jakub@redhat.com>
1893 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
1894 be added through preprocessor check on
1895 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
1897 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
1900 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
1902 * configure: Regenerate.
1903 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
1906 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1908 * configure: Re-generate.
1910 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1912 * configure: Re-generate.
1914 2021-01-05 Julian Brown <julian@codesourcery.com>
1916 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
1917 (struct ptx_device): Add omp_stacks struct.
1918 (nvptx_open_device): Initialise cached-stacks housekeeping info.
1919 (nvptx_close_device): Free cached stacks block and mutex.
1920 (nvptx_stacks_free): New function.
1921 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
1922 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
1923 (nvptx_stacks_alloc): Rename to...
1924 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
1925 size or smaller is required.
1926 (nvptx_stacks_free): Remove.
1927 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
1928 during kernel execution.
1930 2021-01-01 Jakub Jelinek <jakub@redhat.com>
1932 * libgomp.texi: Bump @copying's copyright year.
1934 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
1936 * libgomp.texi (Top): Avoid bad "up" link.
1938 2020-12-18 Jakub Jelinek <jakub@redhat.com>
1940 * testsuite/libgomp.c/task-6.c: New test.
1942 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
1944 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
1945 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
1947 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
1949 * testsuite/libgomp.fortran/scan-1.f90: New test.
1951 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
1954 * configure: Regenerate.
1956 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
1958 * configure: Regenerate.
1960 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
1962 * testsuite/libgomp.oacc-c++/cache-1.C: New.
1963 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
1965 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
1967 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
1970 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
1972 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
1973 (reserved): Delete unused define.
1975 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
1977 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
1978 Tcl 8.5-specific behavior.
1979 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1981 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
1983 * env.c (gomp_global_icv): Remove nest_var field. Add
1984 max_active_levels_var field.
1985 (gomp_max_active_levels_var): Remove.
1986 (parse_boolean): Return true on success.
1987 (handle_omp_display_env): Express OMP_NESTED in terms of
1988 max_active_levels_var. Change format specifier for
1989 max_active_levels_var.
1990 (initialize_env): Set max_active_levels_var from
1991 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
1993 * icv.c (omp_set_nested): Express in terms of
1994 max_active_levels_var.
1995 (omp_get_nested): Likewise.
1996 (omp_set_max_active_levels): Use max_active_levels_var field instead
1997 of gomp_max_active_levels_var.
1998 (omp_get_max_active_levels): Likewise.
1999 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
2000 max_active_levels_var field.
2001 (gomp_supported_active_levels): Set to UCHAR_MAX.
2002 (gomp_max_active_levels_var): Delete.
2003 * libgomp.texi (omp_get_nested): Update documentation.
2004 (omp_set_nested): Likewise.
2005 (OMP_MAX_ACTIVE_LEVELS): Likewise.
2006 (OMP_NESTED): Likewise.
2007 (OMP_NUM_THREADS): Likewise.
2008 (OMP_PROC_BIND): Likewise.
2009 * parallel.c (gomp_resolve_num_threads): Replace reference
2010 to nest_var with max_active_levels_var. Use max_active_levels_var
2011 field instead of gomp_max_active_levels_var.
2013 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
2015 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
2016 nvptx_usleep; use also for device={arch(gcn)}.
2018 2020-11-14 Jakub Jelinek <jakub@redhat.com>
2020 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
2021 (foo): Add tests for non-VLA private and firstprivate clauses on
2023 (bar): Likewise. Remove taking of address from private/firstprivate
2025 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
2026 (foo): Add p, q, px and s arguments. Add tests for array reductions
2027 and for non-VLA private and firstprivate clauses on omp task.
2029 (main): Adjust foo caller. Don't call bar.
2031 2020-11-13 Gergö Barany <gergo@codesourcery.com>
2032 Thomas Schwinge <thomas@codesourcery.com>
2034 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2036 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2038 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2040 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2041 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2043 2020-11-13 Gergö Barany <gergo@codesourcery.com>
2044 Thomas Schwinge <thomas@codesourcery.com>
2047 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
2049 2020-11-13 Jakub Jelinek <jakub@redhat.com>
2051 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
2052 for array reductions.
2053 (main): Adjust foo callers.
2055 2020-11-12 Jakub Jelinek <jakub@redhat.com>
2057 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
2058 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
2059 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
2060 * allocator.c (omp_aligned_alloc): New for now static function,
2061 add alignment argument and handle it.
2062 (omp_alloc): Reimplement using omp_aligned_alloc.
2063 (GOMP_alloc, GOMP_free): New functions.
2064 (omp_free): Add ialias.
2065 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
2066 * testsuite/libgomp.c++/allocate-1.C: New test.
2068 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
2071 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
2073 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2075 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
2077 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
2078 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
2079 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
2080 (goacc_enter_data_internal): Likewise.
2081 * target.c (gomp_map_vars_internal):
2082 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
2083 of gomp_attach_pointer for OpenMP cases.
2084 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
2085 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
2086 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
2088 2020-11-05 Ulrich Drepper <drepper@redhat.com>
2089 Kwok Cheung Yeung <kcy@codesourcery.com>
2091 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
2092 * Makefile.in: Regenerate.
2093 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
2094 pragmas to ignore -Wdeprecated-declarations warnings.
2096 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
2097 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
2098 and omp_get_nested with __GOMP_DEPRECATED_5_0.
2099 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
2101 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
2103 * testsuite/libgomp.c/affinity-1.c: Likewise.
2104 * testsuite/libgomp.c/affinity-2.c: Likewise.
2105 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
2106 * testsuite/libgomp.c/lib-1.c: Likewise.
2107 * testsuite/libgomp.c/nested-1.c: Likewise.
2108 * testsuite/libgomp.c/nested-2.c: Likewise.
2109 * testsuite/libgomp.c/nested-3.c: Likewise.
2110 * testsuite/libgomp.c/pr32362-1.c: Likewise.
2111 * testsuite/libgomp.c/pr32362-2.c: Likewise.
2112 * testsuite/libgomp.c/pr32362-3.c: Likewise.
2113 * testsuite/libgomp.c/pr35549.c: Likewise.
2114 * testsuite/libgomp.c/pr42942.c: Likewise.
2115 * testsuite/libgomp.c/pr61200.c: Likewise.
2116 * testsuite/libgomp.c/sort-1.c: Likewise.
2117 * testsuite/libgomp.c/target-5.c: Likewise.
2118 * testsuite/libgomp.c/target-6.c: Likewise.
2119 * testsuite/libgomp.c/teams-1.c: Likewise.
2120 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
2121 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
2122 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
2123 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
2124 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2125 * testsuite/libgomp.fortran/lib2.f: Likewise.
2126 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2127 * testsuite/libgomp.fortran/teams1.f90: Likewise.
2129 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2132 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
2133 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
2134 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
2136 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
2140 * testsuite/lib/libgomp.exp (libgomp_init): Set
2141 'gcc_warning_prefix', 'gcc_error_prefix'.
2143 2020-10-30 Jakub Jelinek <jakub@redhat.com>
2145 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
2146 even in field_tgt_clear initializer.
2148 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2150 * testsuite/libgomp.c/target-42.c: New test.
2152 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2153 Tom de Vries <tdevries@suse.de>
2156 * testsuite/libgomp.c/usleep.h: New file.
2157 * testsuite/libgomp.c/target-32.c: Include usleep.h.
2158 (main): Use tgt_usleep instead of usleep.
2159 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
2160 (main): Use tgt_usleep instead of usleep.
2162 2020-10-28 Jakub Jelinek <jakub@redhat.com>
2165 * testsuite/libgomp.c/declare-variant-1.c: New test.
2167 2020-10-22 Jakub Jelinek <jakub@redhat.com>
2169 * testsuite/libgomp.c/target-41.c: New test.
2171 2020-10-22 Jakub Jelinek <jakub@redhat.com>
2173 * icv.c (omp_get_initial_device): Remove including corresponding
2175 * icv-device.c (omp_get_initial_device): New function. Return
2176 gomp_get_num_devices (). Add ialias.
2177 * target.c (resolve_device): Don't fail with
2178 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
2179 gomp_get_num_devices ().
2180 (omp_target_alloc, omp_target_free, omp_target_is_present,
2181 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
2182 omp_target_disassociate_ptr, omp_pause_resource): Use
2183 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
2184 first use in the functions, in uses dominated by the
2185 gomp_get_num_devices call use num_devices_openmp instead.
2186 * libgomp.texi (omp_get_initial_device): Document.
2187 * config/gcn/icv-device.c (omp_get_initial_device): New function.
2189 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
2190 * testsuite/libgomp.c/target-40.c: New test.
2192 2020-10-21 Jakub Jelinek <jakub@redhat.com>
2194 * env.c (parse_target_offload): Change new_offload var type to int,
2195 preinitialize to -1, remove found var and test new_offload != -1
2198 2020-10-20 Jakub Jelinek <jakub@redhat.com>
2200 * target.c (gomp_target_init): Inside of the function, use automatic
2201 variables corresponding to num_devices, num_devices_openmp and devices
2202 global variables and update the globals only at the end of the
2205 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
2207 * env.c (gomp_target_offload_var): New.
2208 (parse_target_offload): New.
2209 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
2210 (initialize_env): Parse OMP_TARGET_OFFLOAD.
2211 * libgomp.h (gomp_target_offload_t): New.
2212 (gomp_target_offload_var): New.
2213 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
2214 * target.c (resolve_device): Generate error if device not found and
2215 offloading is mandatory.
2216 (gomp_target_fallback): Generate error if offloading is mandatory.
2217 (GOMP_target): Add argument in call to gomp_target_fallback.
2218 (GOMP_target_ext): Likewise.
2219 (gomp_target_data_fallback): Generate error if offloading is mandatory.
2220 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
2221 (GOMP_target_data_ext): Likewise.
2222 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
2223 (gomp_target_init): Return early if offloading is disabled.
2225 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
2227 * libgomp.texi (omp_get_max_active_levels): Modify description.
2228 (omp_get_supported_active_levels): Make descriptions consistent.
2230 2020-10-14 Jakub Jelinek <jakub@redhat.com>
2232 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
2234 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2236 * env.c (gomp_max_active_levels_var): Initialize to
2237 gomp_supported_active_levels.
2238 (initialize_env): Limit gomp_max_active_levels_var to be at most
2239 equal to gomp_supported_active_levels.
2240 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
2241 (omp_get_supported_active_levels_): New.
2242 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
2243 to at most equal to gomp_supported_active_levels.
2244 (omp_get_supported_active_levels): New.
2245 * libgomp.h (gomp_supported_active_levels): New.
2246 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
2247 omp_get_supported_active_levels_.
2248 * libgomp.texi (omp_get_supported_active_levels): New.
2249 (omp_set_max_active_levels): Update. Add reference to
2250 omp_get_supported_active_levels.
2251 * omp.h.in (omp_get_supported_active_levels): New.
2252 * omp_lib.f90.in (omp_get_supported_active_levels): New.
2253 * omp_lib.h.in (omp_get_supported_active_levels): New.
2254 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
2255 against omp_get_supported_active_levels.
2256 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
2258 2020-10-11 Clement Chigot <clement.chigot@atos.net>
2260 * config/t-aix: Delete and recreate libgomp before creating
2263 2020-10-08 Tom de Vries <tdevries@suse.de>
2266 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
2269 2020-10-06 Tom de Vries <tdevries@suse.de>
2271 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
2273 2020-10-06 Tom de Vries <tdevries@suse.de>
2276 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
2278 2020-10-05 Tom de Vries <tdevries@suse.de>
2281 * testsuite/libgomp.fortran/pr95654.f90: New test.
2283 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
2285 * Makefile.in: Regenerate with automake 1.15.1.
2286 * aclocal.m4: Likewise.
2287 * configure: Likewise.
2288 * testsuite/Makefile.in: Likewise.
2290 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
2292 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
2295 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
2297 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
2299 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
2301 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
2302 total number of threads is one.
2303 (gomp_team_barrier_wake): Likewise.
2304 (gomp_team_barrier_wait_end): Likewise.
2305 (gomp_team_barrier_wait_cancel_end): Likewise.
2306 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
2307 (gomp_team_barrier_wake): Likewise.
2308 (gomp_team_barrier_wait_end): Likewise.
2309 (gomp_team_barrier_wait_cancel_end): Likewise.
2310 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
2312 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
2315 * testsuite/libgomp.c++/pr96390.C: New test.
2316 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
2318 2020-09-27 Clement Chigot <clement.chigot@atos.net>
2320 * config/t-aix: Use $(AR) without -X32_64.
2322 2020-09-25 Jakub Jelinek <jakub@redhat.com>
2324 * testsuite/libgomp.c/loop-25.c: New test.
2326 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
2329 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
2331 2020-09-22 Tom de Vries <tdevries@suse.de>
2333 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
2336 2020-09-16 Nathan Sidwell <nathan@acm.org>
2338 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
2340 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
2343 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
2345 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
2348 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
2349 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
2350 (gomp_map_vars_existing): Update call to it.
2351 (gomp_map_fields_existing): Likewise
2352 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
2353 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
2355 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
2357 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
2358 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
2360 2020-09-14 Tom de Vries <tdevries@suse.de>
2362 * config/nvptx/atomic.c: New file. Add
2363 __sync_val_compare_and_swap_16.
2364 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
2365 target offload_target_nvptx.
2367 2020-09-08 Julian Brown <julian@codesourcery.com>
2369 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
2370 iteration-ordering assumptions.
2372 2020-09-08 Julian Brown <julian@codesourcery.com>
2374 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
2375 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
2377 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
2379 * plugin/plugin-nvptx.c (nvptx_free):
2380 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
2381 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
2384 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
2386 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
2388 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
2390 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
2392 2020-08-13 Jakub Jelinek <jakub@redhat.com>
2394 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
2395 * testsuite/libgomp.c/loop-23.c (main): Likewise.
2396 * testsuite/libgomp.c/loop-24.c: New test.
2398 2020-08-08 Jakub Jelinek <jakub@redhat.com>
2399 Tobias Burnus <tobias@codesourcery.com>
2402 * testsuite/libgomp.fortran/pr93553.f90: New test.
2404 2020-08-05 Jakub Jelinek <jakub@redhat.com>
2406 * testsuite/libgomp.c/loop-22.c: New test.
2407 * testsuite/libgomp.c/loop-23.c: New test.
2409 2020-08-05 Jakub Jelinek <jakub@redhat.com>
2412 * testsuite/libgomp.c/teams-3.c: New test.
2413 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
2415 (N(test)): Use it before all N(f*) calls.
2416 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
2417 (main): Don't call all test_* functions from within
2418 #pragma omp teams reduction(|:err), call them directly.
2420 2020-08-04 Tom de Vries <tdevries@suse.de>
2423 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
2424 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
2426 2020-08-03 Julian Brown <julian@codesourcery.com>
2427 Thomas Schwinge <thomas@codesourcery.com>
2429 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
2430 shared-memory devices. Extend with further checking.
2432 2020-08-03 Martin Jambor <mjambor@suse.cz>
2434 * plugin/Makefrag.am: Remove configuration of HSA plugin.
2435 * aclocal.m4: Regenerated.
2436 * Makefile.in: Regenerated.
2437 * config.h.in: Regenerated.
2438 * configure: Regenerated.
2439 * plugin/configfrag.ac: Likewise.
2440 * plugin/hsa_ext_finalize.h: Removed.
2441 * plugin/plugin-hsa.c: Likewise.
2442 * testsuite/Makefile.in: Regenerated.
2443 * testsuite/lib/libgomp.exp
2444 (offload_target_to_openacc_device_type): Remove hsa case.
2445 (check_effective_target_hsa_offloading_selected_nocache): Removed
2446 (check_effective_target_hsa_offloading_selected): Likewise.
2447 (libgomp_init): Do not add -Wno-hsa to additional_flags.
2448 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
2449 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2450 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
2451 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2452 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2453 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2454 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
2455 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2456 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2457 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2458 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2459 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2460 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2461 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2462 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2463 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2464 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
2465 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2466 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
2467 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2468 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2469 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
2470 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2471 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2473 2020-07-27 Julian Brown <julian@codesourcery.com>
2474 Thomas Schwinge <thomas@codesourcery.com>
2476 * libgomp.h (struct target_var_desc): Rename do_detach field to
2478 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
2479 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
2480 (goacc_enter_data_internal): Don't affect reference counts
2481 for attach mappings.
2482 (goacc_exit_data_internal): Don't affect reference counts for detach
2484 * target.c (gomp_map_vars_existing): Don't affect reference counts for
2486 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
2487 mark attach mappings.
2488 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
2489 reference count for attach mappings.
2490 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
2491 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2492 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
2493 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
2495 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
2496 gracefully in no-finalize mode.
2497 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
2499 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
2501 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
2503 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2504 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2506 2020-07-23 Julian Brown <julian@codesourcery.com>
2507 Thomas Schwinge <thomas@codesourcery.com>
2509 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
2510 finalization for detach operation.
2511 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
2514 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
2516 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
2517 * libgomp_f.h.in (omp_check_defines): Check whether
2518 sizeof of determined Fortran kind and C typedef match.
2519 * omp_lib.f90.in: Add omp_depened_kind.
2520 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
2521 * configure: Regenerate.
2522 * Makefile.in: Regenerate.
2523 * testsuite/Makefile.in: Regenerate.
2525 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
2527 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
2528 gcc/testsuite/c-c++-common/gomp/.
2529 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
2530 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
2531 from gcc/testsuite/gfortran.dg/gomp/.
2532 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
2534 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
2536 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
2537 * omp_lib.h.in: Likewise.
2539 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
2542 * testsuite/libgomp.c/pr95620.c: New test.
2544 2020-07-16 Julian Brown <julian@codesourcery.com>
2545 Thomas Schwinge <thomas@codesourcery.com>
2547 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
2548 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
2550 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2552 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
2553 avoid conversion on 32bit systems from 32bit to 64bit due
2554 to -fdefault-integer-8.
2556 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2558 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
2559 variables; add character(kind=4) tests; update TODO comment.
2561 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
2563 * allocator.c: Add ialias for omp_init_allocator and
2564 omp_destroy_allocator.
2565 * configure.ac: Set INTPTR_T_KIND.
2566 * configure: Regenerate.
2567 * Makefile.in: Regenerate.
2568 * testsuite/Makefile.in: Regenerate.
2569 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
2570 omp_set_default_allocator_, omp_get_default_allocator_): New
2571 functions and ialias_redirect.
2572 * icv.c: Add ialias for omp_set_default_allocator and
2573 omp_get_default_allocator.
2574 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
2575 omp_destroy_allocator_, omp_set_default_allocator_ and
2576 omp_get_default_allocator_.
2577 * omp_lib.f90.in: Add allocator traits parameters, declare
2578 allocator routines and add related kind parameters.
2579 * omp_lib.h.in: Likewise.
2580 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
2581 * testsuite/libgomp.fortran/alloc-1.F90: New test.
2582 * testsuite/libgomp.fortran/alloc-2.F90: New test.
2583 * testsuite/libgomp.fortran/alloc-3.F: New test.
2584 * testsuite/libgomp.fortran/alloc-4.f90: New test.
2585 * testsuite/libgomp.fortran/alloc-5.f90: New test.
2587 2020-07-14 Tom de Vries <tom@codesourcery.com>
2588 Cesar Philippidis <cesar@codesourcery.com>
2589 Thomas Schwinge <thomas@codesourcery.com>
2590 Kwok Cheung Yeung <kcy@codesourcery.com>
2592 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
2594 (acc_init_1): Set acc_init_thread to pthread_self (). Set
2595 acc_init_state to initializing at the start, and to initialized at the
2597 (self_initializing_p): New function.
2598 (acc_get_device_type): Return acc_device_none if called by thread that
2599 is currently executing acc_init_1.
2600 * libgomp.texi (acc_get_device_type): Update documentation.
2601 (Implementation Status and Implementation-Defined Behavior): Likewise.
2602 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
2604 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
2606 * config/t-aix: Set BITS from compiler cpp macro.
2608 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
2610 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
2612 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
2615 * testsuite/libgomp.fortran/target-map-1.f90: New test.
2617 2020-07-14 Jakub Jelinek <jakub@redhat.com>
2619 * testsuite/libgomp.c/loop-21.c: New test.
2621 2020-07-13 Julian Brown <julian@codesourcery.com>
2622 Thomas Schwinge <thomas@codesourcery.com>
2624 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
2626 2020-07-10 Julian Brown <julian@codesourcery.com>
2627 Thomas Schwinge <thomas@codesourcery.com>
2629 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
2631 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
2632 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
2634 (acc_unmap_data): Update comment.
2635 (goacc_map_var_existing, goacc_enter_datum): Adjust for
2636 dynamic_refcount semantics.
2637 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
2638 Adjust for dynamic_refcount semantics.
2639 (goacc_enter_data_internal): Implement "present" case of dynamic
2640 memory-map handling here. Update "non-present" case for
2641 dynamic_refcount semantics.
2642 (goacc_exit_data_internal): Use goacc_exit_datum_1.
2643 * target.c (gomp_map_vars_internal): Remove
2644 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
2646 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
2647 (gomp_load_image_to_device): Substitute dynamic_refcount for
2649 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
2650 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
2651 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
2652 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
2653 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
2655 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
2657 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
2659 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
2660 Remove stale comment.
2661 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
2662 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2663 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2664 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2665 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2666 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
2668 2020-07-10 Julian Brown <julian@codesourcery.com>
2669 Thomas Schwinge <thomas@codesourcery.com>
2671 * oacc-mem.c (goacc_map_var_existing): New function.
2672 (goacc_enter_datum): Use above function.
2673 (goacc_exit_datum_1): New function.
2674 (goacc_exit_datum): Use above function.
2676 2020-07-09 Julian Brown <julian@codesourcery.com>
2677 Thomas Schwinge <thomas@codesourcery.com>
2680 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
2681 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
2683 2020-07-09 Julian Brown <julian@codesourcery.com>
2685 * oacc-mem.c (find_group_last): Group data-movement clauses
2686 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
2687 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
2689 2020-07-09 Jakub Jelinek <jakub@redhat.com>
2691 * testsuite/libgomp.c/loop-19.c: New test.
2692 * testsuite/libgomp.c/loop-20.c: New test.
2694 2020-07-09 Jakub Jelinek <jakub@redhat.com>
2696 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
2697 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
2698 it. Remove __omp_alloctrait_value_max__.
2699 * allocator.c (omp_init_allocator): Handle omp_atv_default for
2700 omp_atk_alignment and omp_atk_pool_size.
2702 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2704 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
2705 behavior for 'GOMP_MAP_FORCE_FROM'.
2706 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
2708 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
2710 * oacc-mem.c (goacc_exit_data_internal): Remove
2711 'GOMP_MAP_ALWAYS_FROM' handling.
2713 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2715 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
2716 'scan-assembler' with 'scan-offload-rtl'.
2717 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2718 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
2719 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
2720 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
2722 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
2724 * target.c (gomp_map_vars_existing): Assert 'kind !=
2726 (gomp_map_vars_internal): Clean up.
2728 2020-06-27 Jakub Jelinek <jakub@redhat.com>
2730 * testsuite/libgomp.c/loop-17.c: New test.
2731 * testsuite/libgomp.c/loop-18.c: New test.
2733 2020-06-26 Marek Polacek <polacek@redhat.com>
2735 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
2737 2020-06-23 Alexandre Oliva <oliva@adacore.com>
2739 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
2740 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
2742 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
2744 * Makefile.am: Use -include.
2745 * Makefile.in: Regenerate.
2747 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
2749 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
2750 * Makefile.in: Regenerate
2751 * configure.ac (tmake_file): Substitute.
2752 * configure: Regenerate.
2753 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
2754 * config/t-aix: New file.
2756 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
2759 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
2762 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
2764 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
2765 variant for HSA_RUNTIME_LIB name.
2766 (find_executable_symbol_1): Delete.
2767 (find_executable_symbol): Delete.
2768 (init_kernel_properties): Add ".kd" suffix to symbol names.
2769 (find_load_offset): Delete.
2770 (create_and_finalize_hsa_program): Remove relocation handling.
2772 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
2774 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
2776 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
2780 * testsuite/libgomp.fortran/target-var.f90: New test.
2782 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2783 Julian Brown <julian@codesourcery.com>
2785 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
2788 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
2789 Julian Brown <julian@codesourcery.com>
2791 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2794 2020-06-05 Julian Brown <julian@codesourcery.com>
2796 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
2797 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
2799 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2801 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2802 Evaluate 'copyfrom' individually for each entry.
2803 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
2805 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2807 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
2808 Evaluate 'finalize' individually for each entry.
2809 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
2810 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
2813 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2815 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
2817 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
2819 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2820 Julian Brown <julian@codesourcery.com>
2822 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
2824 (acc_unmap_data, goacc_exit_data_internal): Restore
2825 'is_tgt_unmapped' checking.
2826 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
2828 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
2829 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2830 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2831 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2832 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2833 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2835 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2836 Julian Brown <julian@codesourcery.com>
2838 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
2840 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2843 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
2845 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2848 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
2851 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2852 Julian Brown <julian@codesourcery.com>
2854 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
2856 (acc_map_data): Clean up accordingly.
2858 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2860 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
2861 of over-eager 'finalize' clause.
2862 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
2864 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
2865 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
2866 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
2867 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
2868 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
2869 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
2870 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
2871 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
2873 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2875 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
2877 2020-06-04 Julian Brown <julian@codesourcery.com>
2879 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
2881 (goacc_detach_internal): Likewise.
2883 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
2885 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
2887 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2888 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2889 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2890 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2891 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2893 2020-06-02 Jakub Jelinek <jakub@redhat.com>
2895 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
2898 2020-05-30 Jakub Jelinek <jakub@redhat.com>
2900 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
2902 2020-05-30 Jakub Jelinek <jakub@redhat.com>
2904 * allocator.c (omp_alloc): For size == 0, return NULL early.
2906 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
2909 * configure: Regenerated.
2911 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
2914 * testsuite/libgomp.fortran/async_io_9.f90: New test.
2916 2020-05-19 Jakub Jelinek <jakub@redhat.com>
2918 * omp.h.in (omp_uintptr_t): New typedef.
2919 (__GOMP_UINTPTR_T_ENUM): Define.
2920 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
2921 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
2922 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
2923 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
2924 omp_get_default_allocator, omp_alloc, omp_free): Declare.
2925 * libgomp.h (struct gomp_team_state): Add def_allocator field.
2926 (gomp_def_allocator): Declare.
2927 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
2928 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
2929 omp_alloc and omp_free.
2930 * team.c (gomp_team_start): Copy over ts.def_allocator.
2931 * env.c (gomp_def_allocator): New variable.
2932 (parse_wait_policy): Adjust function comment.
2933 (parse_allocator): New function.
2934 (handle_omp_display_env): Print OMP_ALLOCATOR.
2935 (initialize_env): Call parse_allocator.
2936 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
2937 * allocator.c: New file.
2938 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
2940 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
2941 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
2942 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
2943 * Makefile.in: Regenerated.
2945 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
2948 * configure: Regenerated.
2950 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
2953 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
2955 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
2957 * configure: Regenerated.
2959 2020-05-14 Jakub Jelinek <jakub@redhat.com>
2961 * testsuite/libgomp.c-c++-common/target-40.c: New test.
2963 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
2966 * testsuite/libgomp.fortran/pr66199-3.f90: New.
2967 * testsuite/libgomp.fortran/pr66199-4.f90: New.
2968 * testsuite/libgomp.fortran/pr66199-5.f90: New.
2969 * testsuite/libgomp.fortran/pr66199-6.f90: New.
2970 * testsuite/libgomp.fortran/pr66199-7.f90: New.
2971 * testsuite/libgomp.fortran/pr66199-8.f90: New.
2972 * testsuite/libgomp.fortran/pr66199-9.f90: New.
2974 2020-05-12 Jakub Jelinek <jakub@redhat.com>
2976 * testsuite/libgomp.c/target-39.c: New test.
2978 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
2980 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
2981 * openacc.f90 (acc_device_current): Likewise.
2982 * openacc.h (acc_device_current): Likewise.
2983 * openacc_lib.h (acc_device_current): Likewise.
2986 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
2987 'dg-allow-blank-lines-in-output'.
2989 * oacc-init.c (get_openacc_name): Handle 'gcn'.
2990 * testsuite/lib/libgomp.exp
2991 (offload_target_to_openacc_device_type) [amdgcn*]: Return
2992 'radeon'. Adjust all users.
2993 (check_effective_target_openacc_amdgcn_accel_present): Rename
2995 (check_effective_target_openacc_radeon_accel_present): ... this.
2997 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
2998 (check_effective_target_openacc_radeon_accel_selected): ... this.
3001 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3004 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
3008 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
3010 (GOMP_OFFLOAD_init_device): Check return values from both calls to
3011 hsa_agent_iterate_regions.
3013 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
3016 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
3019 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
3022 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
3025 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
3028 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
3030 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
3033 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3035 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
3037 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3039 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
3041 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3043 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
3045 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3047 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
3049 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3051 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
3053 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3055 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
3057 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3059 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
3061 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3063 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3065 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3067 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
3069 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3071 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
3073 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3075 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
3077 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3079 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
3081 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3083 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
3085 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3087 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
3089 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3091 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
3093 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
3095 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
3098 2020-04-10 Julian Brown <julian@codesourcery.com>
3099 Thomas Schwinge <thomas@codesourcery.com>
3102 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3104 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3106 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3108 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3110 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3112 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3114 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3116 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3118 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3120 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3122 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3124 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3126 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3128 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3130 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3132 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
3135 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
3137 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
3140 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
3143 * libgomp.oacc-c++/declare-pr94120.C: New.
3145 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
3147 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
3149 * configure: Regenerate.
3150 * testsuite/libgomp-site-extra.exp.in: New file.
3151 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
3153 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
3155 * testsuite/Makefile.in: Regenerate.
3157 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
3159 PR tree-optimization/89713
3161 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
3163 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3165 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
3167 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
3168 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
3170 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
3173 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
3175 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
3178 * target.c (gomp_load_image_to_device): Fix link
3181 2020-03-19 Jakub Jelinek <jakub@redhat.com>
3184 * testsuite/libgomp.c++/pr93931.C: New test.
3186 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
3188 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
3189 dg-allow-blank-lines-in-output.
3191 2020-03-18 Julian Brown <julian@codesourcery.com>
3192 Tobias Burnus <tobias@codesourcery.com>
3194 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
3195 it work concurrently.
3197 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
3199 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
3200 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
3201 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
3203 2020-03-14 Jakub Jelinek <jakub@redhat.com>
3206 * testsuite/libgomp.c/pr93566.c: New test.
3208 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
3210 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
3211 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
3212 integer(acc_device_property) for the type of the return value of
3215 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
3217 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
3218 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
3219 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
3220 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
3221 (acc_set_device_num): Fix Fortran argument name, use same name for C.
3222 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
3223 corrections; add note about the previous interface and named constant.
3224 (OpenACC library and environment variables): Fix two typos.
3225 * openacc.f90: Use for all procedures the argument names from the spec
3226 as for …_h they are user visible.
3227 (openacc_kinds): Rename acc_device_property to
3228 acc_device_property_kinds and change value to int32 ; and update users.
3229 Re-add acc_device_property for for backward compatibility.
3230 (acc_get_property_string_h): Clean up as acc_device_property_kind
3232 (acc_get_property_h): Likewise and return c_size_t instead of
3233 acc_device_property.
3234 (openacc): Also export acc_device_property_kinds.
3235 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
3236 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
3237 handling; check against /= 0 instead of == 1 to match C.
3238 * openacc_lib.h: Use for all procedures the argument names from the spec
3239 as for …_h they are user visible. Place !GCC$ into the first column to
3240 be active also for fixed-form souce form.
3241 (acc_device_current, acc_device_property_kind, acc_device_property,
3242 acc_property_memory, acc_property_free_memory, acc_property_name,
3243 acc_property_vendor, acc_property_driver): New named constants.
3244 (acc_get_property, acc_get_property_string): New generic interface.
3246 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
3249 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
3250 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
3252 (gomp_target_task_fn): Assert "devicep->async_run_func".
3253 (clear_unsupported_flags): New function to remove unsupported flags
3254 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
3255 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
3256 * testsuite/libgomp.c/target-33.c:
3257 Remove xfail for offload_target_nvptx.
3258 * testsuite/libgomp.c/target-34.c: Likewise.
3260 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
3262 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
3263 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
3264 * testsuite/libgomp.c/target-34.c: Likewise.
3265 * testsuite/libgomp.c/target-link-1.c: Add xfail for
3266 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
3268 2020-02-09 Jakub Jelinek <jakub@redhat.com>
3270 * testsuite/libgomp.c/target-38.c: New test.
3272 2020-02-06 Jakub Jelinek <jakub@redhat.com>
3275 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
3277 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
3279 * testsuite/lib/libgomp.exp
3280 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
3281 and not as 'source' argument to libgomp_target_compile.
3283 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
3285 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
3286 (gcn_gfx801_s): Remove.
3287 (isa_hsa_name): Remove gfx801.
3288 (isa_gcc_name): Remove gfx801/carizzo.
3289 (isa_code): Remove gfx801.
3291 2020-02-03 Julian Brown <julian@codesourcery.com>
3292 Tobias Burnus <tobias@codesourcery.com>
3294 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
3295 and *_finalize variants; document acc_attach and acc_detach; update
3296 references from OpenACC 2.0 to 2.6.
3297 * openacc.f90 (openacc_version): Update to 201711.
3298 * openacc_lib.h (openacc_version): Update to 201711.
3299 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
3300 openacc_version to 201711.
3301 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3303 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
3305 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
3306 and vgpr_count fields.
3307 (struct kernel_info): Add a field for a hsa_kernel_description.
3308 (run_kernel): Reduce the number of threads/workers if the requested
3309 number would require too many VGPRs.
3310 (init_basic_kernel_info): Initialize description field with
3311 the hsa_kernel_description entry for the kernel.
3313 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
3316 * plugin/configfrag.ac (enable_offload_targets): Skip
3317 HSA and GCN plugin besides -m32 also for -mx32.
3318 * configure: Regenerate.
3320 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
3322 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
3324 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
3326 * plugin-gcn.c (struct agent_info): Add fields "name" and
3328 (GOMP_OFFLOAD_init_device): ... and init from here.
3329 (struct hsa_context_info): Add field "driver_version_s" ...
3330 (init_hsa_contest): ... and init from here.
3331 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
3333 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3334 Enable test execution for amdgcn and host offloading targets.
3335 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
3336 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3337 (expect_device_properties): Split function into ...
3338 (expect_device_string_properties): ... this new function ...
3339 (expect_device_memory): ... and this new function.
3340 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
3343 2020-01-28 Julian Brown <julian@codesourcery.com>
3345 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
3346 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
3347 component/non-component variable refs in a single directive.
3348 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
3350 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
3352 * configure.ac: Handle `--with-toolexeclibdir='.
3353 * Makefile.in: Regenerate.
3354 * aclocal.m4: Regenerate.
3355 * configure: Regenerate.
3356 * testsuite/Makefile.in: Regenerate.
3358 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
3360 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
3361 (expect_device_properties): Remove "expected_free_mem" argument,
3362 change "expected_total_mem" argument type to size_t;
3363 change types of acc_get_property results to size_t,
3364 adapt format strings.
3365 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
3366 Use %zu instead of %zd to print size_t values.
3367 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
3369 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
3370 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
3372 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
3374 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
3376 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
3379 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
3381 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
3382 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
3383 Adjust test dimensions for amdgcn.
3384 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
3385 gang/worker/vector expectations dynamically.
3386 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
3388 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
3389 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
3390 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
3391 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
3392 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
3393 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
3394 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
3395 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
3396 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
3397 (acc_gang): Recognise acc_device_radeon.
3398 (acc_worker): Likewise.
3399 (acc_vector): Likewise.
3400 (main): Set expectations for amdgcn.
3401 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
3402 (main): Adjust gang/worker/vector expectations dynamically.
3403 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
3404 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
3405 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
3406 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
3409 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
3411 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
3413 (openacc): Likewise.
3414 * openacc.f90 (openacc_kinds): Likewise.
3415 (openacc): Likewise.
3416 * openacc.h (acc_device_t): Likewise.
3417 * openacc_lib.h: Likewise.
3418 * testsuite/lib/libgomp.exp
3419 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
3420 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
3421 (cb_compute_construct_end): Likewise.
3422 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
3423 (cb_enqueue_launch_start): Likewise.
3424 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
3425 (cb_enter_data_end): Likewise.
3426 (cb_exit_data_start): Likewise.
3427 (cb_exit_data_end): Likewise.
3428 (cb_compute_construct_end): Likewise.
3429 (cb_enqueue_launch_start): Likewise.
3430 (cb_enqueue_launch_end): Likewise.
3431 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
3434 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
3436 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
3437 to use this instead of 'enum gomp_device_property'.
3438 (GOMP_OFFLOAD_get_property): Rename to...
3439 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
3440 * libgomp.h (struct gomp_device_descr): Move
3441 'GOMP_OFFLOAD_openacc_get_property'...
3442 (struct acc_dispatch_t): ... here. Adjust all users.
3443 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
3445 * target.c (gomp_map_vars_internal)
3446 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
3449 2020-01-10 Jakub Jelinek <jakub@redhat.com>
3452 * libgomp.h (gomp_print_string): Change return type from void to int.
3453 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
3454 not all characters have been written.
3456 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
3458 * libgomp.texi: Fix typos, use https.
3460 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
3462 * testsuite/libgomp.fortran/optional-map.f90: Add test for
3463 unallocated/disassociated actual arguments to nonallocatable/nonpointer
3464 dummy arguments; those are/shall be regarded as absent arguments.
3465 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3466 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
3468 2020-01-01 Jakub Jelinek <jakub@redhat.com>
3470 Update copyright years.
3472 * libgomp.texi: Bump @copying's copyright year.
3474 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
3477 * oacc-init.c (goacc_runtime_deinitialize): New function.
3479 2019-12-28 Jakub Jelinek <jakub@redhat.com>
3482 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
3483 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
3485 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
3486 Frederik Harwath <frederik@codesourcery.com>
3487 Thomas Schwinge <tschwinge@codesourcery.com>
3489 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
3490 * libgomp-plugin.h (gomp_device_property_value): New union.
3491 (gomp_device_property_value): New prototype.
3492 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
3494 (acc_device_property_t): New enum.
3495 (acc_get_property, acc_get_property_string): New prototypes.
3496 * oacc-init.c (acc_get_device_type): Also assert that result
3497 is not `acc_device_current'.
3498 (get_property_any, acc_get_property, acc_get_property_string):
3500 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
3501 `acc_property_memory', `acc_property_free_memory',
3502 `acc_property_name', `acc_property_vendor' and
3503 `acc_property_driver' constants. Add `acc_device_property' data
3505 (openacc_internal): Add `acc_get_property' and
3506 `acc_get_property_string' interfaces. Add `acc_get_property_h',
3507 `acc_get_property_string_h', `acc_get_property_l' and
3508 `acc_get_property_string_l'.
3509 * oacc-host.c (host_get_property): New function.
3510 (host_dispatch): Wire it.
3511 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
3512 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
3513 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
3514 * libgomp.texi (OpenACC Runtime Library Routines): Add
3516 (acc_get_property): New node.
3517 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
3519 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
3520 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
3521 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
3523 (GOMP_OFFLOAD_get_property): New function.
3524 (struct ptx_device): Add new field "name".
3525 (cuda_driver_version_s): Add new static variable ...
3526 (nvptx_init): ... and init from here.
3528 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
3529 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
3530 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
3531 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
3532 with test helper functions.
3534 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
3536 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
3538 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
3541 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
3543 * target.c (gomp_map_vars_internal): Restore 'omp declare target
3546 2019-12-19 Julian Brown <julian@codesourcery.com>
3548 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
3549 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
3550 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
3552 2019-12-19 Julian Brown <julian@codesourcery.com>
3553 Cesar Philippidis <cesar@codesourcery.com>
3555 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
3556 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
3557 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
3558 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
3559 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
3560 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
3561 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
3562 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
3563 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
3564 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
3565 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
3566 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
3567 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
3569 2019-12-19 Julian Brown <julian@codesourcery.com>
3571 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
3572 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
3573 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
3574 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
3575 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
3576 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
3577 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
3578 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
3579 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
3580 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
3581 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
3582 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
3584 2019-12-19 Julian Brown <julian@codesourcery.com>
3586 * libgomp.h (struct target_var_desc): Add do_detach flag.
3587 * oacc-init.c (acc_shutdown_1): Free aux block if present.
3588 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
3589 struct components. Tidy up and add some new checks.
3590 (goacc_enter_data_internal): Update call to find_group_last.
3591 (goacc_exit_data_internal): Support detach operations and
3593 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
3594 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
3595 attach/detach in enter/exit data detection code.
3596 * target.c (gomp_map_vars_existing): Initialise do_detach field of
3598 (gomp_map_vars_internal): Support attach.
3599 (gomp_unmap_vars_internal): Support detach.
3601 2019-12-19 Julian Brown <julian@codesourcery.com>
3602 Thomas Schwinge <thomas@codesourcery.com>
3604 * libgomp.h (struct splay_tree_aux): Add attach_count field.
3605 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
3606 * libgomp.map (OACC_2.6): New section. Add acc_attach,
3607 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
3608 acc_detach_finalize_async.
3609 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
3610 acc_detach, acc_detach_async, acc_detach_finalize,
3611 acc_detach_finalize_async): New functions.
3612 * openacc.h (acc_attach, acc_attach_async, acc_detach,
3613 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
3615 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
3616 (gomp_remove_var_internal): Free attachment counts if present.
3617 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
3618 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
3620 2019-12-19 Julian Brown <julian@codesourcery.com>
3621 Cesar Philippidis <cesar@codesourcery.com>
3623 * libgomp.h (gomp_map_val): Add prototype.
3624 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
3625 open-coding device-address calculation.
3626 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
3629 2019-12-19 Julian Brown <julian@codesourcery.com>
3631 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
3632 field for virtual_refcount.
3633 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3634 (gomp_free_memmap): Remove prototype.
3635 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
3636 instead of calling gomp_free_memmap.
3637 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
3639 (acc_unmap_data): Open code instead of forcing target_mem_desc's
3640 to_free field to NULL then calling gomp_unmap_vars. Handle
3641 REFCOUNT_INFINITY on target blocks.
3642 (goacc_enter_data): Rename to...
3643 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
3644 handling for mapping groups. Use virtual_refcount instead of
3645 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
3646 map_map_vars_async call. Re-do lookup for target pointer return value.
3647 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
3648 renamed goacc_enter_datum function.
3649 (goacc_exit_data): Rename to...
3650 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
3651 (acc_delete, acc_delete_async, acc_delete_finalize,
3652 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
3653 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
3654 goacc_exit_datum function.
3655 (gomp_acc_remove_pointer, find_pointer): Remove functions.
3656 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
3658 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
3659 goacc_exit_data_internal helper functions.
3660 * target.c (gomp_map_vars_internal): Handle
3661 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
3663 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
3664 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
3665 virtual_refcount field instead of dynamic_refcount.
3666 (gomp_free_memmap): Remove function.
3667 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
3668 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
3669 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
3671 2019-12-19 Julian Brown <julian@codesourcery.com>
3672 Thomas Schwinge <thomas@codesourcery.com>
3674 * libgomp.h (struct splay_tree_aux): New.
3675 (struct splay_tree_key_s): Replace link_key field with aux pointer.
3676 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
3678 (gomp_remove_var_internal): Free aux block if present.
3679 (gomp_load_image_to_device): Zero-initialise aux field instead of
3681 (omp_target_associate_pointer): Zero-initialise aux field.
3683 2019-12-18 Jakub Jelinek <jakub@redhat.com>
3686 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
3688 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
3691 2019-12-19 Julian Brown <julian@codesourcery.com>
3692 Maciej W. Rozycki <macro@codesourcery.com>
3693 Tobias Burnus <tobias@codesourcery.com>
3694 Thomas Schwinge <thomas@codesourcery.com>
3696 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
3697 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
3698 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
3699 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
3700 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
3701 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
3702 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
3703 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
3704 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
3706 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
3708 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3710 (goacc_insert_pointer): ... from here, "present" case.
3711 (goacc_insert_pointer): Inline function into...
3712 (GOACC_enter_exit_data): ... here, and simplify.
3714 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
3716 (goacc_insert_pointer): ... from here, "not present" case.
3718 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
3721 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
3722 'goacc_enter_data', 'goacc_exit_data'.
3724 * oacc-mem.c (delete_copyout): Refactor into...
3725 (goacc_exit_data): ... this. Adjust all users.
3727 * oacc-mem.c (present_create_copy): Refactor into...
3728 (goacc_enter_data): ... this. Adjust all users.
3730 * target.c (gomp_unmap_vars_internal): Add a safeguard to
3733 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
3734 like 'GOMP_MAP_FROM'.
3739 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
3741 (GOACC_enter_exit_data): Simplify accordingly.
3742 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
3744 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
3745 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
3747 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
3749 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
3750 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
3752 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
3754 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
3756 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
3757 'finalize' handling.
3760 * oacc-mem.c (acc_map_data, present_create_copy)
3761 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
3762 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
3763 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
3764 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
3765 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
3766 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
3767 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
3768 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3771 * target.c (gomp_unmap_tgt): Make it 'static'.
3772 * libgomp.h (gomp_unmap_tgt): Remove.
3774 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
3777 * testsuite/libgomp.c/pr86416-1.c: New.
3778 * testsuite/libgomp.c/pr86416-2.c: New.
3780 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
3782 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
3783 all symbols as public except for the 'use …, only' imported symbol,
3785 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3786 all symbols from module openacc_kinds as PUBLIC
3787 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
3789 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
3791 2019-12-13 Julian Brown <julian@codesourcery.com>
3795 * libgomp.h (gomp_remove_var_async): Add prototype.
3796 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
3798 * target.c (gomp_unref_tgt): Change return type to bool, indicating
3799 whether target_mem_desc was unmapped.
3800 (gomp_unref_tgt_void): New.
3801 (gomp_remove_var): Reimplement in terms of...
3802 (gomp_remove_var_internal): ...this new helper function.
3803 (gomp_remove_var_async): New, implemented using above helper function.
3804 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
3807 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
3809 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
3810 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3811 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
3812 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
3813 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
3815 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
3816 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
3818 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
3820 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
3821 as public except for the 'use …, only' imported symbol, which is
3823 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
3824 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
3825 attributes for acc_copyout_finalize and acc_delete_finalize.
3827 2019-12-11 Jakub Jelinek <jakub@redhat.com>
3830 * testsuite/libgomp.fortran/atomic1.f90: New test.
3832 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3835 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
3836 reference counting for structured 'REFCOUNT_INFINITY'. Add some
3838 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
3839 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
3840 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
3841 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
3842 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3844 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
3845 * oacc-mem.c: ... here.
3846 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
3847 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
3848 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3850 * libgomp_g.h: Update.
3852 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
3853 * oacc-async.c: ... here.
3854 * oacc-int.h (goacc_wait): Declare.
3855 * libgomp_g.h: Update
3858 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
3860 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
3862 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
3864 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
3866 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
3868 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
3871 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
3872 Julian Brown <julian@codesourcery.com>
3874 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
3875 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
3877 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
3879 * omp_lib.h.in: Fix spelling of function declaration
3880 omp_get_cancell(l)ation.
3881 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
3883 * env.c: Fix comment typos.
3884 * oacc-host.c: Likewise.
3885 * ordered.c: Likewise.
3888 * config/gcn/task.c: Likewise.
3889 * config/gcn/team.c: Likewise.
3890 * config/nvptx/task.c: Likewise.
3891 * config/nvptx/team.c: Likewise.
3892 * plugin/plugin-gcn.c: Likewise.
3893 * testsuite/libgomp.fortran/jacobi.f: Likewise.
3894 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3895 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
3897 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
3899 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
3900 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
3901 unnecessary 'dg-additional-options "-w"'.
3903 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3904 Julian Brown <julian@codesourcery.com>
3909 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
3910 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
3912 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3914 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3916 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
3918 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
3921 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
3922 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
3924 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
3926 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
3928 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
3930 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
3932 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
3934 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3935 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
3936 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
3937 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
3938 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
3939 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
3940 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3941 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3942 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
3943 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
3946 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
3947 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
3948 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
3950 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
3952 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
3954 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
3955 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
3958 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
3960 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
3962 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
3964 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
3966 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
3967 ... with their content moved into, and extended in this new file.
3968 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
3970 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
3972 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
3974 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
3977 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
3980 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
3982 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
3984 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
3986 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
3988 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
3990 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
3991 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
3992 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
3993 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
3995 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
3996 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
3998 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
4000 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4002 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
4003 Kwok Cheung Yeung <kcy@codesourcery.com>
4005 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
4006 if input it a NULL pointer.
4007 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
4008 diagnostic of NULL pointer.
4009 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
4010 * testsuite/libgomp.fortran/optional-map.f90: New.
4011 * testsuite/libgomp.fortran/use_device_addr-1.f90
4012 (test_dummy_opt_callee_1_absent): New.
4013 (test_dummy_opt_call_1): Call it.
4014 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4015 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
4016 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4017 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
4018 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
4019 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
4020 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
4021 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
4022 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
4023 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
4024 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
4025 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
4026 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
4027 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
4028 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
4029 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
4031 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
4033 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
4034 expect dg-output of 'Error termination.' for GCN.
4035 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4036 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4038 2019-12-04 Jakub Jelinek <jakub@redhat.com>
4041 * testsuite/libgomp.fortran/teams1.f90: New test.
4042 * testsuite/libgomp.fortran/teams2.f90: New test.
4044 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
4046 * oacc-init.c (acc_known_device_type): Add function.
4047 (unknown_device_type_error): Add function.
4048 (name_of_acc_device_t): Change to call unknown_device_type_error
4050 (resolve_device): Use acc_known_device_type.
4051 (acc_init): Fail if acc_device_t argument is not valid.
4052 (acc_shutdown): Likewise.
4053 (acc_get_num_devices): Likewise.
4054 (acc_set_device_type): Likewise.
4055 (acc_get_device_num): Likewise.
4056 (acc_set_device_num): Likewise.
4057 (acc_on_device): Add comment that argument validity is not checked.
4059 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
4061 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4063 (check_effective_target_openacc_amdgcn_accel_present): New proc.
4064 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
4065 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
4066 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4067 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4069 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
4072 * configure.tgt: Avoid IE tls on *-*-musl*.
4074 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
4076 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4077 adding a common-block test case.
4079 2019-11-29 Jakub Jelinek <jakub@redhat.com>
4082 * testsuite/libgomp.c++/udr-20.C: New test.
4083 * testsuite/libgomp.c++/udr-21.C: New test.
4085 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
4087 * testsuite/lib/libgomp.exp
4088 (check_effective_target_offload_target_nvptx): New proc.
4089 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
4091 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
4092 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
4093 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
4095 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4097 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
4098 * testsuite/libgomp.c/pr39591-2.c: Likewise.
4099 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4100 * testsuite/libgomp.c/private-1.c: Likewise.
4101 * testsuite/libgomp.c/task-1.c: Likewise.
4102 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
4104 2019-11-20 Julian Brown <julian@codesourcery.com>
4106 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
4108 (queue_push_launch): Lock aq->mutex before calling
4109 wait_for_queue_nonfull.
4110 (queue_push_callback): Likewise.
4111 (queue_push_asyncwait): Likewise.
4112 (queue_push_placeholder): Likewise.
4114 2019-11-20 Julian Brown <julian@codesourcery.com>
4116 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4117 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
4118 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
4121 2019-11-20 Julian Brown <julian@codesourcery.com>
4125 * oacc-mem.c (present_create_copy): Fix device pointer return value in
4126 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
4127 in non-present/create case.
4128 (delete_copyout): Change error condition to fail only on copies outside
4129 of mapped block. Adjust error message accordingly.
4130 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
4131 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
4132 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
4134 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4135 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
4136 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4138 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
4140 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
4141 libatomic in build-tree testing.
4143 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
4145 * testsuite/Makefile.in: Regenerate.
4147 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
4149 * testsuite/libgomp.c/target-print-1.c: New file.
4150 * testsuite/libgomp.fortran/target-print-1.f90: New file.
4151 * testsuite/libgomp.oacc-c/print-1.c: New file.
4152 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
4154 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4155 Kwok Cheung Yeung <kcy@codesourcery.com>
4156 Julian Brown <julian@codesourcery.com>
4157 Tom de Vries <tom@codesourcery.com>
4159 * plugin/Makefrag.am: Add amdgcn plugin support.
4160 * plugin/configfrag.ac: Likewise.
4161 * plugin/plugin-gcn.c: New file.
4162 * configure: Regenerate.
4163 * Makefile.in: Regenerate.
4164 * testsuite/Makefile.in: Regenerate.
4166 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4168 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
4169 and use team_malloc variants.
4170 (gomp_gcn_exit_kernel): Use team_free.
4171 * libgomp.h (TEAM_ARENA_SIZE): Define.
4172 (TEAM_ARENA_START): Define.
4173 (TEAM_ARENA_FREE): Define.
4174 (TEAM_ARENA_END): Define.
4175 (team_malloc): New function.
4176 (team_malloc_cleared): New function.
4177 (team_free): New function.
4178 * team.c (gomp_new_team): Initialize and use team_malloc.
4179 (free_team): Use team_free.
4180 (gomp_free_thread): Use team_free.
4181 (gomp_pause_host): Use team_free.
4182 * work.c (gomp_init_work_share): Use team_malloc.
4183 (gomp_fini_work_share): Use team_free.
4185 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4186 Kwok Cheung Yeung <kcy@codesourcery.com>
4187 Julian Brown <julian@codesourcery.com>
4188 Tom de Vries <tom@codesourcery.com>
4190 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
4191 * Makefile.in: Regenerate.
4192 * config.h.in (PLUGIN_GCN): Add new undef.
4193 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
4194 * config/gcn/affinity-fmt.c: New file.
4195 * config/gcn/bar.c: New file.
4196 * config/gcn/bar.h: New file.
4197 * config/gcn/doacross.h: New file.
4198 * config/gcn/icv-device.c: New file.
4199 * config/gcn/oacc-target.c: New file.
4200 * config/gcn/simple-bar.h: New file.
4201 * config/gcn/target.c: New file.
4202 * config/gcn/task.c: New file.
4203 * config/gcn/team.c: New file.
4204 * config/gcn/time.c: New file.
4205 * configure.ac: Add amdgcn*-*-*.
4206 * configure: Regenerate.
4207 * configure.tgt: Add amdgcn*-*-*.
4208 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
4209 * libgomp.h (gcn_thrs): Add amdgcn variant.
4210 (set_gcn_thrs): Likewise.
4211 (gomp_thread): Likewise.
4212 * oacc-int.h (goacc_thread): Likewise.
4213 * oacc-target.c: New file.
4214 * openacc.f90 (acc_device_gcn): New parameter.
4215 * openacc.h (acc_device_t): Add acc_device_gcn.
4216 * team.c (gomp_free_pool_helper): Add amdgcn support.
4218 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4219 Julian Brown <julian@codesourcery.com>
4221 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
4223 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
4225 * oacc-host.c (host_openacc_async_construct): Add device parameter.
4226 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
4229 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
4231 * configure.tgt (nvptx*-*-*): Add "accel" directory.
4232 * config/nvptx/libgomp-plugin.c: Move ...
4233 * config/accel/libgomp-plugin.c: ... to here.
4234 * config/nvptx/lock.c: Move ...
4235 * config/accel/lock.c: ... to here.
4236 * config/nvptx/mutex.c: Move ...
4237 * config/accel/mutex.c: ... to here.
4238 * config/nvptx/mutex.h: Move ...
4239 * config/accel/mutex.h: ... to here.
4240 * config/nvptx/oacc-async.c: Move ...
4241 * config/accel/oacc-async.c: ... to here.
4242 * config/nvptx/oacc-cuda.c: Move ...
4243 * config/accel/oacc-cuda.c: ... to here.
4244 * config/nvptx/oacc-host.c: Move ...
4245 * config/accel/oacc-host.c: ... to here.
4246 * config/nvptx/oacc-init.c: Move ...
4247 * config/accel/oacc-init.c: ... to here.
4248 * config/nvptx/oacc-mem.c: Move ...
4249 * config/accel/oacc-mem.c: ... to here.
4250 * config/nvptx/oacc-plugin.c: Move ...
4251 * config/accel/oacc-plugin.c: ... to here.
4252 * config/nvptx/omp-lock.h: Move ...
4253 * config/accel/omp-lock.h: ... to here.
4254 * config/nvptx/openacc.f90: Move ...
4255 * config/accel/openacc.f90: ... to here.
4256 * config/nvptx/pool.h: Move ...
4257 * config/accel/pool.h: ... to here.
4258 * config/nvptx/proc.c: Move ...
4259 * config/accel/proc.c: ... to here.
4260 * config/nvptx/ptrlock.c: Move ...
4261 * config/accel/ptrlock.c: ... to here.
4262 * config/nvptx/ptrlock.h: Move ...
4263 * config/accel/ptrlock.h: ... to here.
4264 * config/nvptx/sem.c: Move ...
4265 * config/accel/sem.c: ... to here.
4266 * config/nvptx/sem.h: Move ...
4267 * config/accel/sem.h: ... to here.
4268 * config/nvptx/thread-stacksize.h: Move ...
4269 * config/accel/thread-stacksize.h: ... to here.
4271 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
4272 Tobias Burnus <tobias@codesourcery.com>
4273 Frederik Harwath <frederik@codesourcery.com>
4274 Thomas Schwinge <thomas@codesourcery.com>
4277 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
4278 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
4279 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
4281 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
4282 Kwok Cheung Yeung <kcy@codesourcery.com>
4284 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
4285 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
4287 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
4289 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
4291 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
4293 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4294 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
4296 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
4298 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
4299 Add expected warnings about missing reduction clauses.
4300 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4302 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
4304 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4307 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
4309 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
4310 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
4311 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
4312 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4313 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4314 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4316 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
4319 * testsuite/libgomp.fortran/allocatable2.f90: Use
4320 unique numbers with 'stop'.
4321 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4322 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4323 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
4324 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
4325 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
4327 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
4329 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
4330 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
4331 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4332 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
4333 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
4334 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
4336 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4338 * testsuite/libgomp.fortran/target9.f90: New.
4340 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4342 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
4343 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
4344 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
4345 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
4346 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
4347 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
4348 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
4349 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
4350 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
4351 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
4352 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
4353 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
4354 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
4355 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
4356 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
4357 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
4358 * testsuite/libgomp.fortran/associate1.f90: Ditto.
4359 * testsuite/libgomp.fortran/associate2.f90: Ditto.
4360 * testsuite/libgomp.fortran/associate3.f90: Ditto.
4361 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
4362 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
4363 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
4364 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
4365 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
4366 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
4367 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
4368 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
4369 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
4370 * testsuite/libgomp.fortran/character1.f90: Ditto.
4371 * testsuite/libgomp.fortran/character2.f90: Ditto.
4372 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
4373 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
4374 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
4375 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
4376 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
4377 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
4378 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
4379 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
4380 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
4381 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
4382 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
4383 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
4384 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
4385 * testsuite/libgomp.fortran/do1.f90: Ditto.
4386 * testsuite/libgomp.fortran/do2.f90: Ditto.
4387 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
4388 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
4389 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
4390 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
4391 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
4392 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
4393 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
4394 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
4395 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
4396 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
4397 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
4398 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
4399 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
4400 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
4401 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
4402 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
4403 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
4404 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
4405 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
4406 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
4407 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
4408 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
4409 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
4410 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
4411 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
4412 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
4413 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
4414 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
4415 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
4416 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
4417 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
4418 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
4419 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
4420 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
4421 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
4422 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
4423 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
4424 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
4425 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
4426 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
4427 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
4428 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
4429 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
4430 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
4431 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
4432 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
4433 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
4434 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
4435 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
4436 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4437 * testsuite/libgomp.fortran/lib1.f90: Ditto.
4438 * testsuite/libgomp.fortran/lib4.f90: Ditto.
4439 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
4440 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
4441 * testsuite/libgomp.fortran/nested1.f90: Ditto.
4442 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
4443 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
4444 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
4445 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4446 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
4447 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
4448 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4449 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
4450 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
4451 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
4452 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
4453 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
4454 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
4455 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
4456 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4457 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
4458 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4459 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
4460 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
4461 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
4462 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
4463 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
4464 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
4465 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
4466 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4467 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
4468 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
4469 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
4470 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
4471 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
4472 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4473 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
4474 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
4475 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
4476 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
4477 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4478 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
4479 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
4480 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
4481 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
4482 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
4483 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
4484 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
4485 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
4486 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
4487 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
4488 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
4489 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
4490 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
4491 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
4492 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
4493 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
4494 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
4495 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
4496 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
4497 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
4498 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4499 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
4500 * testsuite/libgomp.fortran/reference1.f90: Ditto.
4501 * testsuite/libgomp.fortran/reference2.f90: Ditto.
4502 * testsuite/libgomp.fortran/retval1.f90: Ditto.
4503 * testsuite/libgomp.fortran/retval2.f90: Ditto.
4504 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
4505 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
4506 * testsuite/libgomp.fortran/simd1.f90: Ditto.
4507 * testsuite/libgomp.fortran/simd2.f90: Ditto.
4508 * testsuite/libgomp.fortran/simd3.f90: Ditto.
4509 * testsuite/libgomp.fortran/simd4.f90: Ditto.
4510 * testsuite/libgomp.fortran/simd5.f90: Ditto.
4511 * testsuite/libgomp.fortran/simd6.f90: Ditto.
4512 * testsuite/libgomp.fortran/simd7.f90: Ditto.
4513 * testsuite/libgomp.fortran/stack.f90: Ditto.
4514 * testsuite/libgomp.fortran/strassen.f90: Ditto.
4515 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
4516 * testsuite/libgomp.fortran/tabs2.f: Ditto.
4517 * testsuite/libgomp.fortran/target1.f90: Ditto.
4518 * testsuite/libgomp.fortran/target2.f90: Ditto.
4519 * testsuite/libgomp.fortran/target3.f90: Ditto.
4520 * testsuite/libgomp.fortran/target4.f90: Ditto.
4521 * testsuite/libgomp.fortran/target5.f90: Ditto.
4522 * testsuite/libgomp.fortran/target6.f90: Ditto.
4523 * testsuite/libgomp.fortran/target7.f90: Ditto.
4524 * testsuite/libgomp.fortran/target8.f90: Ditto.
4525 * testsuite/libgomp.fortran/task1.f90: Ditto.
4526 * testsuite/libgomp.fortran/task2.f90: Ditto.
4527 * testsuite/libgomp.fortran/task3.f90: Ditto.
4528 * testsuite/libgomp.fortran/task4.f90: Ditto.
4529 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4530 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4531 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
4532 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
4533 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
4534 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
4535 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
4536 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
4537 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
4538 * testsuite/libgomp.fortran/udr1.f90: Ditto.
4539 * testsuite/libgomp.fortran/udr10.f90: Ditto.
4540 * testsuite/libgomp.fortran/udr11.f90: Ditto.
4541 * testsuite/libgomp.fortran/udr12.f90: Ditto.
4542 * testsuite/libgomp.fortran/udr13.f90: Ditto.
4543 * testsuite/libgomp.fortran/udr14.f90: Ditto.
4544 * testsuite/libgomp.fortran/udr15.f90: Ditto.
4545 * testsuite/libgomp.fortran/udr2.f90: Ditto.
4546 * testsuite/libgomp.fortran/udr3.f90: Ditto.
4547 * testsuite/libgomp.fortran/udr4.f90: Ditto.
4548 * testsuite/libgomp.fortran/udr5.f90: Ditto.
4549 * testsuite/libgomp.fortran/udr6.f90: Ditto.
4550 * testsuite/libgomp.fortran/udr7.f90: Ditto.
4551 * testsuite/libgomp.fortran/udr8.f90: Ditto.
4552 * testsuite/libgomp.fortran/udr9.f90: Ditto.
4553 * testsuite/libgomp.fortran/vla1.f90: Ditto.
4554 * testsuite/libgomp.fortran/vla2.f90: Ditto.
4555 * testsuite/libgomp.fortran/vla3.f90: Ditto.
4556 * testsuite/libgomp.fortran/vla4.f90: Ditto.
4557 * testsuite/libgomp.fortran/vla5.f90: Ditto.
4558 * testsuite/libgomp.fortran/vla6.f90: Ditto.
4559 * testsuite/libgomp.fortran/vla7.f90: Ditto.
4560 * testsuite/libgomp.fortran/vla8.f90: Ditto.
4561 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4562 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4564 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
4566 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
4567 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
4568 Ditto; add 'dg-do run' for torture testing.
4569 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
4570 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
4571 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
4572 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
4573 * testsuite/libgomp.fortran/pr28390.f: Ditto.
4574 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
4575 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
4576 * testsuite/libgomp.fortran/task2.f90: Ditto.
4577 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
4578 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
4579 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
4580 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
4581 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
4582 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
4584 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
4586 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
4587 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
4588 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
4589 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
4590 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
4591 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
4592 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
4593 Use 'stop' not abort().
4594 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
4595 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
4596 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
4597 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
4598 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
4599 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
4600 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
4601 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
4602 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
4603 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
4604 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
4605 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
4606 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
4607 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
4608 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
4609 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
4610 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4612 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4614 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4616 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4618 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4620 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
4622 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
4624 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
4626 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
4628 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
4630 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
4632 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
4634 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
4636 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
4638 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
4639 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
4640 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
4641 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
4642 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4643 Likewise and also add 'dg-do run'.
4644 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4647 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
4648 Tobias Burnus <tobias@codesourcery.com>
4650 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
4651 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
4652 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
4654 2019-10-14 Jakub Jelinek <jakub@redhat.com>
4657 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
4660 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
4662 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
4663 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
4665 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
4668 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
4671 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
4674 * testsuite/libgomp.fortran/fortran.exp: Conditionally
4676 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
4678 2019-10-09 Jakub Jelinek <jakub@redhat.com>
4681 * target.c (gomp_map_vars_internal): Readd the previous
4682 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
4683 though do that just in the !not_found_cnt case.
4685 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
4687 * gfortran.dg/gomp/target-simd.f90: New.
4689 2019-10-02 Julian Brown <julian@codesourcery.com>
4690 Cesar Philippidis <cesar@codesourcery.com>
4692 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
4693 * target.c (FIELD_TGT_EMPTY): Define.
4694 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
4695 as switch instead of list of ifs.
4696 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
4698 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
4700 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
4701 include. Replace alloca () with __builtin_alloca ().
4702 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
4704 2019-10-01 Jakub Jelinek <jakub@redhat.com>
4706 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
4707 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
4708 * oacc-parallel.c: Don't include "libgomp_g.h".
4709 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
4710 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
4711 * aclocal.m4: Regenerated.
4712 * config.h.in: Regenerated.
4713 * configure: Regenerated.
4714 * Makefile.in: Regenerated.
4716 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4718 * libgomp_g.h: Include stdint.h instead of gstdint.h.
4720 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
4722 * configure: Regenerate.
4724 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
4726 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
4727 string is initialized.
4729 2019-09-06 Florian Weimer <fweimer@redhat.com>
4731 * configure: Regenerate.
4733 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
4736 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
4737 scanning to conform to the GNU Coding Standards.
4738 * configure: Regenerate.
4740 2019-08-28 Jakub Jelinek <jakub@redhat.com>
4743 * testsuite/libgomp.c/scan-21.c: New test.
4744 * testsuite/libgomp.c/scan-22.c: New test.
4746 2019-08-27 Jakub Jelinek <jakub@redhat.com>
4749 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
4751 * testsuite/libgomp.c/scan-12.c: Likewise.
4752 * testsuite/libgomp.c/scan-13.c: Likewise.
4753 * testsuite/libgomp.c/scan-14.c: Likewise.
4754 * testsuite/libgomp.c/scan-15.c: Likewise.
4755 * testsuite/libgomp.c/scan-16.c: Likewise.
4756 * testsuite/libgomp.c/scan-17.c: Likewise.
4757 * testsuite/libgomp.c/scan-18.c: Likewise.
4758 * testsuite/libgomp.c/scan-19.c: Likewise.
4759 * testsuite/libgomp.c/scan-20.c: Likewise.
4760 * testsuite/libgomp.c++/scan-9.C: Likewise.
4761 * testsuite/libgomp.c++/scan-10.C: Likewise.
4762 * testsuite/libgomp.c++/scan-11.C: Likewise.
4763 * testsuite/libgomp.c++/scan-12.C: Likewise.
4764 * testsuite/libgomp.c++/scan-14.C: Likewise.
4765 * testsuite/libgomp.c++/scan-15.C: Likewise.
4766 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
4767 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
4768 * testsuite/libgomp.c++/scan-16.C: Likewise.
4770 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
4773 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
4774 -std=legacy so invalid code in the test case is accepted.
4776 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
4779 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
4782 2019-08-08 Jakub Jelinek <jakub@redhat.com>
4784 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
4785 perform the lookup in the first loop only if !not_found_cnt, otherwise
4786 perform lookups for it in the second loop guarded with
4787 if (not_found_cnt || has_firstprivate).
4788 * testsuite/libgomp.c/target-37.c: New test.
4789 * testsuite/libgomp.c++/target-22.C: New test.
4791 2019-08-07 Jakub Jelinek <jakub@redhat.com>
4793 * testsuite/libgomp.c/target-18.c (struct S): New type.
4794 (foo): Use use_device_addr clause instead of use_device_ptr clause
4795 where required by OpenMP 5.0, add further tests for both use_device_ptr
4796 and use_device_addr clauses.
4797 * testsuite/libgomp.c++/target-9.C (struct S): New type.
4798 (foo): Use use_device_addr clause instead of use_device_ptr clause
4799 where required by OpenMP 5.0, add further tests for both use_device_ptr
4800 and use_device_addr clauses. Add t and u arguments.
4801 (main): Adjust caller.
4803 2019-08-06 Jakub Jelinek <jakub@redhat.com>
4805 * testsuite/libgomp.c++/loop-13.C: New test.
4806 * testsuite/libgomp.c++/loop-14.C: New test.
4807 * testsuite/libgomp.c++/loop-15.C: New test.
4809 2019-07-31 Jakub Jelinek <jakub@redhat.com>
4812 * testsuite/libgomp.c++/for-27.C: New test.
4814 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
4816 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
4817 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
4819 2019-07-20 Jakub Jelinek <jakub@redhat.com>
4821 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
4823 2019-07-08 Jakub Jelinek <jakub@redhat.com>
4825 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
4826 * testsuite/libgomp.c++/scan-16.C: Likewise.
4828 2019-07-06 Jakub Jelinek <jakub@redhat.com>
4830 * testsuite/libgomp.c/scan-19.c: New test.
4831 * testsuite/libgomp.c/scan-20.c: New test.
4833 * testsuite/libgomp.c/scan-11.c: New test.
4834 * testsuite/libgomp.c/scan-12.c: New test.
4835 * testsuite/libgomp.c/scan-13.c: New test.
4836 * testsuite/libgomp.c/scan-14.c: New test.
4837 * testsuite/libgomp.c/scan-15.c: New test.
4838 * testsuite/libgomp.c/scan-16.c: New test.
4839 * testsuite/libgomp.c/scan-17.c: New test.
4840 * testsuite/libgomp.c/scan-18.c: New test.
4841 * testsuite/libgomp.c++/scan-9.C: New test.
4842 * testsuite/libgomp.c++/scan-10.C: New test.
4843 * testsuite/libgomp.c++/scan-11.C: New test.
4844 * testsuite/libgomp.c++/scan-12.C: New test.
4845 * testsuite/libgomp.c++/scan-13.C: New test.
4846 * testsuite/libgomp.c++/scan-14.C: New test.
4847 * testsuite/libgomp.c++/scan-15.C: New test.
4848 * testsuite/libgomp.c++/scan-16.C: New test.
4850 2019-07-04 Jakub Jelinek <jakub@redhat.com>
4852 * testsuite/libgomp.c/scan-9.c: New test.
4853 * testsuite/libgomp.c/scan-10.c: New test.
4855 2019-07-03 Jakub Jelinek <jakub@redhat.com>
4857 * testsuite/libgomp.c++/scan-1.C: New test.
4858 * testsuite/libgomp.c++/scan-2.C: New test.
4859 * testsuite/libgomp.c++/scan-3.C: New test.
4860 * testsuite/libgomp.c++/scan-4.C: New test.
4861 * testsuite/libgomp.c++/scan-5.C: New test.
4862 * testsuite/libgomp.c++/scan-6.C: New test.
4863 * testsuite/libgomp.c++/scan-7.C: New test.
4864 * testsuite/libgomp.c++/scan-8.C: New test.
4865 * testsuite/libgomp.c/scan-1.c: New test.
4866 * testsuite/libgomp.c/scan-2.c: New test.
4867 * testsuite/libgomp.c/scan-3.c: New test.
4868 * testsuite/libgomp.c/scan-4.c: New test.
4869 * testsuite/libgomp.c/scan-5.c: New test.
4870 * testsuite/libgomp.c/scan-6.c: New test.
4871 * testsuite/libgomp.c/scan-7.c: New test.
4872 * testsuite/libgomp.c/scan-8.c: New test.
4874 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4876 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
4877 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
4880 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
4883 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
4885 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
4888 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
4891 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
4893 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
4894 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
4895 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
4896 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
4899 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
4902 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
4904 2019-06-16 Tom de Vries <tdevries@suse.de>
4906 PR tree-optimization/89376
4907 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
4909 2019-06-15 Tom de Vries <tdevries@suse.de>
4911 PR tree-optimization/89713
4912 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
4913 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
4915 2019-06-15 Jakub Jelinek <jakub@redhat.com>
4918 * testsuite/libgomp.c/pr90779.c: New test.
4919 * testsuite/libgomp.fortran/pr90779.f90: New test.
4921 2019-06-15 Tom de Vries <tdevries@suse.de>
4923 PR tree-optimization/90009
4924 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
4926 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
4928 PR tree-optimization/89713
4929 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
4931 2019-06-11 Jakub Jelinek <jakub@redhat.com>
4934 * testsuite/libgomp.c/pr90811.c: New test.
4936 2019-06-05 Jakub Jelinek <jakub@redhat.com>
4938 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
4939 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
4941 2019-06-04 Jakub Jelinek <jakub@redhat.com>
4943 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
4944 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
4945 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
4946 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
4948 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4950 * configure.ac: Call AX_COUNT_CPUS.
4951 Substitute CPU_COUNT.
4952 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
4954 * aclocal.m4: Regenerate.
4955 * configure: Regenerate.
4956 * Makefile.in, testsuite/Makefile.in: Regenerate.
4958 2019-05-29 Jakub Jelinek <jakub@redhat.com>
4960 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
4962 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
4963 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
4964 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
4966 2019-05-27 Jakub Jelinek <jakub@redhat.com>
4968 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
4970 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
4973 * work.c (gomp_init_work_share): Instead of aligning final ordered
4974 value to multiples of long long alignment, align to that the
4975 first part (ordered team ids) and if inline_ordered_team_ids
4976 is not on a long long alignment boundary within the structure,
4977 use __alignof__ (long long) - 1 pad size always.
4978 * loop.c (GOMP_loop_start): Fix *mem computation if
4979 inline_ordered_team_ids is not aligned on long long alignment boundary
4980 within the structure.
4981 * loop-ull.c (GOMP_loop_ull_start): Likewise.
4982 * sections.c (GOMP_sections2_start): Likewise.
4984 2019-05-24 Jakub Jelinek <jakub@redhat.com>
4986 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
4987 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
4990 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
4991 HAVE_INTTYPES_H is defined.
4992 (print_uint64_t): New typedef.
4993 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
4994 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
4995 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
4996 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
4997 before casting to void *.
4998 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
4999 * oacc-mem.c: Don't include config.h nor stdint.h.
5000 * target.c: Don't include config.h.
5001 * oacc-cuda.c: Likewise.
5002 * oacc-host.c: Don't include stdint.h.
5004 2019-05-20 Jakub Jelinek <jakub@redhat.com>
5007 * alloc.c (_GNU_SOURCE): Define.
5009 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
5011 * acc_prof.h: New file.
5012 * oacc-profiling.c: Likewise.
5013 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
5014 Add these, respectively.
5015 * Makefile.in: Regenerate.
5016 * env.c (initialize_env): Call goacc_profiling_initialize.
5017 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
5018 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
5019 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
5020 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
5021 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
5022 acc_prof_register, acc_prof_unregister, and acc_register_library.
5023 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
5024 GOMP_PLUGIN_goacc_thread.
5025 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
5026 prof_callbacks_enabled members.
5027 (goacc_prof_enabled, goacc_profiling_initialize)
5028 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
5029 (goacc_profiling_dispatch): Declare.
5030 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
5031 (GOACC_PROFILING_SETUP_P): Define.
5032 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
5033 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
5034 OpenACC Profiling Interface.
5035 * oacc-cuda.c (acc_get_current_cuda_device)
5036 (acc_get_current_cuda_context, acc_get_cuda_stream)
5037 (acc_set_cuda_stream): Likewise.
5038 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
5039 (acc_init, acc_set_device_type, acc_get_device_type)
5040 (acc_get_device_num, goacc_lazy_initialize): Likewise.
5041 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
5042 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
5043 (acc_unmap_data, present_create_copy, delete_copyout)
5044 (update_dev_host): Likewise.
5045 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
5046 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
5048 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
5049 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
5051 * libgomp.texi: Update.
5052 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
5054 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
5055 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5057 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5059 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
5061 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
5064 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
5066 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
5067 (struct goacc_asyncqueue_list): Likewise.
5068 (goacc_aq): Likewise.
5069 (goacc_aq_list): Likewise.
5070 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5071 (GOMP_OFFLOAD_openacc_async_test): Remove.
5072 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5073 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5074 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5075 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5076 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5077 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5078 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
5079 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
5080 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
5081 (GOMP_OFFLOAD_openacc_async_exec): Declare.
5082 (GOMP_OFFLOAD_openacc_async_construct): Declare.
5083 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
5084 (GOMP_OFFLOAD_openacc_async_test): Declare.
5085 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
5086 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
5087 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
5088 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
5089 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
5091 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
5092 (gomp_acc_insert_pointer): Adjust declaration.
5093 (gomp_copy_host2dev): New declaration.
5094 (gomp_copy_dev2host): Likewise.
5095 (gomp_map_vars_async): Likewise.
5096 (gomp_unmap_tgt): Likewise.
5097 (gomp_unmap_vars_async): Likewise.
5098 (gomp_fini_device): Likewise.
5100 * oacc-async.c (get_goacc_thread): New function.
5101 (get_goacc_thread_device): New function.
5102 (lookup_goacc_asyncqueue): New function.
5103 (get_goacc_asyncqueue): New function.
5104 (acc_async_test): Adjust code to use new async design.
5105 (acc_async_test_all): Likewise.
5106 (acc_wait): Likewise.
5107 (acc_wait_async): Likewise.
5108 (acc_wait_all): Likewise.
5109 (acc_wait_all_async): Likewise.
5110 (goacc_async_free): New function.
5111 (goacc_init_asyncqueues): Likewise.
5112 (goacc_fini_asyncqueues): Likewise.
5113 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
5115 (acc_set_cuda_stream): Likewise.
5116 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
5117 (host_openacc_register_async_cleanup): Remove.
5118 (host_openacc_async_exec): New function.
5119 (host_openacc_async_test): Adjust parameters.
5120 (host_openacc_async_test_all): Remove.
5121 (host_openacc_async_wait): Remove.
5122 (host_openacc_async_wait_async): Remove.
5123 (host_openacc_async_wait_all): Remove.
5124 (host_openacc_async_wait_all_async): Remove.
5125 (host_openacc_async_set_async): Remove.
5126 (host_openacc_async_synchronize): New function.
5127 (host_openacc_async_serialize): New function.
5128 (host_openacc_async_host2dev): New function.
5129 (host_openacc_async_dev2host): New function.
5130 (host_openacc_async_queue_callback): New function.
5131 (host_openacc_async_construct): New function.
5132 (host_openacc_async_destruct): New function.
5133 (struct gomp_device_descr host_dispatch): Remove initialization of old
5134 interface, add initialization of new async sub-struct.
5135 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
5136 (goacc_attach_host_thread_to_device): Remove old async code usage.
5137 * oacc-int.h (goacc_init_asyncqueues): New declaration.
5138 (goacc_fini_asyncqueues): Likewise.
5139 (goacc_async_copyout_unmap_vars): Likewise.
5140 (goacc_async_free): Likewise.
5141 (get_goacc_asyncqueue): Likewise.
5142 (lookup_goacc_asyncqueue): Likewise.
5143 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
5145 (present_create_copy): Adjust code to use new async design.
5146 (delete_copyout): Likewise.
5147 (update_dev_host): Likewise.
5148 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
5150 (gomp_acc_remove_pointer): Adjust code to use new async design.
5151 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
5153 (GOACC_enter_exit_data): Likewise.
5154 (goacc_wait): Likewise.
5155 (GOACC_update): Likewise.
5156 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
5157 when called, warn as obsolete in comment.
5158 * target.c (goacc_device_copy_async): New function.
5159 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
5160 add goacc_device_copy_async case.
5161 (gomp_copy_dev2host): Likewise.
5162 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
5163 (gomp_map_pointer): Likewise.
5164 (gomp_map_fields_existing): Likewise.
5165 (gomp_map_vars_internal): New always_inline function, renamed from
5167 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
5168 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
5169 passing goacc_asyncqueue argument.
5170 (gomp_unmap_tgt): Remove static, add attribute_hidden.
5171 (gomp_unref_tgt): New function.
5172 (gomp_unmap_vars_internal): New always_inline function, renamed from
5174 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
5175 (gomp_unmap_vars_async): Implement by calling
5176 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
5177 (gomp_fini_device): New function.
5178 (gomp_exit_data): Adjust gomp_copy_dev2host call.
5179 (gomp_load_plugin_for_device): Remove old interface, adjust to load
5180 new async interface.
5181 (gomp_target_fini): Adjust code to call gomp_fini_device.
5183 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
5184 (struct ptx_stream): Remove.
5185 (struct nvptx_thread): Remove current_stream field.
5186 (cuda_map_create): Remove.
5187 (cuda_map_destroy): Remove.
5192 (struct goacc_asyncqueue): Define.
5193 (struct nvptx_callback): Define.
5194 (struct ptx_free_block): Define.
5195 (struct ptx_device): Remove null_stream, active_streams, async_streams,
5196 stream_lock, and next fields.
5197 (enum ptx_event_type): Remove.
5198 (struct ptx_event): Remove.
5199 (ptx_event_lock): Remove.
5200 (ptx_events): Remove.
5201 (init_streams_for_device): Remove.
5202 (fini_streams_for_device): Remove.
5203 (select_stream_for_async): Remove.
5204 (nvptx_init): Remove ptx_events and ptx_event_lock references.
5205 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
5207 (nvptx_open_device): Add free_blocks initialization, remove
5208 init_streams_for_device call.
5209 (nvptx_close_device): Remove fini_streams_for_device call, add
5210 free_blocks destruct code.
5212 (event_add): Remove.
5213 (nvptx_exec): Adjust parameters and code.
5214 (nvptx_free): Likewise.
5215 (nvptx_host2dev): Remove.
5216 (nvptx_dev2host): Remove.
5217 (nvptx_set_async): Remove.
5218 (nvptx_async_test): Remove.
5219 (nvptx_async_test_all): Remove.
5220 (nvptx_wait): Remove.
5221 (nvptx_wait_async): Remove.
5222 (nvptx_wait_all): Remove.
5223 (nvptx_wait_all_async): Remove.
5224 (nvptx_get_cuda_stream): Remove.
5225 (nvptx_set_cuda_stream): Remove.
5226 (GOMP_OFFLOAD_alloc): Adjust code.
5227 (GOMP_OFFLOAD_free): Likewise.
5228 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5229 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
5230 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5231 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5232 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5233 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5234 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5235 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5236 (cuda_free_argmem): New function.
5237 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
5238 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
5239 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
5240 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
5241 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
5242 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
5243 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
5244 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
5245 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
5246 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
5247 (cuda_callback_wrapper): New function.
5248 (cuda_memcpy_sanity_check): New function.
5249 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
5250 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
5251 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
5252 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
5254 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
5257 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
5259 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
5261 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
5263 2019-03-27 Kevin Buettner <kevinb@redhat.com>
5265 * team.c (gomp_team_start): Initialize pool->threads[0].
5267 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
5269 * testsuite/libgomp.oacc-c++/c++.exp: Specify
5270 "-foffload=$offload_target".
5271 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5272 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5273 * testsuite/lib/libgomp.exp
5274 (check_effective_target_openacc_nvidia_accel_configured): Remove,
5275 as (conceptually) merged into
5276 check_effective_target_openacc_nvidia_accel_selected. Adjust all
5279 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
5280 * testsuite/libgomp-test-support.exp.in: Adjust.
5281 * testsuite/lib/libgomp.exp: Likewise. Don't populate
5282 openacc_device_types_s.
5283 (offload_target_to_openacc_device_type): New proc.
5284 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
5285 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5286 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5287 * Makefile.in: Regenerate.
5288 * configure: Likewise.
5289 * testsuite/Makefile.in: Likewise.
5291 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
5292 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5293 instead of OFFLOAD_TARGETS.
5294 * target.c (gomp_target_init): Adjust.
5295 * testsuite/libgomp-test-support.exp.in: Likewise.
5296 * testsuite/lib/libgomp.exp: Likewise. Populate
5297 openacc_device_types_s instead of offload_targets_s_openacc.
5298 (check_effective_target_openacc_nvidia_accel_selected)
5299 (check_effective_target_openacc_host_selected): Adjust.
5300 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
5301 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5302 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5303 * Makefile.in: Regenerate.
5304 * config.h.in: Likewise.
5305 * configure: Likewise.
5306 * testsuite/Makefile.in: Likewise.
5308 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
5309 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
5310 "offloading: supported, but hardware not accessible".
5311 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5312 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5314 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
5317 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
5319 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
5320 and related adjustment.
5322 2019-01-30 Jakub Jelinek <jakub@redhat.com>
5325 * testsuite/libgomp.c++/pr88988.C: New test.
5327 2019-01-28 Jakub Jelinek <jakub@redhat.com>
5330 * testsuite/libgomp.c/pr89002.c: New test.
5332 2019-01-28 Richard Biener <rguenther@suse.de>
5335 PR tree-optimization/86865
5336 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
5338 2019-01-24 Tom de Vries <tdevries@suse.de>
5340 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
5341 once instantiated_devices drops to 0.
5343 2019-01-23 Tom de Vries <tdevries@suse.de>
5346 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
5348 (nvptx_exec): Don't call map_push if mapnum == 0.
5349 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
5351 2019-01-23 Tom de Vries <tdevries@suse.de>
5355 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
5356 (map_fini): Remove "assert (!s->map->active)".
5357 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
5359 2019-01-23 Tom de Vries <tdevries@suse.de>
5362 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
5363 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
5365 2019-01-15 Tom de Vries <tdevries@suse.de>
5368 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
5371 2019-01-12 Tom de Vries <tdevries@suse.de>
5373 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
5374 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
5375 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
5376 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
5378 2019-01-12 Tom de Vries <tdevries@suse.de>
5380 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
5382 2019-01-12 Tom de Vries <tdevries@suse.de>
5384 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
5385 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
5386 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
5388 2019-01-12 Tom de Vries <tdevries@suse.de>
5391 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
5392 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
5394 2019-01-12 Tom de Vries <tdevries@suse.de>
5397 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
5398 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
5400 2019-01-12 Tom de Vries <tdevries@suse.de>
5402 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
5403 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
5404 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
5406 2019-01-12 Tom de Vries <tdevries@suse.de>
5408 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
5409 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
5410 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
5412 2019-01-12 Tom de Vries <tdevries@suse.de>
5414 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
5415 resources diagnostic.
5417 2019-01-12 Tom de Vries <tdevries@suse.de>
5419 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
5420 vector length to be 128.
5421 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
5422 length 2097152 to be reduced to 1024 instead of 32.
5424 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
5425 James Norris <jnorris@codesourcery.com>
5427 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
5428 Library Routines", and "Environment Variables".
5430 2019-01-11 Tom de Vries <tdevries@suse.de>
5432 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
5435 2019-01-11 Tom de Vries <tdevries@suse.de>
5437 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
5439 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
5440 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
5441 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
5442 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
5444 2019-01-11 Tom de Vries <tdevries@suse.de>
5446 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
5449 2019-01-10 Nathan Sidwell <nathan@acm.org>
5450 Julian Brown <julian@codesourcery.com>
5453 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
5454 * testsuite/libgomp.oacc-c++/pr71959.C: New.
5456 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5458 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
5461 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
5463 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
5464 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5467 2019-01-09 Tom de Vries <tdevries@suse.de>
5470 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
5471 #define instead of "const int".
5472 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
5473 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
5474 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
5475 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
5477 2019-01-09 Tom de Vries <tdevries@suse.de>
5479 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
5482 2019-01-07 Tom de Vries <tdevries@suse.de>
5484 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
5485 GOMP_OPENACC_DIM argument.
5487 2019-01-03 Tom de Vries <tdevries@suse.de>
5489 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
5490 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
5492 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5494 Update copyright years.
5496 2019-01-01 Jakub Jelinek <jakub@redhat.com>
5498 * libgomp.texi: Bump @copying's copyright year.
5500 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5502 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
5503 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
5504 (GOACC_declare): Redefine the "device" argument to "flags".
5506 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
5507 Cesar Philippidis <cesar@codesourcery.com>
5509 * target.c (struct gomp_coalesce_chunk): New structure.
5510 (struct gomp_coalesce_buf): Update the chunks member to use that
5511 type. Adjust all users.
5513 2018-12-19 Tom de Vries <tdevries@suse.de>
5515 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
5516 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
5517 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
5519 2018-12-19 Tom de Vries <tdevries@suse.de>
5521 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
5522 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
5523 gcc/testsuite/gcc.dg/goacc.
5524 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
5526 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5527 Chung-Lin Tang <cltang@codesourcery.com>
5529 * oacc-mem.c (acc_present_or_create): Remove definition and change
5530 to alias of acc_create.
5531 (acc_present_or_copyin): Remove definition and change to alias of
5533 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
5534 of acc_present_or_create.
5535 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
5536 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5537 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
5538 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
5539 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
5540 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
5541 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
5542 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5543 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5544 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5545 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5546 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5547 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5548 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5549 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5550 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5552 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5555 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
5556 "identical parameters".
5557 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
5558 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
5561 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
5562 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
5565 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5566 (nvptx_wait_async): Unseen async-argument is a no-op.
5567 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
5568 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5571 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
5573 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
5574 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
5575 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
5577 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
5578 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5580 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
5582 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
5583 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
5586 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
5589 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
5590 (acc_set_cuda_stream): Clarify.
5591 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
5593 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
5595 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
5596 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
5597 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
5598 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5600 2018-12-14 Tom de Vries <tdevries@suse.de>
5602 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
5603 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
5604 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
5605 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
5606 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
5608 2018-12-13 Tom de Vries <tdevries@suse.de>
5610 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
5611 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
5612 * fortran.c (omp_display_affinity_): ... here.
5613 * libgomp.h (gomp_print_string): Declare.
5614 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
5615 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
5618 2018-12-13 Jakub Jelinek <jakub@redhat.com>
5621 * testsuite/libgomp.c++/for-24.C (results): Include it in
5622 omp declare target region.
5623 (main): Use map (always, tofrom: results) instead of
5624 map (tofrom: results).
5626 2018-12-12 Jakub Jelinek <jakub@redhat.com>
5629 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
5630 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
5632 * testsuite/libgomp.c-c++-common/for-16.c: New test.
5634 2018-12-12 Andreas Schwab <schwab@suse.de>
5636 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
5639 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
5642 * testsuite/libgomp.fortran/async_io_8.f90: New test.
5644 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
5645 Jakub Jelinek <jakub@redhat.com>
5647 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5648 devicep->host2dev_func.
5650 2018-12-08 Jakub Jelinek <jakub@redhat.com>
5653 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
5654 tls_runtime effective target.
5655 (t): New threadprivate variable.
5656 (main): Set t in threads which execute iterations of the worksharing
5657 loop. Propagate that to the task after the loop and don't abort
5658 if the current taskgroup hasn't been cancelled.
5660 2018-12-02 Jakub Jelinek <jakub@redhat.com>
5662 * testsuite/libgomp.c/task-reduction-3.c: New test.
5664 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
5666 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
5669 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
5670 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
5672 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
5674 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
5676 2018-10-19 Richard Biener <rguenther@suse.de>
5678 PR tree-optimization/88182
5679 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
5681 2018-11-26 Jakub Jelinek <jakub@redhat.com>
5683 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
5684 (RUNTEST): Don't define.
5685 (RUNTESTDEFAULTFLAGS): Add.
5686 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
5687 (distclean-am): Depend on distclean-DEJAGNU.
5688 (check-am): If -j% option is present in MFLAGS and if
5689 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
5690 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
5691 * testsuite/Makefile.in: Regenerated.
5693 2018-11-26 Richard Biener <rguenther@suse.de>
5695 PR tree-optimization/88182
5696 * testsuite/libgomp.c++/pr88182.C: New testcase.
5698 2018-11-20 Jakub Jelinek <jakub@redhat.com>
5701 * config/mingw32/affinity-fmt.c: New file.
5703 2018-11-09 Jakub Jelinek <jakub@redhat.com>
5705 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
5706 (gomp_display_affinity): Use __builtin_choose_expr to handle
5707 properly handle argument having integral, or pointer or some other
5708 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
5709 with uint64_t type instead of %llx and unsigned long long.
5711 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
5712 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
5714 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5716 * affinity.c: Include <string.h>, <stdio.h>.
5717 (gomp_display_affinity_place): Remove cpusetp.
5718 * teams.c: Include <limits.h>.
5720 2018-11-08 Jakub Jelinek <jakub@redhat.com>
5722 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
5723 in_reduction clause for s[0].
5725 * affinity.c (gomp_display_affinity_place): New function.
5726 * affinity-fmt.c: New file.
5727 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
5728 * config/linux/affinity.c (gomp_display_affinity_place): New function.
5729 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
5730 Move these functions to ...
5731 * config/nvptx/teams.c: ... here. New file.
5732 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
5734 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
5736 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
5737 and _aligned_malloc.
5738 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
5739 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
5740 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
5741 gomp_affinity_format_len): New variables.
5742 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
5743 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
5744 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
5745 modifiers. Display (non-default) chunk sizes. Print
5746 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
5747 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
5748 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
5749 * fortran.c: Include stdio.h and string.h.
5750 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
5751 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
5752 (omp_set_affinity_format_, omp_get_affinity_format_,
5753 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
5754 omp_pause_resource_all_): New functions.
5755 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
5757 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
5759 * teams.c: ... here. New file.
5760 * libgomp_g.h: Include gstdint.h.
5761 (GOMP_loop_nonmonotonic_runtime_start,
5762 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
5763 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
5764 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
5765 GOMP_parallel_loop_nonmonotonic_runtime,
5766 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5767 GOMP_loop_ull_nonmonotonic_runtime_start,
5768 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
5769 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
5770 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5771 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
5772 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
5773 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5774 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5775 GOMP_teams_reg): Declare.
5776 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
5777 gomp_aligned_alloc uses fallback implementation.
5778 (gomp_aligned_alloc, gomp_aligned_free): Declare.
5779 (enum gomp_schedule_type): Add GFS_MONOTONIC.
5780 (struct gomp_doacross_work_share): Add extra field.
5781 (struct gomp_work_share): Add task_reductions field.
5782 (struct gomp_taskgroup): Add workshare and reductions fields.
5783 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
5784 (gomp_thread_handle): New typedef.
5785 (gomp_display_affinity_place, gomp_set_affinity_format,
5786 gomp_display_string, gomp_display_affinity,
5787 gomp_display_affinity_thread): Declare.
5788 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
5789 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
5790 gomp_workshare_task_reduction_register): Declare.
5791 (gomp_team_start): Add taskgroup argument.
5792 (gomp_pause_host): Declare.
5793 (gomp_init_work_share, gomp_work_share_start): Change bool argument
5795 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
5796 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
5797 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
5798 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5799 GOMP_loop_ull_doacross_start,
5800 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
5801 GOMP_loop_maybe_nonmonotonic_runtime_next,
5802 GOMP_loop_maybe_nonmonotonic_runtime_start,
5803 GOMP_loop_nonmonotonic_runtime_next,
5804 GOMP_loop_nonmonotonic_runtime_start,
5805 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5806 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5807 GOMP_loop_ull_nonmonotonic_runtime_next,
5808 GOMP_loop_ull_nonmonotonic_runtime_start,
5809 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5810 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
5811 GOMP_taskgroup_reduction_register,
5812 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5813 GOMP_teams_reg and GOMP_taskwait_depend.
5814 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
5815 omp_{capture,display}_affinity{,_}, and
5816 omp_[gs]et_affinity_format{,_}.
5817 * loop.c: Include string.h.
5818 (GOMP_loop_runtime_next): Add ialias.
5819 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5820 (gomp_loop_static_start, gomp_loop_dynamic_start,
5821 gomp_loop_guided_start, gomp_loop_ordered_static_start,
5822 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5823 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5824 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
5825 or gomp_doacross_init callers.
5826 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
5827 GOMP_loop_doacross_start): New functions.
5828 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5829 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
5830 Mask off GFS_MONOTONIC bit.
5831 (GOMP_loop_maybe_nonmonotonic_runtime_next,
5832 GOMP_loop_maybe_nonmonotonic_runtime_start,
5833 GOMP_loop_nonmonotonic_runtime_next,
5834 GOMP_loop_nonmonotonic_runtime_start,
5835 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
5836 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
5838 (gomp_parallel_loop_start): Pass NULL as taskgroup to
5840 * loop_ull.c: Include string.h.
5841 (GOMP_loop_ull_runtime_next): Add ialias.
5842 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5843 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
5844 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
5845 gomp_loop_ull_ordered_dynamic_start,
5846 gomp_loop_ull_ordered_guided_start,
5847 gomp_loop_ull_doacross_static_start,
5848 gomp_loop_ull_doacross_dynamic_start,
5849 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
5850 and gomp_doacross_ull_init callers.
5851 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
5852 GOMP_loop_ull_doacross_start): New functions.
5853 (GOMP_loop_ull_runtime_start,
5854 GOMP_loop_ull_ordered_runtime_start,
5855 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
5856 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
5857 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
5858 GOMP_loop_ull_nonmonotonic_runtime_next,
5859 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
5860 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
5861 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
5862 (omp_pause_resource_t, omp_depend_t): New typedefs.
5863 (enum omp_lock_hint_t): Renamed to ...
5864 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
5865 enumerators using numbers and omp_lock_hint_* as their aliases.
5866 (omp_lock_hint_t): New typedef. Rename to ...
5867 (omp_sync_hint_t): ... this.
5868 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
5869 omp_sync_hint_t instead of omp_lock_hint_t.
5870 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5871 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5873 (omp_target_is_present, omp_target_disassociate_ptr):
5874 Change first argument from void * to const void *.
5875 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
5876 from void * to const void *.
5877 (omp_target_associate_ptr): Change first and second arguments from
5878 void * to const void *.
5879 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
5880 omp_pause_hard): New parameters.
5881 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5882 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5884 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
5885 omp_pause_hard): New parameters.
5886 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
5887 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
5889 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
5890 EXTRA argument. If not needed to prepare array, if extra is 0,
5891 clear ws->doacross, otherwise allocate just doacross structure and
5892 extra payload. If array is needed, allocate also extra payload.
5893 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
5894 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
5896 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
5898 (GOMP_parallel): Likewise. Formatting fix.
5899 (GOMP_parallel_reductions): New function.
5900 (GOMP_cancellation_point): If taskgroup has workshare
5901 flag set, check cancelled of prev taskgroup if any.
5902 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
5903 on prev taskgroup if any.
5904 * sections.c: Include string.h.
5905 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
5906 (GOMP_sections_start): Adjust gomp_work_share_start caller.
5907 (GOMP_sections2_start): New function.
5908 (GOMP_parallel_sections_start, GOMP_parallel_sections):
5909 Pass NULL as taskgroup to gomp_team_start.
5910 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
5911 gomp_work_share_start callers.
5912 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
5913 If taskgroup has workshare flag set, check cancelled on prev
5914 taskgroup if any. Guard all cancellation tests with
5915 gomp_cancel_var test.
5916 (omp_target_is_present, omp_target_disassociate_ptr):
5917 Change ptr argument from void * to const void *.
5918 (omp_target_memcpy): Change src argument from void * to const void *.
5919 (omp_target_memcpy_rect): Likewise.
5920 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
5921 instead of char * where needed.
5922 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
5923 from void * to const void *.
5924 (omp_pause_resource, omp_pause_resource_all): New functions.
5925 * task.c (gomp_task_handle_depend): Handle new depend array format
5926 in addition to the old. Handle mutexinoutset kinds the same as
5927 inout for now, handle unspecified kinds.
5928 (gomp_create_target_task): If taskgroup has workshare flag set, check
5929 cancelled on prev taskgroup if any. Guard all cancellation tests with
5930 gomp_cancel_var test. Handle new depend array format count in
5931 addition to the old.
5932 (GOMP_task): Likewise. Adjust function comment.
5933 (gomp_task_run_pre): If taskgroup has workshare flag set, check
5934 cancelled on prev taskgroup if any. Guard all cancellation tests with
5935 gomp_cancel_var test.
5936 (GOMP_taskwait_depend): New function.
5937 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
5938 format in addition to the old. Handle mutexinoutset kinds the same as
5939 inout for now, handle unspecified kinds. Fix a function comment typo.
5940 (gomp_taskgroup_init): New function.
5941 (GOMP_taskgroup_start): Use it.
5942 (gomp_reduction_register, gomp_create_artificial_team,
5943 GOMP_taskgroup_reduction_register,
5944 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
5945 gomp_parallel_reduction_register,
5946 gomp_workshare_task_reduction_register,
5947 gomp_workshare_taskgroup_start,
5948 GOMP_workshare_task_reduction_unregister): New functions.
5949 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
5950 check cancelled on prev taskgroup if any. Guard all cancellation
5951 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
5952 by calling GOMP_taskgroup_reduction_register.
5953 * team.c (gomp_thread_attr): Remove comment.
5954 (struct gomp_thread_start_data): Add handle field.
5955 (gomp_thread_start): Call pthread_detach.
5956 (gomp_new_team): Adjust gomp_init_work_share caller.
5957 (gomp_free_pool_helper): Call pthread_detach.
5958 (gomp_team_start): Add taskgroup argument, initialize implicit
5959 tasks' taskgroup field to that. Don't call
5960 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
5961 (gomp_team_end): Determine nesting by thr->ts.level != 0
5962 rather than thr->ts.team != NULL.
5963 (gomp_pause_pool_helper, gomp_pause_host): New functions.
5964 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
5965 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
5966 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
5967 if more than 1 allocate also extra payload at the end of array. Never
5968 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
5969 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
5970 return true instead of ws.
5971 * Makefile.in: Regenerated.
5972 * configure: Regenerated.
5973 * config.h.in: Regenerated.
5974 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
5976 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
5977 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
5978 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
5979 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
5980 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
5981 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
5982 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
5983 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
5984 * testsuite/libgomp.c-c++-common/for-10.c: New test.
5985 * testsuite/libgomp.c-c++-common/for-11.c: New test.
5986 * testsuite/libgomp.c-c++-common/for-12.c: New test.
5987 * testsuite/libgomp.c-c++-common/for-13.c: New test.
5988 * testsuite/libgomp.c-c++-common/for-14.c: New test.
5989 * testsuite/libgomp.c-c++-common/for-15.c: New test.
5990 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
5991 define a different N(test), don't define N(f0) to N(f14), but instead
5992 define N(f20) to N(f34) using != comparisons.
5993 * testsuite/libgomp.c-c++-common/for-7.c: New test.
5994 * testsuite/libgomp.c-c++-common/for-8.c: New test.
5995 * testsuite/libgomp.c-c++-common/for-9.c: New test.
5996 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
5997 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
5998 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
5999 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6000 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6001 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6002 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
6003 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
6004 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
6005 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
6006 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
6007 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
6008 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
6009 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
6010 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
6011 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
6012 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
6013 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
6014 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
6015 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
6016 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
6017 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
6018 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
6019 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
6020 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
6021 * testsuite/libgomp.c++/depend-1.C: New test.
6022 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
6023 * testsuite/libgomp.c++/depobj-1.C: New test.
6024 * testsuite/libgomp.c++/for-16.C: New test.
6025 * testsuite/libgomp.c++/for-21.C: New test.
6026 * testsuite/libgomp.c++/for-22.C: New test.
6027 * testsuite/libgomp.c++/for-23.C: New test.
6028 * testsuite/libgomp.c++/for-24.C: New test.
6029 * testsuite/libgomp.c++/for-25.C: New test.
6030 * testsuite/libgomp.c++/for-26.C: New test.
6031 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
6032 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
6033 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
6034 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
6035 * testsuite/libgomp.c++/task-reduction-10.C: New test.
6036 * testsuite/libgomp.c++/task-reduction-11.C: New test.
6037 * testsuite/libgomp.c++/task-reduction-12.C: New test.
6038 * testsuite/libgomp.c++/task-reduction-13.C: New test.
6039 * testsuite/libgomp.c++/task-reduction-14.C: New test.
6040 * testsuite/libgomp.c++/task-reduction-15.C: New test.
6041 * testsuite/libgomp.c++/task-reduction-16.C: New test.
6042 * testsuite/libgomp.c++/task-reduction-17.C: New test.
6043 * testsuite/libgomp.c++/task-reduction-18.C: New test.
6044 * testsuite/libgomp.c++/task-reduction-19.C: New test.
6045 * testsuite/libgomp.c/task-reduction-1.c: New test.
6046 * testsuite/libgomp.c++/task-reduction-1.C: New test.
6047 * testsuite/libgomp.c/task-reduction-2.c: New test.
6048 * testsuite/libgomp.c++/task-reduction-2.C: New test.
6049 * testsuite/libgomp.c++/task-reduction-3.C: New test.
6050 * testsuite/libgomp.c++/task-reduction-4.C: New test.
6051 * testsuite/libgomp.c++/task-reduction-5.C: New test.
6052 * testsuite/libgomp.c++/task-reduction-6.C: New test.
6053 * testsuite/libgomp.c++/task-reduction-7.C: New test.
6054 * testsuite/libgomp.c++/task-reduction-8.C: New test.
6055 * testsuite/libgomp.c++/task-reduction-9.C: New test.
6056 * testsuite/libgomp.c/teams-1.c: New test.
6057 * testsuite/libgomp.c/teams-2.c: New test.
6058 * testsuite/libgomp.c/thread-limit-4.c: New test.
6059 * testsuite/libgomp.c/thread-limit-5.c: New test.
6060 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
6062 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
6064 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
6065 acc_memcpy_to/from_device functions, now with async parameter.
6066 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
6067 (acc_memcpy_from_device): Likewise.
6068 (acc_memcpy_to_device_async): New API function.
6069 (acc_memcpy_from_device_async): Likewise.
6070 (present_create_copy): Add async parameter and async setting/unsetting.
6071 (acc_create): Adjust present_create_copy call.
6072 (acc_copyin): Likewise.
6073 (acc_present_or_create): Likewise.
6074 (acc_present_or_copyin): Likewise.
6075 (acc_create_async): New API function.
6076 (acc_copyin_async): New API function.
6077 (delete_copyout): Add async parameter and async setting/unsetting.
6078 (acc_delete): Adjust delete_copyout call.
6079 (acc_copyout): Likewise.
6080 (acc_delete_async): New API function.
6081 (acc_copyout_async): Likewise.
6082 (update_dev_host): Add async parameter and async setting/unsetting.
6083 (acc_update_device): Adjust update_dev_host call.
6084 (acc_update_self): Likewise.
6085 (acc_update_device_async): New API function.
6086 (acc_update_self_async): Likewise.
6087 * openacc.h (acc_copyin_async): Declare new API function.
6088 (acc_create_async): Likewise.
6089 (acc_copyout_async): Likewise.
6090 (acc_delete_async): Likewise.
6091 (acc_update_device_async): Likewise.
6092 (acc_update_self_async): Likewise.
6093 (acc_memcpy_to_device_async): Likewise.
6094 (acc_memcpy_from_device_async): Likewise.
6095 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
6096 (acc_copyin_async_64_h): New subroutine.
6097 (acc_copyin_async_array_h): New subroutine.
6098 (acc_create_async_32_h): New subroutine.
6099 (acc_create_async_64_h): New subroutine.
6100 (acc_create_async_array_h): New subroutine.
6101 (acc_copyout_async_32_h): New subroutine.
6102 (acc_copyout_async_64_h): New subroutine.
6103 (acc_copyout_async_array_h): New subroutine.
6104 (acc_delete_async_32_h): New subroutine.
6105 (acc_delete_async_64_h): New subroutine.
6106 (acc_delete_async_array_h): New subroutine.
6107 (acc_update_device_async_32_h): New subroutine.
6108 (acc_update_device_async_64_h): New subroutine.
6109 (acc_update_device_async_array_h): New subroutine.
6110 (acc_update_self_async_32_h): New subroutine.
6111 (acc_update_self_async_64_h): New subroutine.
6112 (acc_update_self_async_array_h): New subroutine.
6113 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
6114 (acc_copyin_async_64_h): New subroutine.
6115 (acc_copyin_async_array_h): New subroutine.
6116 (acc_create_async_32_h): New subroutine.
6117 (acc_create_async_64_h): New subroutine.
6118 (acc_create_async_array_h): New subroutine.
6119 (acc_copyout_async_32_h): New subroutine.
6120 (acc_copyout_async_64_h): New subroutine.
6121 (acc_copyout_async_array_h): New subroutine.
6122 (acc_delete_async_32_h): New subroutine.
6123 (acc_delete_async_64_h): New subroutine.
6124 (acc_delete_async_array_h): New subroutine.
6125 (acc_update_device_async_32_h): New subroutine.
6126 (acc_update_device_async_64_h): New subroutine.
6127 (acc_update_device_async_array_h): New subroutine.
6128 (acc_update_self_async_32_h): New subroutine.
6129 (acc_update_self_async_64_h): New subroutine.
6130 (acc_update_self_async_array_h): New subroutine.
6131 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
6132 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
6133 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
6134 acc_memcpy_to_device_async*, acc_update_device_async*, and
6135 acc_update_self_async* entries.
6136 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
6137 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
6138 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
6140 2018-10-31 Joseph Myers <joseph@codesourcery.com>
6143 * Makefile.am: Include multilib.am
6144 (AUTOMAKE_OPTIONS): Add info-in-builddir.
6145 (CLEANFILES): Remove libgomp.info.
6146 * configure.ac: Remove AC_PREREQ.
6147 * testsuite/Makefile.am (RUNTEST): Remove quotes.
6148 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
6151 2018-10-29 Joseph Myers <joseph@codesourcery.com>
6152 Julian Brown <julian@codesourcery.com>
6154 * testsuite/libgomp.oacc-c++/this.C: New.
6156 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
6158 * plugin/plugin-nvptx.c (struct cuda_map): New.
6159 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
6160 h_tail with (cuda_map *) map.
6161 (cuda_map_create): New function.
6162 (cuda_map_destroy): New function.
6163 (map_init): Update to use a linked list of cuda_map objects.
6164 (map_fini): Likewise.
6165 (map_pop): Likewise.
6166 (map_push): Likewise. Return CUdeviceptr instead of void.
6167 (init_streams_for_device): Remove stales references to ptx_stream
6169 (select_stream_for_async): Likewise.
6170 (nvptx_exec): Update call to map_init.
6172 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
6173 Julian Brown <julian@codesourcery.com>
6176 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
6178 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
6179 Thomas Koenig <tkoenig@gcc.gnu.org>
6182 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6183 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6184 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6185 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6186 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6187 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6188 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6190 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
6191 Tom de Vries <tdevries@suse.de>
6194 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
6195 (cuOccupancyMaxPotentialBlockSize): Declare.
6196 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
6197 CUDA_ONE_CALL_MAYBE_NULL.
6198 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
6199 CUoccupancyB2DSize and declare
6200 cuOccupancyMaxPotentialBlockSize.
6201 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
6202 default num_gangs and num_workers when the driver supports it.
6204 2018-08-08 Tom de Vries <tdevries@suse.de>
6206 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
6207 CUDA_ONE_CALL_MAYBE_NULL.
6208 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
6209 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
6210 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
6213 2018-08-08 Tom de Vries <tdevries@suse.de>
6215 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
6216 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
6219 2018-08-08 Tom de Vries <tdevries@suse.de>
6221 * plugin/plugin-nvptx.c
6222 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
6223 (nvptx_open_device): Use
6224 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
6226 2018-08-08 Tom de Vries <tdevries@suse.de>
6228 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
6229 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
6231 2018-08-07 Tom de Vries <tdevries@suse.de>
6233 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
6234 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
6235 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
6236 corresponding call in CUDA_ONE_CALL. Add def/undef of
6237 CUDA_ONE_CALL_MAYBE_NULL.
6238 (CUDA_CALL_EXISTS): Define.
6240 2018-08-07 Tom de Vries <tdevries@suse.de>
6242 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
6243 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
6244 corresponding undefs right after.
6246 2018-08-04 Tom de Vries <tdevries@suse.de>
6248 * plugin/configfrag.ac: For --without-cuda-driver, set
6249 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
6250 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
6251 * configure: Regenerate.
6253 2018-08-02 Tom de Vries <tdevries@suse.de>
6256 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
6257 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
6258 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6260 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
6261 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
6262 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
6264 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6265 Thomas Schwinge <thomas@codesourcery.com>
6267 * config/nvptx/oacc-parallel.c: Truncate.
6269 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
6270 James Norris <jnorris@codesourcery.com>
6272 * plugin/plugin-nvptx.c (struct map): Removed.
6273 (map_init, map_pop): Remove use of struct map.
6274 (map_push): Likewise and change argument list.
6275 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
6277 2018-08-01 Tom de Vries <tdevries@suse.de>
6279 * plugin/cuda-lib.def: New file. Factor out of ...
6280 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
6281 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
6284 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6286 Revert 'AsyncI/O patch committed'.
6287 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6288 Thomas Koenig <tkoenig@gcc.gnu.org>
6291 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6292 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6293 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6294 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6295 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6296 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6297 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6299 2018-07-30 Tom de Vries <tdevries@suse.de>
6301 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
6302 (nvptx_exec): Ensure worker and vector default dims don't exceed
6303 targ_fn->max_threads_per_block.
6305 2018-07-30 Tom de Vries <tdevries@suse.de>
6307 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
6308 (nvptx_open_device): Init default_dims for device.
6309 (nvptx_exec): Use default_dims from device.
6311 2018-07-26 Jakub Jelinek <jakub@redhat.com>
6314 * testsuite/libgomp.c++/for-15.C (results): Include it in
6315 omp declare target region.
6316 (main): Use map (always, tofrom: results) instead of
6317 map (tofrom: results).
6320 * testsuite/libgomp.c/pr86660.c: New test.
6322 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6323 Tom de Vries <tdevries@suse.de>
6325 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
6326 sufficient resources to launch a kernel, and give a hint on how to fix
6329 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
6330 Tom de Vries <tdevries@suse.de>
6332 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
6333 max_threads_per_block and max_threads_per_multiprocessor fields.
6334 (nvptx_open_device): Initialize new fields.
6335 (nvptx_exec): Use num_sms, and new fields.
6337 2018-07-26 Tom de Vries <tdevries@suse.de>
6339 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
6340 to correct locations. Remove xfail.
6342 2018-07-26 Tom de Vries <tdevries@suse.de>
6344 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
6345 acc_wait. Move acc_async_test calls to correct locations. Remove
6348 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
6349 Thomas Koenig <tkoenig@gcc.gnu.org>
6352 * testsuite/libgomp.fortran/async_io_1.f90: New test.
6353 * testsuite/libgomp.fortran/async_io_2.f90: New test.
6354 * testsuite/libgomp.fortran/async_io_3.f90: New test.
6355 * testsuite/libgomp.fortran/async_io_4.f90: New test.
6356 * testsuite/libgomp.fortran/async_io_5.f90: New test.
6357 * testsuite/libgomp.fortran/async_io_6.f90: New test.
6358 * testsuite/libgomp.fortran/async_io_7.f90: New test.
6360 2018-07-17 Jakub Jelinek <jakub@redhat.com>
6363 * testsuite/libgomp.c++/pr86542.C: New test.
6366 * testsuite/libgomp.c++/pr86539.C: New test.
6368 2018-07-11 Jakub Jelinek <jakub@redhat.com>
6371 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
6372 (results): Make sure the variable is not inside declare target region.
6373 (qux): Remove unused function.
6375 2018-07-10 Jakub Jelinek <jakub@redhat.com>
6378 * testsuite/libgomp.c++/for-15.C: New test.
6380 2018-06-26 Jakub Jelinek <jakub@redhat.com>
6383 * testsuite/libgomp.c++/pr86291.C: New test.
6385 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
6387 * libgomp.texi (Top): Move www.openmp.org to https.
6388 (Enabling OpenMP): Ditto.
6389 (omp_get_active_level): Ditto.
6390 (omp_get_ancestor_thread_num): Ditto.
6391 (omp_get_cancellation): Ditto.
6392 (omp_get_default_device): Ditto.
6393 (omp_get_dynamic): Ditto.
6394 (omp_get_level): Ditto.
6395 (omp_get_max_active_levels): Ditto.
6396 (omp_get_max_task_priority): Ditto.
6397 (omp_get_max_threads): Ditto.
6398 (omp_get_nested): Ditto.
6399 (omp_get_num_devices): Ditto.
6400 (omp_get_num_procs): Ditto.
6401 (omp_get_num_teams): Ditto.
6402 (omp_get_num_threads): Ditto.
6403 (omp_get_proc_bind): Ditto.
6404 (omp_get_schedule): Ditto.
6405 (omp_get_team_num): Ditto.
6406 (omp_get_team_size): Ditto.
6407 (omp_get_thread_limit): Ditto.
6408 (omp_get_thread_num): Ditto.
6409 (omp_in_parallel): Ditto.
6410 (omp_in_final): Ditto.
6411 (omp_is_initial_device): Ditto.
6412 (omp_set_default_device): Ditto.
6413 (omp_set_dynamic): Ditto.
6414 (omp_set_max_active_levels): Ditto.
6415 (omp_set_nested): Ditto.
6416 (omp_set_num_threads): Ditto.
6417 (omp_set_schedule): Ditto.
6418 (omp_init_lock): Ditto.
6419 (omp_set_lock): Ditto.
6420 (omp_test_lock): Ditto.
6421 (omp_unset_lock): Ditto.
6422 (omp_destroy_lock): Ditto.
6423 (omp_init_nest_lock): Ditto.
6424 (omp_set_nest_lock): Ditto.
6425 (omp_test_nest_lock): Ditto.
6426 (omp_unset_nest_lock): Ditto.
6427 (omp_destroy_nest_lock): Ditto.
6428 (omp_get_wtick): Ditto.
6429 (omp_get_wtime): Ditto.
6430 (OMP_CANCELLATION): Ditto.
6431 (OMP_DISPLAY_ENV): Ditto.
6432 (OMP_DEFAULT_DEVICE): Ditto.
6433 (OMP_DYNAMIC): Ditto.
6434 (OMP_MAX_ACTIVE_LEVELS): Ditto.
6435 (OMP_MAX_TASK_PRIORITY): Ditto.
6436 (OMP_NESTED): Ditto.
6437 (OMP_NUM_THREADS): Ditto.
6438 (OMP_PROC_BIND): Ditto.
6439 (OMP_PLACES): Ditto.
6440 (OMP_STACKSIZE): Ditto.
6441 (OMP_SCHEDULE): Ditto.
6442 (OMP_THREAD_LIMIT): Ditto.
6443 (OMP_WAIT_POLICY): Ditto.
6445 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
6446 James Norris <jnorris@codesourcery.com>
6447 Julian Brown <julian@codesourcery.com>
6448 Thomas Schwinge <thomas@codesourcery.com>
6449 Tom de Vries <tom@codesourcery.com>
6451 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
6452 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
6453 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
6454 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
6455 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6456 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6457 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
6458 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6459 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
6460 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
6462 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
6464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
6466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
6468 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
6470 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
6472 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6474 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6476 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6478 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6480 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6482 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6484 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6486 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6488 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6490 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6492 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6494 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6496 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6498 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6500 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6502 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6504 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6506 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6508 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6510 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6512 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
6514 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
6515 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
6516 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
6517 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
6518 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
6519 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6520 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6521 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
6522 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
6524 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
6526 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
6527 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
6528 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
6530 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
6531 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
6532 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
6534 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6536 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6538 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6540 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6542 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6544 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6546 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6548 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6550 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6552 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6554 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6556 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6560 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
6562 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6563 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
6564 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6565 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
6566 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
6567 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
6568 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
6570 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
6571 Thomas Schwinge <thomas@codesourcery.com>
6572 Cesar Philippidis <cesar@codesourcery.com>
6574 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
6575 (gomp_acc_remove_pointer): Update declaration.
6576 (gomp_acc_declare_allocate): Declare.
6577 (gomp_remove_var): Declare.
6578 * libgomp.map (OACC_2.5): Define.
6579 * oacc-mem.c (acc_map_data): Update refcount.
6580 (acc_unmap_data): Likewise.
6581 (present_create_copy): Likewise.
6582 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
6583 (acc_copyin): Likewise.
6584 (FLAG_FINALIZE): Define.
6585 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
6586 (acc_delete_finalize): New function.
6587 (acc_delete_finalize_async): New function.
6588 (acc_copyout_finalize): New function.
6589 (acc_copyout_finalize_async): New function.
6590 (gomp_acc_insert_pointer): Update refcounts.
6591 (gomp_acc_remove_pointer): Return if data is not present on the
6593 * oacc-parallel.c (find_pset): Rename to find_pointer.
6594 (find_pointer): Add support for GOMP_MAP_POINTER.
6595 (handle_ftn_pointers): New function.
6596 (GOACC_parallel_keyed): Update refcounts of variables.
6597 (GOACC_enter_exit_data): Add support for finalized data mappings.
6598 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
6600 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
6601 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
6602 for GOMP_MAP_FORCE_FROM.
6603 * openacc.f90 (module openacc_internal): Add
6604 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
6605 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
6606 acc_copyout_finalize and acc_delete_finalize.
6607 (acc_copyout_finalize_32_h): New subroutine.
6608 (acc_copyout_finalize_64_h): New subroutine.
6609 (acc_copyout_finalize_array_h): New subroutine.
6610 (acc_delete_finalize_32_h): New subroutine.
6611 (acc_delete_finalize_64_h): New subroutine.
6612 (acc_delete_finalize_array_h): New subroutine.
6613 * openacc.h (acc_copyout_finalize): Declare.
6614 (acc_copyout_finalize_async): Declare.
6615 (acc_delete_finalize): Declare.
6616 (acc_delete_finalize_async): Declare.
6617 * openacc_lib.h (acc_copyout_finalize): New interface.
6618 (acc_delete_finalize): New interface.
6619 * target.c (gomp_map_vars): Update dynamic_refcount.
6620 (gomp_remove_var): New function.
6621 (gomp_unmap_vars): Use it.
6622 (gomp_unload_image_from_device): Likewise.
6623 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
6624 case to utilize OpenACC 2.5 data clause semantics.
6625 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6626 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6627 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6628 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6629 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6630 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6631 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6632 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6633 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6634 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6635 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6636 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
6637 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
6638 utilize OpenACC 2.5 data clause semantics.
6639 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6640 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6641 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6642 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6643 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6644 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6645 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6646 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
6647 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
6649 2018-05-21 Janus Weil <janus@gcc.gnu.org>
6653 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
6654 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
6655 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
6656 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
6657 * testsuite/libgomp.fortran/task2.f90: Ditto.
6658 * testsuite/libgomp.fortran/vla1.f90: Ditto.
6659 * testsuite/libgomp.fortran/vla2.f90: Ditto.
6660 * testsuite/libgomp.fortran/vla3.f90: Ditto.
6661 * testsuite/libgomp.fortran/vla4.f90: Ditto.
6662 * testsuite/libgomp.fortran/vla5.f90: Ditto.
6663 * testsuite/libgomp.fortran/vla6.f90: Ditto.
6664 * testsuite/libgomp.fortran/vla8.f90: Ditto.
6665 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
6666 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
6668 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
6671 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
6673 2018-05-09 Tom de Vries <tom@codesourcery.com>
6676 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
6677 to GOACC_enter_exit_data.
6679 2018-05-09 Tom de Vries <tom@codesourcery.com>
6682 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
6683 (async_synchronous_p): New function.
6684 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
6686 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6687 async_valid_stream_id_p.
6688 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
6689 * oacc-parallel.c (GOACC_parallel_keyed): Same.
6691 2018-05-07 Tom de Vries <tom@codesourcery.com>
6694 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
6695 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
6697 2018-05-03 Tom de Vries <tom@codesourcery.com>
6700 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
6701 extra_tool_flags if it contains an -foffload=-fdump-* flag.
6702 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
6703 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
6705 2018-05-02 Tom de Vries <tom@codesourcery.com>
6708 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
6709 GOMP_OPENACC_DIM ...
6710 * env.c (parse_gomp_openacc_dim): ... here. New function.
6711 (initialize_env): Call parse_gomp_openacc_dim.
6712 (goacc_default_dims): Define.
6713 * libgomp.h (goacc_default_dims): Declare.
6714 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
6715 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
6716 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
6717 GOMP_PLUGIN_acc_default_dim.
6718 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
6719 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
6721 2018-05-02 Tom de Vries <tom@codesourcery.com>
6724 * testsuite/libgomp.c++/udr-9.C: Update.
6725 * testsuite/libgomp.c++/atomic-16.C: Remove.
6726 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
6727 * testsuite/libgomp.c++/loop-13.C: Remove.
6728 * testsuite/libgomp.c++/loop-14.C: Remove.
6729 * testsuite/libgomp.c++/loop-15.C: Remove.
6730 * testsuite/libgomp.c++/monotonic-1.C: Remove.
6731 * testsuite/libgomp.c++/monotonic-2.C: Remove.
6732 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
6733 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
6734 * testsuite/libgomp.c++/ordered-1.C: Remove.
6735 * testsuite/libgomp.c++/pr45784.C: Remove.
6736 * testsuite/libgomp.c++/pr64824.C: Remove.
6737 * testsuite/libgomp.c++/pr64868.C: Remove.
6738 * testsuite/libgomp.c++/pr66199-1.C: Remove.
6739 * testsuite/libgomp.c++/pr66199-2.C: Remove.
6740 * testsuite/libgomp.c++/pr66199-3.C: Remove.
6741 * testsuite/libgomp.c++/pr66199-4.C: Remove.
6742 * testsuite/libgomp.c++/pr66199-5.C: Remove.
6743 * testsuite/libgomp.c++/pr66199-6.C: Remove.
6744 * testsuite/libgomp.c++/pr66199-7.C: Remove.
6745 * testsuite/libgomp.c++/pr66199-8.C: Remove.
6746 * testsuite/libgomp.c++/pr66199-9.C: Remove.
6747 * testsuite/libgomp.c++/pr69389.C: Remove.
6748 * testsuite/libgomp.c++/simd10.C: Remove.
6749 * testsuite/libgomp.c++/simd11.C: Remove.
6750 * testsuite/libgomp.c++/simd12.C: Remove.
6751 * testsuite/libgomp.c++/simd13.C: Remove.
6752 * testsuite/libgomp.c++/target-1.C: Remove.
6753 * testsuite/libgomp.c++/target-3.C: Remove.
6754 * testsuite/libgomp.c++/target-4.C: Remove.
6755 * testsuite/libgomp.c++/target-5.C: Remove.
6756 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
6757 * testsuite/libgomp.c++/taskloop-1.C: Remove.
6758 * testsuite/libgomp.c++/taskloop-2.C: Remove.
6759 * testsuite/libgomp.c++/taskloop-3.C: Remove.
6760 * testsuite/libgomp.c++/taskloop-4.C: Remove.
6761 * testsuite/libgomp.c++/udr-9.C: Remove.
6762 * testsuite/libgomp.c++/for-10.C: Remove.
6763 * testsuite/libgomp.c++/for-11.C: Remove.
6764 * testsuite/libgomp.c++/for-12.C: Remove.
6765 * testsuite/libgomp.c++/for-13.C: Remove.
6766 * testsuite/libgomp.c++/for-14.C: Remove.
6767 * testsuite/libgomp.c++/for-9.C: Remove.
6768 * testsuite/libgomp.c/atomic-18.c: Move ...
6769 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
6770 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
6771 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
6772 * testsuite/libgomp.c/loop-13.c: Move ...
6773 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
6774 * testsuite/libgomp.c/loop-14.c: Move ...
6775 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
6776 * testsuite/libgomp.c/loop-15.c: Remove.
6777 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
6778 * testsuite/libgomp.c/monotonic-1.c: Move ...
6779 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
6780 * testsuite/libgomp.c/monotonic-2.c: Move ...
6781 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
6782 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
6783 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
6784 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
6785 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
6786 * testsuite/libgomp.c/ordered-4.c: Move ...
6787 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
6788 * testsuite/libgomp.c/pr45784.c: Move ...
6789 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
6790 * testsuite/libgomp.c/pr64824.c: Move ...
6791 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
6792 * testsuite/libgomp.c/pr64868.c: Move ...
6793 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
6794 * testsuite/libgomp.c/pr66199-1.c: Move ...
6795 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
6796 * testsuite/libgomp.c/pr66199-2.c: Move ...
6797 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
6798 * testsuite/libgomp.c/pr66199-3.c: Move ...
6799 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
6800 * testsuite/libgomp.c/pr66199-4.c: Move ...
6801 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
6802 * testsuite/libgomp.c/pr66199-5.c: Move ...
6803 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
6804 * testsuite/libgomp.c/pr66199-6.c: Move ...
6805 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
6806 * testsuite/libgomp.c/pr66199-7.c: Move ...
6807 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
6808 * testsuite/libgomp.c/pr66199-8.c: Move ...
6809 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
6810 * testsuite/libgomp.c/pr66199-9.c: Move ...
6811 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
6812 * testsuite/libgomp.c/pr69389.c: Move ...
6813 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
6814 * testsuite/libgomp.c/simd-14.c: Move ...
6815 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
6816 * testsuite/libgomp.c/simd-15.c: Move ...
6817 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
6818 * testsuite/libgomp.c/simd-16.c: Move ...
6819 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
6820 * testsuite/libgomp.c/simd-17.c: Move ...
6821 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
6822 * testsuite/libgomp.c/target-1.c: Move ...
6823 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
6824 * testsuite/libgomp.c/target-10.c: Move ...
6825 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
6826 * testsuite/libgomp.c/target-13.c: Move ...
6827 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
6828 * testsuite/libgomp.c/target-2.c: Move ...
6829 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
6830 * testsuite/libgomp.c/taskgroup-1.c: Move ...
6831 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
6832 * testsuite/libgomp.c/taskloop-1.c: Move ...
6833 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
6834 * testsuite/libgomp.c/taskloop-2.c: Move ...
6835 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
6836 * testsuite/libgomp.c/taskloop-3.c: Move ...
6837 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
6838 * testsuite/libgomp.c/taskloop-4.c: Move ...
6839 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
6840 * testsuite/libgomp.c/udr-1.c: Move ...
6841 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
6842 * testsuite/libgomp.c/for-1.c: Move ...
6843 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
6844 * testsuite/libgomp.c/for-1.h: Move ...
6845 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
6846 * testsuite/libgomp.c/for-2.c: Move ...
6847 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
6848 * testsuite/libgomp.c/for-2.h: Move ...
6849 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
6850 * testsuite/libgomp.c/for-3.c: Move ...
6851 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
6852 * testsuite/libgomp.c/for-4.c: Move ...
6853 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
6854 * testsuite/libgomp.c/for-5.c: Move ...
6855 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
6856 * testsuite/libgomp.c/for-6.c: Move ...
6857 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
6859 2018-05-02 Tom de Vries <tom@codesourcery.com>
6862 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
6863 __builtin_goacc_parlevel_{id,size}.
6864 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
6865 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
6866 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
6867 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
6868 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
6869 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
6870 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
6871 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
6872 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
6873 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
6874 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
6875 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
6876 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
6877 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
6878 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
6879 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
6880 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
6881 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
6882 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
6883 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
6884 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
6885 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
6886 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
6888 2018-05-02 Tom de Vries <tom@codesourcery.com>
6891 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
6893 2018-05-02 Tom de Vries <tom@codesourcery.com>
6896 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
6898 2018-04-29 Julian Brown <julian@codesourcery.com>
6899 Tom de Vries <tom@codesourcery.com>
6902 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
6903 arbitrary order for iterations of atomic subtract check.
6905 2018-04-28 Tom de Vries <tom@codesourcery.com>
6908 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
6909 atomic capture results obtained in parallel loop to an array, instead of
6912 2018-04-26 Tom de Vries <tom@codesourcery.com>
6915 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
6916 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
6917 (process_GOMP_NVPTX_JIT): New function.
6918 (link_ptx): Use process_GOMP_NVPTX_JIT.
6920 2018-04-26 Richard Biener <rguenther@suse.de>
6921 Tom de Vries <tom@codesourcery.com>
6924 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
6926 2018-04-26 Tom de Vries <tom@codesourcery.com>
6929 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
6930 recursion depth from 25 to 23.
6931 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
6933 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
6935 * configure: Regenerated.
6937 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
6938 Tom de Vries <tom@codesourcery.com>
6941 * testsuite/libgomp.oacc-c++/ref-1.C: New.
6943 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
6946 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
6947 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
6948 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
6949 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
6950 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
6951 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
6954 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
6956 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6958 2018-04-19 Jakub Jelinek <jakub@redhat.com>
6960 * configure: Regenerated.
6962 2018-04-18 David Malcolm <dmalcolm@redhat.com>
6965 * configure: Regenerate.
6967 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
6968 Tom de Vries <tom@codesourcery.com>
6971 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
6972 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
6974 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
6978 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
6979 test from gfortran.dg to here.
6981 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
6983 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
6984 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
6986 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
6989 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
6990 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
6992 2018-04-05 Tom de Vries <tom@codesourcery.com>
6995 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
6997 2018-03-26 Tom de Vries <tom@codesourcery.com>
6999 PR tree-optimization/85063
7000 * testsuite/libgomp.c/switch-conversion-2.c: New test.
7001 * testsuite/libgomp.c/switch-conversion.c: New test.
7002 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
7003 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
7005 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
7008 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
7009 call abort by STOP n.
7010 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
7011 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
7012 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
7013 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
7014 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
7015 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
7016 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
7017 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
7018 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
7019 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
7020 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
7021 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
7022 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
7023 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
7024 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
7025 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
7026 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
7027 * testsuite/libgomp.fortran/associate1.f90: Likewise.
7028 * testsuite/libgomp.fortran/associate2.f90: Likewise.
7029 * testsuite/libgomp.fortran/associate3.f90: Likewise.
7030 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
7031 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
7032 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
7033 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
7034 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
7035 * testsuite/libgomp.fortran/character1.f90: Likewise.
7036 * testsuite/libgomp.fortran/character2.f90: Likewise.
7037 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
7038 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
7039 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
7040 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
7041 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
7042 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
7043 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
7044 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
7045 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
7046 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
7047 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
7048 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
7049 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
7050 * testsuite/libgomp.fortran/do1.f90: Likewise.
7051 * testsuite/libgomp.fortran/do2.f90: Likewise.
7052 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
7053 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
7054 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
7055 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
7056 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
7057 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
7058 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7059 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
7060 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
7061 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
7062 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
7063 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
7064 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7065 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
7066 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
7067 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
7068 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
7069 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
7070 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
7071 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
7072 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
7073 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
7074 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
7075 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
7076 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
7077 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
7078 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
7079 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7080 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
7081 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
7082 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
7083 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
7084 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
7085 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7086 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7087 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
7088 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
7089 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
7090 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
7091 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
7092 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
7093 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
7094 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
7095 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
7096 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7097 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
7098 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
7099 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
7100 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
7101 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7102 * testsuite/libgomp.fortran/lib2.f: Likewise.
7103 * testsuite/libgomp.fortran/lib3.f: Likewise.
7104 * testsuite/libgomp.fortran/lib4.f90: Likewise.
7105 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
7106 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
7107 * testsuite/libgomp.fortran/nested1.f90: Likewise.
7108 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
7109 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
7110 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
7111 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
7112 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
7113 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
7114 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
7115 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
7116 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
7117 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
7118 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
7119 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
7120 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
7121 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
7122 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
7123 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
7124 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
7125 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
7126 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
7127 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7128 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
7129 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
7130 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
7131 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
7132 * testsuite/libgomp.fortran/pr25162.f: Likewise.
7133 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
7134 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
7135 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
7136 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
7137 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
7138 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
7139 * testsuite/libgomp.fortran/pr28390.f: Likewise.
7140 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
7141 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
7142 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
7143 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
7144 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
7145 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
7146 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
7147 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
7148 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
7149 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
7150 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
7151 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
7152 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
7153 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
7154 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
7155 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
7156 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
7157 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
7158 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
7159 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
7160 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
7161 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
7162 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
7163 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
7164 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
7165 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7166 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
7167 * testsuite/libgomp.fortran/reference1.f90: Likewise.
7168 * testsuite/libgomp.fortran/reference2.f90: Likewise.
7169 * testsuite/libgomp.fortran/retval1.f90: Likewise.
7170 * testsuite/libgomp.fortran/retval2.f90: Likewise.
7171 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
7172 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
7173 * testsuite/libgomp.fortran/simd1.f90: Likewise.
7174 * testsuite/libgomp.fortran/simd2.f90: Likewise.
7175 * testsuite/libgomp.fortran/simd3.f90: Likewise.
7176 * testsuite/libgomp.fortran/simd4.f90: Likewise.
7177 * testsuite/libgomp.fortran/simd5.f90: Likewise.
7178 * testsuite/libgomp.fortran/simd6.f90: Likewise.
7179 * testsuite/libgomp.fortran/simd7.f90: Likewise.
7180 * testsuite/libgomp.fortran/stack.f90: Likewise.
7181 * testsuite/libgomp.fortran/strassen.f90: Likewise.
7182 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
7183 * testsuite/libgomp.fortran/tabs2.f: Likewise.
7184 * testsuite/libgomp.fortran/target1.f90: Likewise.
7185 * testsuite/libgomp.fortran/target2.f90: Likewise.
7186 * testsuite/libgomp.fortran/target3.f90: Likewise.
7187 * testsuite/libgomp.fortran/target4.f90: Likewise.
7188 * testsuite/libgomp.fortran/target5.f90: Likewise.
7189 * testsuite/libgomp.fortran/target6.f90: Likewise.
7190 * testsuite/libgomp.fortran/target7.f90: Likewise.
7191 * testsuite/libgomp.fortran/target8.f90: Likewise.
7192 * testsuite/libgomp.fortran/task1.f90: Likewise.
7193 * testsuite/libgomp.fortran/task2.f90: Likewise.
7194 * testsuite/libgomp.fortran/task3.f90: Likewise.
7195 * testsuite/libgomp.fortran/task4.f90: Likewise.
7196 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
7197 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
7198 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
7199 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
7200 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
7201 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7202 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7203 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7204 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
7205 * testsuite/libgomp.fortran/udr1.f90: Likewise.
7206 * testsuite/libgomp.fortran/udr10.f90: Likewise.
7207 * testsuite/libgomp.fortran/udr11.f90: Likewise.
7208 * testsuite/libgomp.fortran/udr12.f90: Likewise.
7209 * testsuite/libgomp.fortran/udr13.f90: Likewise.
7210 * testsuite/libgomp.fortran/udr14.f90: Likewise.
7211 * testsuite/libgomp.fortran/udr15.f90: Likewise.
7212 * testsuite/libgomp.fortran/udr2.f90: Likewise.
7213 * testsuite/libgomp.fortran/udr3.f90: Likewise.
7214 * testsuite/libgomp.fortran/udr4.f90: Likewise.
7215 * testsuite/libgomp.fortran/udr5.f90: Likewise.
7216 * testsuite/libgomp.fortran/udr6.f90: Likewise.
7217 * testsuite/libgomp.fortran/udr7.f90: Likewise.
7218 * testsuite/libgomp.fortran/udr8.f90: Likewise.
7219 * testsuite/libgomp.fortran/udr9.f90: Likewise.
7220 * testsuite/libgomp.fortran/vla1.f90: Likewise.
7221 * testsuite/libgomp.fortran/vla2.f90: Likewise.
7222 * testsuite/libgomp.fortran/vla3.f90: Likewise.
7223 * testsuite/libgomp.fortran/vla4.f90: Likewise.
7224 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7225 * testsuite/libgomp.fortran/vla6.f90: Likewise.
7226 * testsuite/libgomp.fortran/vla7.f90: Likewise.
7227 * testsuite/libgomp.fortran/vla8.f90: Likewise.
7228 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
7229 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
7230 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7231 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7232 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7233 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7234 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7235 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7236 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7237 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7238 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7239 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
7240 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7241 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
7242 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
7243 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7244 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7245 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7246 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7247 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7248 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7249 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7250 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7251 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
7252 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
7253 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7254 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7255 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7256 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7257 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7258 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
7259 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7260 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7261 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7262 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7263 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7264 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
7265 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
7266 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
7267 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
7268 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
7269 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7270 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
7271 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
7272 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
7273 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
7274 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
7275 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
7276 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7277 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7278 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7279 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7280 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7281 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7282 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7283 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7284 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7285 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7286 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7287 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7288 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
7289 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
7290 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
7291 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7292 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7293 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7294 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
7295 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7296 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
7297 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7298 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
7299 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
7300 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
7301 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
7302 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
7303 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7304 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7305 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7306 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7307 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7308 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7309 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7310 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
7311 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
7312 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7313 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7314 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7315 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7316 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
7317 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
7318 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
7319 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7320 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7321 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
7323 2018-03-20 Richard Biener <rguenther@suse.de>
7325 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
7326 parallelizable loop.
7328 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7331 * configure: Regenerate.
7333 2018-02-16 Jakub Jelinek <jakub@redhat.com>
7336 * libgomp.fortran/pr84418-1.f90: New test.
7337 * libgomp.fortran/pr84418-2.f90: New test.
7339 2018-02-14 Jakub Jelinek <jakub@redhat.com>
7342 * testsuite/libgomp.fortran/threadprivate4.f90: Add
7343 -std=f2003 -fall-intrinsics into dg-additional-options.
7345 2018-02-08 Martin Jambor <mjambor@suse.cz>
7347 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
7350 2018-02-08 Martin Jambor <mjambor@suse.cz>
7352 * testsuite/libgomp.hsa.c/staticvar.c: New test.
7354 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7356 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
7357 [__cplusplus]: Declare extern "C".
7359 2018-02-07 Tom de Vries <tom@codesourcery.com>
7362 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
7364 2018-01-29 Christoph Spiel <cspiel@freenet.de>
7365 Jakub Jelinek <jakub@redhat.com>
7368 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
7369 instead of omp_lock_t.
7371 2018-01-25 Tom de Vries <tom@codesourcery.com>
7374 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
7376 2018-01-24 Tom de Vries <tom@codesourcery.com>
7379 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
7381 2018-01-24 Tom de Vries <tom@codesourcery.com>
7384 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
7386 2018-01-19 Tom de Vries <tom@codesourcery.com>
7387 Cesar Philippidis <cesar@codesourcery.com>
7390 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
7391 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
7393 2018-01-03 Jakub Jelinek <jakub@redhat.com>
7395 Update copyright years.
7397 * libgomp.texi: Bump @copying's copyright year.
7399 2017-12-30 Tom de Vries <tom@codesourcery.com>
7402 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
7403 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
7405 2017-12-27 Tom de Vries <tom@codesourcery.com>
7408 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
7409 (test_nonstatic): Fix return type to workaround PR83046.
7411 2017-12-05 Jakub Jelinek <jakub@redhat.com>
7414 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
7415 j suffix instead of i.
7416 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
7419 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
7421 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
7422 call to acc_wait (1).
7424 2017-11-24 Jakub Jelinek <jakub@redhat.com>
7427 * testsuite/libgomp.fortran/pr81304.f90: New test.
7429 2017-11-23 Jakub Jelinek <jakub@redhat.com>
7432 * libgomp.fortran/pr81841.f90: New test.
7434 2017-11-22 Jakub Jelinek <jakub@redhat.com>
7437 * target.c (gomp_target_init): Compute lengths just once and
7438 use them in both malloc size and subsequent copying.
7440 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
7442 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
7443 * acinclude.m4: Add cet.m4.
7444 * configure: Regenerate.
7445 * Makefile.in: Likewise.
7446 * testsuite/Makefile.in: Likewise.
7448 2017-11-15 Tom de Vries <tom@codesourcery.com>
7450 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
7451 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
7452 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
7453 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
7454 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
7455 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
7457 2017-11-14 Tom de Vries <tom@codesourcery.com>
7459 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
7462 2017-11-07 Jakub Jelinek <jakub@redhat.com>
7465 * testsuite/libgomp.c++/pr82835.C: New test.
7467 2017-11-06 Martin Liska <mliska@suse.cz>
7469 * testsuite/libgomp.c++/loop-2.C: Return a value
7470 for functions with non-void return type, or change type to void,
7471 or add -Wno-return-type for test.
7472 * testsuite/libgomp.c++/loop-4.C: Likewise.
7473 * testsuite/libgomp.c++/parallel-1.C: Likewise.
7474 * testsuite/libgomp.c++/shared-1.C: Likewise.
7475 * testsuite/libgomp.c++/single-1.C: Likewise.
7476 * testsuite/libgomp.c++/single-2.C: Likewise.
7478 2017-10-31 Tom de Vries <tom@codesourcery.com>
7480 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
7481 "do {} while (false)".
7482 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
7483 after HSA_DEBUG call.
7485 2017-10-28 Jakub Jelinek <jakub@redhat.com>
7487 * target.c (struct gomp_coalesce_buf): New type.
7488 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
7489 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
7490 (gomp_copy_host2dev): Add CBUF argument, if copying into
7491 the cached ranges, memcpy into buffer instead of copying
7493 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
7494 Add CBUF argument, pass it through to other calls.
7495 (gomp_map_vars): Aggregate copies from host to device if small enough
7496 and with small enough gaps in between into memcpy into a buffer and
7497 fewer host to device copies from the buffer.
7498 (gomp_update): Adjust gomp_copy_host2dev caller.
7500 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
7502 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
7504 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7505 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7506 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7507 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7509 2017-10-16 Tom de Vries <tom@codesourcery.com>
7511 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
7512 openacc_nvidia_accel_selected.
7513 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
7514 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
7515 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
7516 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
7517 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
7518 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
7519 openacc_nvidia_accel_selected. Skip for shared memory device.
7520 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
7521 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
7523 2017-10-09 Martin Jambor <mjambor@suse.cz>
7526 * testsuite/libgomp.hsa.c/pr82416.c: New test.
7528 2017-10-07 Tom de Vries <tom@codesourcery.com>
7530 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
7531 Remove acc_device_nvidia references.
7532 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
7535 2017-10-05 Tom de Vries <tom@codesourcery.com>
7537 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
7538 vector_length(32) clause from acc parallel directive.
7539 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
7541 2017-10-04 Tom de Vries <tom@codesourcery.com>
7543 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
7544 (main): Reduce sum of arr elements. Assert that hres is exactly
7545 representable in 32-bit floating point.
7546 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
7547 (main): Reduce sum of arr elements. Assert that hres and hmres are
7548 exactly representable in 32-bit floating point.
7549 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
7551 2017-09-28 Tom de Vries <tom@codesourcery.com>
7553 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
7555 * testsuite/libgomp.c++/pr69393.C: Same.
7556 * testsuite/libgomp.c++/taskloop-1.C: Same.
7557 * testsuite/libgomp.c++/taskloop-3.C: Same.
7558 * testsuite/libgomp.c++/taskloop-4.C: Same.
7559 * testsuite/libgomp.c/for-4.c: Same.
7560 * testsuite/libgomp.c/pr66199-3.c: Same.
7561 * testsuite/libgomp.c/pr66199-4.c: Same.
7562 * testsuite/libgomp.c/pr66199-6.c: Same.
7563 * testsuite/libgomp.c/taskloop-1.c: Same.
7564 * testsuite/libgomp.c/taskloop-3.c: Same.
7565 * testsuite/libgomp.c/taskloop-4.c: Same.
7566 * testsuite/libgomp.fortran/aligned1.f03: Same.
7567 * testsuite/libgomp.fortran/condinc1.f: Same.
7568 * testsuite/libgomp.fortran/condinc3.f90: Same.
7569 * testsuite/libgomp.fortran/crayptr1.f90: Same.
7570 * testsuite/libgomp.fortran/crayptr2.f90: Same.
7571 * testsuite/libgomp.fortran/crayptr3.f90: Same.
7572 * testsuite/libgomp.fortran/omp_cond1.f: Same.
7573 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
7574 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
7575 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
7576 * testsuite/libgomp.fortran/recursion1.f90: Same.
7577 * testsuite/libgomp.fortran/target2.f90: Same.
7578 * testsuite/libgomp.fortran/target5.f90: Same.
7579 * testsuite/libgomp.fortran/task3.f90: Same.
7581 2017-09-28 Tom de Vries <tom@codesourcery.com>
7583 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
7584 vector_length(32) clause from acc parallel directive.
7585 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
7587 2017-09-27 Tom de Vries <tom@codesourcery.com>
7589 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
7590 Remove acc_device_nvidia references.
7592 2017-09-16 Tom de Vries <tom@codesourcery.com>
7595 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
7597 2017-09-14 Tom de Vries <tom@codesourcery.com>
7599 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
7600 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
7601 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
7602 * testsuite/libgomp.c/c.exp: Include test-cases from
7603 libgomp.c-c++-common.
7604 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
7607 2017-09-14 Jakub Jelinek <jakub@redhat.com>
7610 * testsuite/libgomp.c++/pr81314.C: New test.
7612 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
7614 * libgomp.texi (Top): www.openacc.org now uses https.
7615 (Enabling OpenACC): Ditto.
7616 (acc_get_num_devices): Ditto.
7617 (acc_set_device_type): Ditto.
7618 (acc_get_device_type): Ditto.
7619 (acc_set_device_num): Ditto.
7620 (acc_get_device_num): Ditto.
7621 (acc_async_test): Ditto.
7622 (acc_async_test_all): Ditto.
7624 (acc_wait_all): Ditto.
7625 (acc_wait_all_async): Ditto.
7626 (acc_wait_async): Ditto.
7628 (acc_shutdown): Ditto.
7629 (acc_on_device): Ditto.
7630 (acc_malloc): Ditto.
7632 (acc_copyin): Ditto.
7633 (acc_present_or_copyin): Ditto.
7634 (acc_create): Ditto.
7635 (acc_present_or_create): Ditto.
7636 (acc_copyout): Ditto.
7637 (acc_delete): Ditto.
7638 (acc_update_device): Ditto.
7639 (acc_update_self): Ditto.
7640 (acc_map_data): Ditto.
7641 (acc_unmap_data): Ditto.
7642 (acc_deviceptr): Ditto.
7643 (acc_hostptr): Ditto.
7644 (acc_is_present): Ditto.
7645 (acc_memcpy_to_device): Ditto.
7646 (acc_memcpy_from_device): Ditto.
7647 (acc_get_current_cuda_device): Ditto.
7648 (acc_get_current_cuda_context): Ditto.
7649 (acc_get_cuda_stream): Ditto.
7650 (acc_set_cuda_stream): Ditto.
7651 (ACC_DEVICE_TYPE): Ditto.
7652 (ACC_DEVICE_NUM): Ditto.
7653 (OpenACC Library Interoperability): Ditto.
7655 2017-08-09 Jakub Jelinek <jakub@redhat.com>
7658 * testsuite/libgomp.c/pr81687-1.c: New test.
7659 * testsuite/libgomp.c/pr81687-2.c: New test.
7661 2017-08-07 Jakub Jelinek <jakub@redhat.com>
7664 * testsuite/libgomp.c/pr69389.c: New test.
7665 * testsuite/libgomp.c++/pr69389.C: New test.
7667 2017-08-07 Tom de Vries <tom@codesourcery.com>
7670 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
7671 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
7673 2017-07-27 Jakub Jelinek <jakub@redhat.com>
7676 * testsuite/libgomp.c/pr45784.c: New test.
7677 * testsuite/libgomp.c++/pr45784.C: New test.
7679 2017-07-19 Tom de Vries <tom@codesourcery.com>
7681 * testsuite/libgomp.oacc-c/vec.c: New test.
7683 2017-07-03 Tom de Vries <tom@codesourcery.com>
7685 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
7687 2017-06-27 Tom de Vries <tom@codesourcery.com>
7689 * plugin/plugin-nvptx.c (notify_var): New function.
7690 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
7692 2017-06-27 Tom de Vries <tom@codesourcery.com>
7694 * env.c (parse_unsigned_long_1): Factor out of ...
7695 (parse_unsigned_long): ... here.
7696 (parse_int_1): Factor out of ...
7697 (parse_int): ... here.
7698 (parse_int_secure): New function.
7699 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
7700 * secure_getenv.h: Factor out of ...
7701 * plugin/plugin-hsa.c: ... here.
7702 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
7704 2017-06-21 Jakub Jelinek <jakub@redhat.com>
7707 * testsuite/libgomp.c++/pr81130.C: New test.
7709 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7711 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
7713 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
7714 dg-xfail-run-if default args.
7716 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
7718 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
7719 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7721 2017-05-30 Jakub Jelinek <jakub@redhat.com>
7724 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
7725 (gomp_affinity_init_level): Use it. Always analyze the core and thread
7726 sibling lists, depending on level just pick up what CPUs to put
7727 together into a place vs. whether add multiple ordered places.
7729 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
7731 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
7732 * libgomp.map (OACC_2.0.1): Add these.
7733 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
7734 for "acc_wait", and "acc_wait_all", respectively.
7735 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
7736 for "acc_wait", and "acc_wait_all", respectively.
7737 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
7738 * libgomp.texi (acc_wait, acc_wait_all): Update.
7739 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
7740 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
7741 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
7743 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
7744 acc_present_or_copyin and acc_present_or_create procedures,
7746 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
7747 generally different variants of OpenACC Runtime Library functions.
7748 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7750 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
7751 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7753 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
7754 of preprocessor definitions.
7755 * libgomp.h (strong_alias): Guard by "#ifdef
7756 HAVE_ATTRIBUTE_ALIAS".
7757 * oacc-mem.c: Provide "acc_pcreate" as alias for
7758 "acc_present_or_create", and "acc_pcopyin" as alias for
7759 "acc_present_or_copyin".
7760 * libgomp.map: New version "OACC_2.0.1".
7761 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
7762 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
7764 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
7767 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
7768 when disabling nvptx offloading.
7770 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
7772 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
7773 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
7774 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
7776 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
7777 * testsuite/lib/libgomp.exp
7778 (check_effective_target_openacc_nvidia_accel_configured): New
7780 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
7781 (check_effective_target_c++): New procs.
7782 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
7783 (check_effective_target_c++): Likewise.
7785 2017-05-22 Jakub Jelinek <jakub@redhat.com>
7788 * testsuite/libgomp.c/pr80809-2.c: New test.
7789 * testsuite/libgomp.c/pr80809-3.c: New test.
7792 * testsuite/libgomp.c/pr80809-1.c: New test.
7795 * testsuite/libgomp.c/pr80853.c: New test.
7797 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
7799 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
7800 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
7801 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7802 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
7803 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
7805 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
7806 Debug output for failure.
7808 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7810 * testsuite/lib/libgomp.exp: Load scanlang.exp.
7812 2017-04-27 Jakub Jelinek <jakub@redhat.com>
7815 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
7816 bootstrap compare failures.
7818 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
7820 * testsuite/libgomp.c/target-36.c: New testcase.
7822 2017-04-13 Jakub Jelinek <jakub@redhat.com>
7824 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
7827 2017-04-11 Jakub Jelinek <jakub@redhat.com>
7830 * testsuite/libgomp.c/pr80394.c: New test.
7832 2017-04-04 Jakub Jelinek <jakub@redhat.com>
7835 * config/posix/thread-stacksize.h: New file.
7836 * config/darwin/thread-stacksize.h: New file.
7837 * config/nvptx/thread-stacksize.h: New file.
7838 * env.c: Include thread-stacksize.h.
7839 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
7840 instead of 0. Call pthread_attr_setstacksize even if
7841 GOMP_DEFAULT_STACKSIZE is non-zero.
7843 2017-03-30 Jakub Jelinek <jakub@redhat.com>
7845 * env.c (initialize_env): Initialize stacksize to 0.
7847 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
7850 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
7852 2017-03-08 Jakub Jelinek <jakub@redhat.com>
7855 * testsuite/libgomp.c/pr79940.c: New test.
7857 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7859 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
7861 Add __float128 options.
7863 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
7865 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
7866 hppa*-*-* dg-skip-if directive.
7868 2017-02-09 Jakub Jelinek <jakub@redhat.com>
7870 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
7871 dg-skip-if directive into a comment.
7873 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
7874 Chung-Lin Tang <cltang@codesourcery.com>
7876 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
7877 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
7878 add additional case.
7879 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
7880 "openacc_nvidia_accel_selected".
7881 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
7882 Add num_workers(8) clause.
7884 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
7886 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
7888 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
7889 include complex.h on hppa*-*-hpux*.
7890 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
7892 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
7894 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
7896 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
7897 GOMP_OFFLOAD_openacc_exec. Adjust all users.
7898 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
7899 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
7900 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
7901 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
7902 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
7903 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
7904 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
7905 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
7907 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
7909 * libgomp-plugin.h: #include <stdbool.h>.
7910 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
7911 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
7912 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
7913 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
7914 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
7915 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
7916 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
7917 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
7918 (GOMP_OFFLOAD_openacc_register_async_cleanup)
7919 (GOMP_OFFLOAD_openacc_async_test)
7920 (GOMP_OFFLOAD_openacc_async_test_all)
7921 (GOMP_OFFLOAD_openacc_async_wait)
7922 (GOMP_OFFLOAD_openacc_async_wait_async)
7923 (GOMP_OFFLOAD_openacc_async_wait_all)
7924 (GOMP_OFFLOAD_openacc_async_wait_all_async)
7925 (GOMP_OFFLOAD_openacc_async_set_async)
7926 (GOMP_OFFLOAD_openacc_create_thread_data)
7927 (GOMP_OFFLOAD_openacc_destroy_thread_data)
7928 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
7929 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
7930 (GOMP_OFFLOAD_openacc_get_cuda_stream)
7931 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
7932 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
7934 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
7935 (GOMP_OFFLOAD_unload_image): Fix argument types.
7937 2017-01-26 Jakub Jelinek <jakub@redhat.com>
7939 * testsuite/lib/libgomp.exp
7940 (check_effective_target_hsa_offloading_selected_nocache): Fix up
7941 check_compile invocation. Fix up removal of executable. Drop
7942 bogus "2>&1" argument.
7944 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
7947 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
7948 Martin Jambor <mjambor@suse.cz>
7950 * plugin/hsa.h: Moved to top level include.
7951 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
7953 2017-01-21 Jakub Jelinek <jakub@redhat.com>
7956 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
7957 of cat to get version from BASE-VER file.
7958 * testsuite/Makefile.in: Regenerated.
7960 2017-01-19 Jakub Jelinek <jakub@redhat.com>
7962 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
7965 2017-01-17 Jakub Jelinek <jakub@redhat.com>
7967 * plugin/hsa.h: Add GCC runtime library exception.
7968 * plugin/hsa_ext_finalize.h: Likewise.
7970 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
7971 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
7972 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
7973 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
7974 plugin/include/cuda as include dir and -ldl instead of -lcuda as
7975 library to link ptx plugin against.
7976 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
7977 (CUDA_CALLS): Define.
7978 (cuda_lib, cuda_lib_inited): New variables.
7979 (init_cuda_lib): New function.
7980 (CUDA_CALL_PREFIX): Define.
7981 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
7982 (CUDA_CALL): Use FN instead of (FN).
7983 (CUDA_CALL_NOCHECK): Define.
7984 (cuda_error, fini_streams_for_device, select_stream_for_async,
7985 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
7986 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
7987 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
7988 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
7990 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
7992 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
7993 Use CUDA_CALL_NOCHECK.
7994 * plugin/cuda/cuda.h: New file.
7995 * config.h.in: Regenerated.
7996 * configure: Regenerated.
7999 * configure.ac: Add GCC_BASE_VER.
8000 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8001 get version from BASE-VER file.
8002 * testsuite/Makefile.in: Regenerated.
8003 * configure: Regenerated.
8004 * Makefile.in: Regenerated.
8006 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8009 * Makefile.am: Make fincludedir multilib-aware.
8010 * Makefile.in: Regenerate.
8012 2017-01-01 Jakub Jelinek <jakub@redhat.com>
8014 Update copyright years.
8016 * libgomp.texi: Bump @copying's copyright year.
8018 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8020 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
8021 pthread_spinlock_t instead of gomp_mutex_t lock.
8022 (gomp_get_thread_pool): Likewise.
8023 (gomp_release_thread_pool): Likewise.
8024 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
8027 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8029 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
8030 thread pool in case nthreads == 1.
8032 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
8034 * config/nvptx/env.c: Delete.
8035 * icv.c: Move definitions of ICV variables back ...
8036 * env.c: ...here. Do not compile environment-related functionality if
8037 LIBGOMP_OFFLOADED_ONLY is set.
8039 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
8041 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
8042 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
8043 * configure: Regenerate.
8044 * config.h.in: Likewise.
8046 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
8048 * Makefile.in: Regenerate with automake-1.11.6.
8049 * aclocal.m4: Likewise.
8050 * configure: Likewise.
8051 * testsuite/Makefile.in: Likewise.
8053 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
8055 * config/nvptx/critical.c: Delete to use generic implementation.
8057 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
8059 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
8060 ../../affinity.c as fallback.
8061 * config/nvptx/affinity.c: Delete to use fallback implementation.
8063 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
8064 Jakub Jelinek <jakub@redhat.com>
8065 Dmitry Melnik <dm@ispras.ru>
8067 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
8068 * Makefile.in. Regenerate.
8069 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
8070 (LIBGOMP_USE_PTHREADS): ...here; new define.
8071 * configure: Regenerate.
8072 * config.h.in: Likewise.
8073 * config/posix/affinity.c: Move to...
8074 * affinity.c: ...here (new file). Guard use of Pthreads-specific
8075 interface by LIBGOMP_USE_PTHREADS.
8076 * critical.c: Split out GOMP_atomic_{start,end} into...
8077 * atomic.c: ...here (new file).
8078 * env.c: Split out ICV definitions into...
8079 * icv.c: ...here (new file) and...
8080 * icv-device.c: ...here. New file.
8081 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
8082 (gomp_destroy_lock_30): Ditto.
8083 (gomp_set_lock_30): Ditto.
8084 (gomp_unset_lock_30): Ditto.
8085 (gomp_test_lock_30): Ditto.
8086 (gomp_init_nest_lock_30): Ditto.
8087 (gomp_destroy_nest_lock_30): Ditto.
8088 (gomp_set_nest_lock_30): Ditto.
8089 (gomp_unset_nest_lock_30): Ditto.
8090 (gomp_test_nest_lock_30): Ditto.
8092 * config/nvptx/lock.c: New.
8093 * config/nvptx/bar.c: New.
8094 * config/nvptx/bar.h: New.
8095 * config/nvptx/doacross.h: New.
8096 * config/nvptx/error.c: New.
8097 * config/nvptx/icv-device.c: New.
8098 * config/nvptx/mutex.h: New.
8099 * config/nvptx/pool.h: New.
8100 * config/nvptx/proc.c: New.
8101 * config/nvptx/ptrlock.h: New.
8102 * config/nvptx/sem.h: New.
8103 * config/nvptx/simple-bar.h: New.
8104 * config/nvptx/target.c: New.
8105 * config/nvptx/task.c: New.
8106 * config/nvptx/team.c: New.
8107 * config/nvptx/time.c: New.
8108 * config/posix/simple-bar.h: New.
8109 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
8110 (gomp_num_teams_var): Declare.
8111 (struct gomp_thread_pool): Change threads_dock member to
8112 gomp_simple_barrier_t.
8113 [__nvptx__] (gomp_thread): New implementation.
8114 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
8115 (gomp_thread_destructor): Ditto.
8116 (gomp_init_thread_affinity): Ditto.
8117 * team.c: Guard uses of Pthreads-specific interfaces by
8118 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
8119 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
8120 * config/nvptx/alloc.c: Delete.
8121 * config/nvptx/barrier.c: Ditto.
8122 * config/nvptx/fortran.c: Ditto.
8123 * config/nvptx/iter.c: Ditto.
8124 * config/nvptx/iter_ull.c: Ditto.
8125 * config/nvptx/loop.c: Ditto.
8126 * config/nvptx/loop_ull.c: Ditto.
8127 * config/nvptx/ordered.c: Ditto.
8128 * config/nvptx/parallel.c: Ditto.
8129 * config/nvptx/priority_queue.c: Ditto.
8130 * config/nvptx/sections.c: Ditto.
8131 * config/nvptx/single.c: Ditto.
8132 * config/nvptx/splay-tree.c: Ditto.
8133 * config/nvptx/work.c: Ditto.
8134 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
8135 -foffload=-lgfortran in addition to -lgfortran.
8136 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
8137 * plugin/plugin-nvptx.c: Include <limits.h>.
8138 (struct targ_fn_descriptor): Add new fields.
8139 (struct ptx_device): Ditto. Set them...
8140 (nvptx_open_device): ...here.
8141 (nvptx_adjust_launch_bounds): New.
8142 (nvptx_host2dev): Allow NULL 'nvthd'.
8143 (nvptx_dev2host): Ditto.
8144 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
8145 (link_ptx): Adjust log sizes.
8146 (nvptx_host2dev): Allow NULL 'nvthd'.
8147 (nvptx_dev2host): Ditto.
8148 (nvptx_set_clocktick): New. Use it...
8149 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
8151 (GOMP_OFFLOAD_dev2dev): New.
8152 (nvptx_adjust_launch_bounds): New.
8153 (nvptx_stacks_size): New.
8154 (nvptx_stacks_alloc): New.
8155 (nvptx_stacks_free): New.
8156 (GOMP_OFFLOAD_run): New.
8157 (GOMP_OFFLOAD_async_run): New (stub).
8159 2016-11-23 Martin Jambor <mjambor@suse.cz>
8161 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
8162 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
8163 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8165 2016-11-23 Martin Liska <mliska@suse.cz>
8166 Martin Jambor <mjambor@suse.cz>
8168 * plugin/hsa.h: New file.
8169 * plugin/hsa_ext_finalize.h: New file.
8170 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
8171 header file unistd.h, and functions secure_getenv, __secure_getenv,
8172 getuid, geteuid, getgid and getegid.
8173 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
8175 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
8176 Handle various cases of secure_getenv presence, add an implementation
8177 when we can test effective UID and GID.
8178 (struct hsa_runtime_fn_info): New structure.
8179 (hsa_runtime_fn_info hsa_fns): New variable.
8180 (hsa_runtime_lib): Likewise.
8181 (support_cpu_devices): Likewise.
8182 (init_enviroment_variables): Load newly introduced ENV
8184 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
8185 (hsa_fatal): Likewise.
8186 (DLSYM_FN): New macro.
8187 (init_hsa_runtime_functions): New function.
8188 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
8189 structure. Depending on environment, also allow CPU devices.
8190 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
8191 (get_kernarg_memory_region): Likewise.
8192 (GOMP_OFFLOAD_init_device): Likewise.
8193 (destroy_hsa_program): Likewise.
8194 (init_basic_kernel_info): New function.
8195 (GOMP_OFFLOAD_load_image): Use it.
8196 (create_and_finalize_hsa_program): Call hsa run-time functions via
8198 (create_single_kernel_dispatch): Likewise.
8199 (release_kernel_dispatch): Likewise.
8200 (init_single_kernel): Likewise.
8201 (parse_target_attributes): Allow up multiple HSA grid dimensions.
8202 (get_group_size): New function.
8203 (run_kernel): Likewise.
8204 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
8205 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
8207 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
8208 * testsuite/libgomp-test-support.exp.in: Likewise.
8209 * Makefile.in: Regenerated.
8210 * aclocal.m4: Likewise.
8211 * config.h.in: Likewise.
8212 * configure: Likewise.
8213 * testsuite/Makefile.in: Likewise.
8215 2016-11-15 Martin Jambor <mjambor@suse.cz>
8216 Alexander Monakov <amonakov@ispras.ru>
8218 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
8219 mapping clauses to target constructs.
8220 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
8222 2016-11-15 Matthias Klose <doko@ubuntu.com>
8224 * configure: Regenerate.
8226 2016-11-10 Jakub Jelinek <jakub@redhat.com>
8228 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
8229 * omp_lib.h.in (openmp_version): Likewise.
8230 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
8232 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8234 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
8235 (fib_wrapper): Add map(from: x) clause.
8236 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
8238 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
8239 (accum): Add map(tmp) clause.
8240 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
8241 (accum): Add map(tofrom: tmp) clause.
8242 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
8243 (gramSchmidt): Likewise.
8244 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
8245 map(tofrom: sum) clause.
8246 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
8247 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
8248 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
8249 only allowed on the loop iterator.
8250 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
8251 * testsuite/libgomp.fortran/taskloop2.f90: New test.
8252 * testsuite/libgomp.fortran/taskloop4.f90: New test.
8253 * testsuite/libgomp.fortran/doacross1.f90: New test.
8254 * testsuite/libgomp.fortran/doacross3.f90: New test.
8255 * testsuite/libgomp.fortran/taskloop1.f90: New test.
8256 * testsuite/libgomp.fortran/taskloop3.f90: New test.
8257 * testsuite/libgomp.fortran/doacross2.f90: New test.
8258 * testsuite/libgomp.c/doacross-1.c (main): Add missing
8259 #pragma omp atomic read.
8260 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8261 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
8263 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
8264 Nathan Sidwell <nathan@acm.org>
8266 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
8267 to determine default geometry.
8268 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
8271 2016-11-01 Jakub Jelinek <jakub@redhat.com>
8273 * hashtab.h: Use standard GPLv3 with runtime exception
8276 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
8278 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
8279 size when allocating new thread.
8281 2016-09-14 Marek Polacek <polacek@redhat.com>
8283 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
8285 2016-08-19 Jakub Jelinek <jakub@redhat.com>
8288 * testsuite/libgomp.fortran/pr71014.f90: New test.
8290 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
8293 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
8294 firstprivate clauses.
8295 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
8297 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8298 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8299 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
8300 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
8301 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
8302 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
8303 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8304 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
8305 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8306 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8308 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
8310 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
8313 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
8315 2016-08-08 Jakub Jelinek <jakub@redhat.com>
8318 * testsuite/libgomp.c++/pr58706.C: New test.
8320 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
8322 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
8323 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
8324 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
8326 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
8327 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
8329 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
8331 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
8332 test, and don't hardcode -O0.
8334 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
8336 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
8338 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
8340 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
8343 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
8346 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
8347 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
8349 2016-07-01 Jakub Jelinek <jakub@redhat.com>
8352 * testsuite/libgomp.fortran/associate3.f90: New test.
8354 2016-06-17 Jakub Jelinek <jakub@redhat.com>
8356 * testsuite/libgomp.c++/target-21.C: New test.
8358 2016-06-16 Jakub Jelinek <jakub@redhat.com>
8360 * testsuite/libgomp.c++/target-20.C: New test.
8362 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8363 Cesar Philippidis <cesar@codesourcery.com>
8366 * libgomp.oacc-c/nested-function-1.c: New file.
8367 * libgomp.oacc-c/nested-function-2.c: Likewise.
8368 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8369 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8370 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8372 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
8375 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
8376 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
8377 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
8379 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
8381 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
8382 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
8384 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
8387 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
8389 2016-05-26 Jakub Jelinek <jakub@redhat.com>
8391 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
8392 instead of invalid schedule(static, 0).
8393 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
8395 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8397 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
8398 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
8399 parameter, use to set async stream around call to gomp_unmap_vars,
8400 call gomp_unmap_vars() with 'do_copyfrom' set to true.
8401 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
8402 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
8403 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
8404 (event_add): Add int parameter, initialize 'val' field when
8405 adding new ptx_event struct.
8406 (nvptx_evec): Adjust event_add() call arguments.
8407 (nvptx_host2dev): Likewise.
8408 (nvptx_dev2host): Likewise.
8409 (nvptx_wait_async): Likewise.
8410 (nvptx_wait_all_async): Likewise.
8411 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
8412 pass to event_add() call.
8413 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
8415 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
8416 call openacc.register_async_cleanup_func() hook.
8417 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
8418 * target.c (gomp_copy_from_async): Delete function.
8419 (gomp_map_vars): Remove async_refcount.
8420 (gomp_unmap_vars): Likewise.
8421 (gomp_load_image_to_device): Likewise.
8422 (omp_target_associate_ptr): Likewise.
8423 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
8424 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
8425 (gomp_copy_from_async): Remove.
8427 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
8429 * target.c (gomp_device_copy): New function.
8430 (gomp_copy_host2dev): Likewise.
8431 (gomp_copy_dev2host): Likewise.
8432 (gomp_free_device_memory): Likewise.
8433 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
8434 (gomp_map_pointer): Likewise.
8435 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
8436 NULL value from alloc_func plugin hook.
8437 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
8438 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
8439 (gomp_unmap_vars): Likewise.
8440 (gomp_update): Adjust to call gomp_copy_dev2host and
8441 gomp_copy_host2dev functions.
8442 (gomp_unload_image_from_device): Handle false value from
8443 unload_image_func plugin hook.
8444 (gomp_init_device): Handle false value from init_device_func
8446 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
8447 (omp_target_free): Adjust to call gomp_free_device_memory.
8448 (omp_target_memcpy): Handle return values from host2dev_func,
8449 dev2host_func, and dev2dev_func plugin hooks.
8450 (omp_target_memcpy_rect_worker): Likewise.
8451 (gomp_target_fini): Handle false value from fini_device_func
8453 * libgomp.h (struct gomp_device_descr): Adjust return type of
8454 init_device_func, fini_device_func, unload_image_func, free_func,
8455 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
8456 * oacc-init.c (acc_shutdown_1): Handle false value from
8457 fini_device_func plugin hook.
8458 * oacc-host.c (host_init_device): Change return type to bool.
8459 (host_fini_device): Likewise.
8460 (host_unload_image): Likewise.
8461 (host_free): Likewise.
8462 (host_dev2host): Likewise.
8463 (host_host2dev): Likewise.
8464 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
8465 (acc_memcpy_to_device): Likewise.
8466 (acc_memcpy_from_device): Likewise.
8467 (delete_copyout): Add libfnname parameter, handle free_func
8468 hook fatal error case.
8469 (acc_delete): Adjust delete_copyout call.
8470 (acc_copyout): Likewise.
8471 (update_dev_host): Move gomp_mutex_unlock to after
8472 host2dev/dev2host hook calls.
8474 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
8475 to 'hsa_error_msg', for clarity.
8476 (hsa_fatal): Likewise.
8477 (hsa_error): New function.
8478 (init_hsa_context): Change return type to bool, adjust to return
8480 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
8482 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
8483 return false on error.
8484 (get_agent_info): Adjust to return NULL on error.
8485 (destroy_hsa_program): Change return type to bool, adjust to
8486 return false on error.
8487 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
8488 (destroy_module): Change return type to bool, adjust to
8489 return false on error.
8490 (GOMP_OFFLOAD_unload_image): Likewise.
8491 (GOMP_OFFLOAD_fini_device): Likewise.
8492 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
8493 (GOMP_OFFLOAD_free): Change to return false when called.
8494 (GOMP_OFFLOAD_dev2host): Likewise.
8495 (GOMP_OFFLOAD_host2dev): Likewise.
8496 (GOMP_OFFLOAD_dev2dev): Likewise.
8498 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
8499 (CUDA_CALL): Likewise.
8500 (CUDA_CALL_ASSERT): Likewise.
8501 (map_init): Change return type to bool, use CUDA_CALL* macros.
8502 (map_fini): Likewise.
8503 (init_streams_for_device): Change return type to bool, adjust
8505 (fini_streams_for_device): Change return type to bool, adjust
8507 (select_stream_for_async): Release stream_lock before calls to
8508 GOMP_PLUGIN_fatal, adjust call to map_init.
8509 (nvptx_init): Use CUDA_CALL* macros.
8510 (nvptx_attach_host_thread_to_device): Change return type to bool,
8511 use CUDA_CALL* macros.
8512 (nvptx_open_device): Use CUDA_CALL* macros.
8513 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
8515 (nvptx_get_num_devices): Use CUDA_CALL* macros.
8516 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
8517 (nvptx_exec): Use CUDA_CALL* macros.
8518 (nvptx_alloc): Use CUDA_CALL* macros.
8519 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
8520 (nvptx_host2dev): Likewise.
8521 (nvptx_dev2host): Likewise.
8522 (nvptx_wait): Use CUDA_CALL* macros.
8523 (nvptx_wait_async): Likewise.
8524 (nvptx_wait_all): Likewise.
8525 (nvptx_wait_all_async): Likewise.
8526 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
8527 use CUDA_CALL* macros, adjust call to map_fini.
8528 (GOMP_OFFLOAD_init_device): Change return type to bool,
8529 adjust code accordingly.
8530 (GOMP_OFFLOAD_fini_device): Likewise.
8531 (GOMP_OFFLOAD_load_image): Adjust calls to
8532 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
8533 use CUDA_CALL* macros.
8534 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
8536 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
8537 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
8538 handle error return.
8539 (GOMP_OFFLOAD_dev2host): Likewise.
8540 (GOMP_OFFLOAD_host2dev): Likewise.
8541 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
8542 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
8544 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
8546 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
8547 (acc_free): Likewise.
8548 (acc_memcpy_to_device): Likewise.
8549 (acc_memcpy_from_device): Likewise.
8550 (acc_deviceptr): Likewise.
8551 (acc_hostptr): Likewise.
8552 (acc_is_present): Likewise.
8553 (acc_map_data): Likewise.
8554 (acc_unmap_data): Likewise.
8555 (present_create_copy): Likewise.
8556 (delete_copyout): Likewise.
8557 (update_dev_host): Likewise.
8558 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
8559 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
8560 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
8561 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8562 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
8563 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
8564 it only runs on nvptx targets.
8565 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8566 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8567 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8568 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8569 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8570 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8571 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8572 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8573 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8574 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8575 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8576 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8577 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8578 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8579 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8580 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8581 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8582 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8584 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8585 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8586 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8587 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8589 2016-05-23 Martin Jambor <mjambor@suse.cz>
8591 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
8593 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
8595 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
8596 to gomp_init_targets_once.
8597 (acc_set_device_type): Remove !cached_base_dev condition on call to
8598 gomp_init_targets_once, move call to before acc_device_lock acquire,
8600 (acc_get_device_num): Remove !cached_base_dev condition on call to
8601 gomp_init_targets_once.
8602 (acc_set_device_num): Likewise.
8604 2016-05-16 Martin Jambor <mjambor@suse.cz>
8606 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
8608 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
8610 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
8611 expected partitioning.
8613 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
8616 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
8617 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
8618 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
8620 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
8622 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
8625 2016-04-19 Jakub Jelinek <jakub@redhat.com>
8628 * testsuite/libgomp.c/pr70680-1.c: New test.
8629 * testsuite/libgomp.c/pr70680-2.c: New test.
8631 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8633 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
8634 pass parameter variables to subroutines.
8636 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
8639 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
8641 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
8644 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
8645 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8647 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
8649 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
8650 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
8651 GOACC_declare prototype.
8653 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
8654 Merge this file, and...
8655 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
8656 ... this file, and...
8657 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
8658 ... this file, and...
8659 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
8660 ... this file, and...
8661 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
8662 ... this file, and...
8663 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
8664 ... this file, and...
8665 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
8666 ... this file, and...
8667 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
8668 ... this file, and...
8669 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
8670 ... this file, and...
8671 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
8672 ... this file, and...
8673 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
8674 ... this file, and...
8675 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
8676 ... this file, and...
8677 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
8678 ... this file into...
8679 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
8682 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8683 Make failure observable.
8685 2016-04-12 Jakub Jelinek <jakub@redhat.com>
8687 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
8689 * target.c (gomp_target_fallback_firstprivate,
8690 gomp_target_unshare_firstprivate): Removed.
8691 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
8692 before waiting for dependencies.
8693 (gomp_target_task_fn): Don't copy firstprivate vars here.
8694 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
8695 firstprivate_copies here.
8696 (gomp_create_target_task): Don't initialize firstprivate_copies field.
8697 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
8698 explicit/implicit firstprivate.
8700 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
8704 PR tree-optimization/70373
8708 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
8710 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
8712 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
8714 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
8716 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
8718 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
8720 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
8722 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
8724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
8726 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
8727 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
8728 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
8729 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
8731 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
8733 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
8735 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
8737 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
8739 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
8740 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8741 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
8742 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
8743 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
8744 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
8746 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8747 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8748 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8749 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8750 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
8751 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
8752 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
8753 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
8754 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
8755 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8756 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8757 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8758 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8759 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8760 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
8762 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
8763 James Norris <jnorris@codesourcery.com>
8764 Nathan Sidwell <nathan@codesourcery.com>
8765 Julian Brown <julian@codesourcery.com>
8766 Cesar Philippidis <cesar@codesourcery.com>
8767 Chung-Lin Tang <cltang@codesourcery.com>
8768 Tom de Vries <tom@codesourcery.com>
8770 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
8771 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8772 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8773 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
8774 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8775 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8776 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8777 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8778 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
8780 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
8782 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
8784 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
8785 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
8786 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
8787 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
8789 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
8791 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
8792 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
8793 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
8794 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
8795 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8796 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8797 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8798 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8799 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8800 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
8802 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
8803 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8804 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
8806 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
8808 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
8810 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
8812 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
8814 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
8815 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
8816 ... this new file. Update.
8817 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
8818 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
8819 ... this new file. Update.
8820 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
8821 file. Incorporate...
8822 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
8824 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
8826 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
8828 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
8830 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
8832 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
8833 set-torture-options.
8835 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
8837 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
8839 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8840 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
8841 -fno-builtin-acc_on_device instead of -O0.
8842 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
8844 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
8845 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
8847 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
8848 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
8849 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
8850 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
8851 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
8852 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
8853 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
8854 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
8855 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
8856 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
8857 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
8858 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
8859 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
8860 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
8861 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
8862 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
8863 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
8864 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
8866 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
8868 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
8871 2016-03-24 Martin Liska <mliska@suse.cz>
8873 * plugin/plugin-hsa.c (packet_store_release): New function
8874 that is taken from the HSA runtime manual.
8875 (GOMP_OFFLOAD_run): Use the function.
8877 2016-03-23 Jakub Jelinek <jakub@redhat.com>
8880 * testsuite/libgomp.c++/pr70376.C: New test.
8882 2016-03-23 Tom de Vries <tom@codesourcery.com>
8884 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
8885 initialization of lresult and lvresult.
8886 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
8888 2016-03-23 James Norris <jnorris@codesourcery.com>
8889 Daichi Fukuoka <dc-fukuoka@sgi.com>
8892 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
8893 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
8894 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8895 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
8897 2016-03-23 Martin Liska <mliska@suse.cz>
8900 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
8901 argument just in case a dispatched kernel uses that argument.
8903 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
8905 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
8906 -ftree-parallelize-loops/-fopenacc changes.
8907 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
8909 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8911 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
8913 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
8915 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8916 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8918 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
8920 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
8921 always_ld_library_path the path to libgcc_s.
8923 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
8926 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
8928 2016-03-09 Tom de Vries <tom@codesourcery.com>
8930 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
8931 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
8932 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
8934 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
8935 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
8936 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
8937 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
8939 2016-03-07 Martin Jambor <mjambor@suse.cz>
8941 * testsuite/lib/libgomp.exp
8942 (check_effective_target_hsa_offloading_selected_nocache): New.
8943 (check_effective_target_hsa_offloading_selected): Likewise.
8944 * testsuite/libgomp.hsa.c/c.exp: Likewise.
8945 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
8946 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
8947 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
8948 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
8949 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
8950 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
8951 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
8952 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
8953 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
8954 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
8955 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
8956 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
8957 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
8958 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
8959 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
8960 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
8962 2016-03-07 Martin Jambor <mjambor@suse.cz>
8964 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
8965 non-shared memory accelerators.
8966 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
8967 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
8968 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
8969 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
8970 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8971 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8972 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8973 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8974 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8976 2016-03-07 Martin Jambor <mjambor@suse.cz>
8978 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
8981 2016-03-02 Jakub Jelinek <jakub@redhat.com>
8984 * testsuite/libgomp.c++/pr69555-1.C: New test.
8985 * testsuite/libgomp.c++/pr69555-2.C: New test.
8987 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
8988 Martin Jambor <mjambor@suse.cz>
8990 * testsuite/lib/libgomp.exp
8991 (check_effective_target_offload_device_shared_as): New proc.
8992 * testsuite/libgomp.c++/declare_target-1.C: New test.
8994 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
8997 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
8999 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
9001 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9002 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
9004 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
9005 -ftree-parallelize-loops/-fopenacc changes.
9006 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
9007 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
9009 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
9011 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
9013 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
9015 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
9017 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
9019 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
9021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
9022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
9024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
9025 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
9027 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
9028 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
9031 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
9033 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
9035 2016-02-19 Jakub Jelinek <jakub@redhat.com>
9038 * testsuite/libgomp.c/pr69805.c: New test.
9040 2016-02-16 Tom de Vries <tom@codesourcery.com>
9043 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
9045 2016-02-09 Tom de Vries <tom@codesourcery.com>
9047 PR tree-optimization/69599
9048 * testsuite/libgomp.c/omp-nested-3.c: New test.
9049 * testsuite/libgomp.c/pr46032-2.c: New test.
9050 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
9051 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
9053 2016-02-09 Tom de Vries <tom@codesourcery.com>
9056 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
9058 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
9060 * testsuite/libgomp.c/target-31.c: Fix testcase.
9062 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
9064 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
9066 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
9067 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
9068 reduction and map clauses.
9069 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
9071 2016-02-02 James Norris <jnorris@codesourcery.com>
9073 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
9075 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
9077 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
9078 * oacc-parallel.c (GOACC_host_data): Remove function definition.
9080 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
9083 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
9085 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
9086 (hsa_kmt_lib): Set variables.
9087 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
9088 always_ld_library_path.
9089 * Makefile.in: Regenerate.
9090 * configure: Likewise.
9091 * testsuite/Makefile.in: Likewise.
9093 * plugin/configfrag.ac (offload_additional_options)
9094 (offload_additional_lib_paths): Don't amend for hsa offloading.
9095 * configure: Regenerate.
9097 * plugin/configfrag.ac: Don't configure for offloading target if
9098 we don't build the corresponding plugin.
9099 * configure: Regenerate.
9101 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
9103 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
9104 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
9106 2016-01-26 Tom de Vries <tom@codesourcery.com>
9108 PR tree-optimization/69110
9109 * testsuite/libgomp.c/pr69110.c: New test.
9111 2016-01-25 Richard Biener <rguenther@suse.de>
9114 * testsuite/libgomp.c++/pr69393.C: New testcase.
9116 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
9118 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
9119 function wasn't mapped to the device with non-shared memory.
9121 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
9123 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
9125 2016-01-19 Martin Jambor <mjambor@suse.cz>
9126 Martin Liska <mliska@suse.cz>
9128 * plugin/Makefrag.am: Add HSA plugin requirements.
9129 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
9130 (HSA_RUNTIME_LIB): Likewise.
9131 (HSA_RUNTIME_CPPFLAGS): Likewise.
9132 (HSA_RUNTIME_INCLUDE): New substitution.
9133 (HSA_RUNTIME_LIB): Likewise.
9134 (HSA_RUNTIME_LDFLAGS): Likewise.
9135 (hsa-runtime): New configure option.
9136 (hsa-runtime-include): Likewise.
9137 (hsa-runtime-lib): Likewise.
9138 (PLUGIN_HSA): New substitution variable.
9139 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
9141 (PLUGIN_HSA_CPPFLAGS): Likewise.
9142 (PLUGIN_HSA_LDFLAGS): Likewise.
9143 (PLUGIN_HSA_LIBS): Likewise.
9144 Check that we have access to HSA run-time.
9145 * libgomp-plugin.h (offload_target_type): New element
9146 OFFLOAD_TARGET_TYPE_HSA.
9147 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
9149 (bool gomp_create_target_task): Updated.
9150 (gomp_device_descr): Extra parameter of run_func and async_run_func,
9151 new field can_run_func.
9152 * libgomp_g.h (GOMP_target_ext): Update prototype.
9153 * oacc-host.c (host_run): Added a new parameter args.
9154 * target.c (calculate_firstprivate_requirements): New function.
9155 (copy_firstprivate_data): Likewise.
9156 (gomp_target_fallback_firstprivate): Use them.
9157 (gomp_target_unshare_firstprivate): New function.
9158 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
9160 (GOMP_target): Do host fallback for all shared memory devices. Do not
9161 pass any args to plugins.
9162 (GOMP_target_ext): Introduce device-specific argument parameter args.
9163 Allow host fallback if device shares memory. Do not remap data if
9164 device has shared memory.
9165 (gomp_target_task_fn): Likewise. Also treat shared memory devices
9166 like host fallback for mappings.
9167 (GOMP_target_data): Treat shared memory devices like host fallback.
9168 (GOMP_target_data_ext): Likewise.
9169 (GOMP_target_update): Likewise.
9170 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
9171 gomp_create_target_task.
9172 (GOMP_target_enter_exit_data): Likewise.
9173 (omp_target_alloc): Treat shared memory devices like host fallback.
9174 (omp_target_free): Likewise.
9175 (omp_target_is_present): Likewise.
9176 (omp_target_memcpy): Likewise.
9177 (omp_target_memcpy_rect): Likewise.
9178 (omp_target_associate_ptr): Likewise.
9179 (gomp_load_plugin_for_device): Also load can_run.
9180 * task.c (GOMP_PLUGIN_target_task_completion): Free
9181 firstprivate_copies.
9182 (gomp_create_target_task): Accept new argument args and store it to
9184 * plugin/plugin-hsa.c: New file.
9186 2016-01-18 Tom de Vries <tom@codesourcery.com>
9188 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
9189 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
9190 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
9191 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
9192 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
9193 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
9194 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
9195 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
9196 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
9197 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
9198 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9200 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9202 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
9203 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
9204 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
9205 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
9206 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
9207 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
9208 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
9209 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9211 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
9213 2016-01-15 Jakub Jelinek <jakub@redhat.com>
9215 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
9217 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
9219 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
9221 2016-01-12 James Norris <jnorris@codesourcery.com>
9223 * libgomp.texi: Updates for OpenACC.
9225 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
9227 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
9229 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
9232 * testsuite/libgomp.fortran/pr66680.f90: New test.
9234 2016-01-07 Jakub Jelinek <jakub@redhat.com>
9237 * testsuite/libgomp.c/pr68960.c: New test.
9239 2016-01-06 Nathan Sidwell <nathan@acm.org>
9241 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
9242 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
9244 2016-01-04 Jakub Jelinek <jakub@redhat.com>
9246 Update copyright years.
9248 * libgomp.texi: Bump @copying's copyright year.
9250 2015-12-31 Nathan Sidwell <nathan@acm.org>
9252 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
9253 dg-additional-options syntax.
9254 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9255 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9256 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9257 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9258 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9259 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9260 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9261 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9262 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9263 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9264 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9265 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9266 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9267 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9268 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9269 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9270 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9271 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9273 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
9275 * libgomp.h (REFCOUNT_LINK): Define.
9276 (struct splay_tree_key_s): Add link_key.
9277 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
9278 Replace target address of the pointer with target address of newly
9279 mapped object in the splay tree. Set link pointer on target to the
9280 device address of the mapped object.
9281 (gomp_unmap_vars): Restore target address of the pointer in the splay
9282 tree for REFCOUNT_LINK objects after unmapping.
9283 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
9284 declare target link" objects.
9285 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
9286 "omp declare target link" objects, which were mapped for the image.
9287 (gomp_exit_data): Restore target address of the pointer in the splay
9288 tree for REFCOUNT_LINK objects after unmapping.
9289 * testsuite/libgomp.c/target-link-1.c: New file.
9291 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
9293 * libgomp.h (gomp_device_state): New enum.
9294 (struct gomp_device_descr): Replace is_initialized with state.
9295 (gomp_fini_device): Remove declaration.
9296 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
9297 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
9298 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
9299 (acc_set_device_type): Use state instead of is_initialized.
9300 (acc_set_device_num): Likewise.
9301 * target.c (resolve_device): Use state instead of is_initialized.
9302 Do not initialize finalized device.
9303 (gomp_map_vars): Do nothing if device is finalized.
9304 (gomp_unmap_vars): Likewise.
9305 (gomp_update): Likewise.
9306 (GOMP_offload_register_ver): Use state instead of is_initialized.
9307 (GOMP_offload_unregister_ver): Likewise.
9308 (gomp_init_device): Likewise.
9309 (gomp_unload_device): Likewise.
9310 (gomp_fini_device): Remove.
9311 (gomp_get_target_fn_addr): Do nothing if device is finalized.
9312 (GOMP_target): Go to host fallback if device is finalized.
9313 (GOMP_target_ext): Likewise.
9314 (gomp_exit_data): Do nothing if device is finalized.
9315 (gomp_target_task_fn): Go to host fallback if device is finalized.
9316 (gomp_target_fini): New static function.
9317 (gomp_target_init): Use state instead of is_initialized.
9318 Call gomp_target_fini at exit.
9320 2015-12-09 Tom de Vries <tom@codesourcery.com>
9322 PR tree-optimization/68716
9323 * testsuite/libgomp.c/omp-nested-2.c: New test.
9325 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
9327 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
9328 target openacc_nvidia_accel_selected.
9329 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
9330 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
9331 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
9332 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
9334 2015-12-01 Julian Brown <julian@codesourcery.com>
9335 James Norris <James_Norris@mentor.com>
9337 * oacc-parallel.c (GOACC_host_data): New function.
9338 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
9339 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
9340 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
9341 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
9342 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
9343 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
9344 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
9346 2015-11-30 James Norris <jnorris@codesourcery.com>
9347 Cesar Philippidis <cesar@codesourcery.com>
9350 * libgomp.oacc-fortran/routine-5.f90: New test.
9351 * libgomp.oacc-fortran/routine-7.f90: New test.
9352 * libgomp.oacc-fortran/routine-9.f90: New test.
9354 2015-11-30 Tom de Vries <tom@codesourcery.com>
9356 PR tree-optimization/46032
9357 * testsuite/libgomp.c/pr46032.c: New test.
9359 2015-11-27 Jakub Jelinek <jakub@redhat.com>
9362 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
9363 (gomp_create_target_task): Call it before freeing
9364 GOMP_TARGET_TASK_DATA tasks.
9367 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
9368 in between case label and OpenMP standalone directives.
9369 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
9371 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
9373 * configure: Regenerate.
9375 2015-11-26 Jakub Jelinek <jakub@redhat.com>
9377 * testsuite/libgomp.c/target-35.c: New test.
9379 2015-11-22 James Norris <jnorris@codesourcery.com>
9380 Cesar Philippidis <cesar@codesourcery.com>
9382 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
9383 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
9384 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
9385 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
9386 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9388 2015-11-20 Jakub Jelinek <jakub@redhat.com>
9391 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
9392 * testsuite/libgomp.c/reduction-12.c: Likewise.
9393 * testsuite/libgomp.c++/reduction-11.C: Likewise.
9394 * testsuite/libgomp.c++/reduction-12.C: Likewise.
9396 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
9398 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
9399 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
9400 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
9401 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
9402 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
9404 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9405 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9407 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
9409 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
9410 worker & gang cases.
9411 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9413 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
9415 * config/nvptx/priority_queue.c: New file.
9417 2015-11-14 Jakub Jelinek <jakub@redhat.com>
9419 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
9422 2015-11-14 Jakub Jelinek <jakub@redhat.com>
9423 Aldy Hernandez <aldyh@redhat.com>
9424 Ilya Verbin <ilya.verbin@intel.com>
9426 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
9427 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
9428 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
9429 iterators or IV by chunk size.
9430 * parallel.c (gomp_resolve_num_threads): Don't assume that
9431 if thr->ts.team is non-NULL, then pool must be non-NULL.
9432 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
9433 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
9434 GOMP_PLUGIN_target_task_completion.
9435 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
9436 * Makefile.in: Regenerate.
9437 * libgomp.h: Shuffle prototypes and forward definitions around so
9438 priority queues can be defined.
9439 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
9440 (enum gomp_target_task_state): New enum.
9441 (struct gomp_target_task): Add state, tgt, task and team fields.
9442 (gomp_create_target_task): Change return type to bool, add
9444 (gomp_target_task_fn): Change return type to bool.
9445 (struct gomp_device_descr): Add async_run_func.
9446 (struct gomp_task): Remove children, next_child, prev_child,
9447 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
9449 (struct gomp_taskgroup): Remove children.
9450 Add taskgroup_queue.
9451 (struct gomp_team): Change task_queue type to a priority queue.
9452 (splay_compare): Define inline.
9453 (priority_queue_offset): New.
9454 (priority_node_to_task): New.
9455 (task_to_priority_node): New.
9456 * oacc-mem.c: Do not include splay-tree.h.
9457 * priority_queue.c: New file.
9458 * priority_queue.h: New file.
9459 * splay-tree.c: Do not include splay-tree.h.
9460 (splay_tree_foreach_internal): New.
9461 (splay_tree_foreach): New.
9462 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
9463 (splay_tree_callback): Define typedef.
9464 * target.c (splay_compare): Move to libgomp.h.
9465 (GOMP_target): Don't adjust *thr in any way around running offloaded
9467 (GOMP_target_ext): Likewise. Handle target nowait.
9468 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
9469 return value from gomp_create_target_task, if false, fallthrough
9470 as if no dependencies exist.
9471 (gomp_target_task_fn): Change return type to bool, return true
9472 if the task should have another part scheduled later. Handle
9474 (gomp_load_plugin_for_device): Initialize async_run.
9475 * task.c (gomp_init_task): Initialize children_queue.
9476 (gomp_clear_parent_in_list): New.
9477 (gomp_clear_parent_in_tree): New.
9478 (gomp_clear_parent): Handle priorities.
9479 (GOMP_task): Likewise.
9480 (priority_queue_move_task_first,
9481 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
9483 (gomp_create_target_task): Use priority queues. Change return type
9484 to bool, add state argument, return false if for async
9485 {{enter,exit} data,update} constructs no dependencies need to be
9486 waited for, handle target nowait. Set task->fn to NULL instead of
9487 gomp_target_task_fn.
9488 (verify_children_queue): Remove.
9489 (priority_list_upgrade_task): New.
9490 (priority_queue_upgrade_task): New.
9491 (verify_task_queue): Remove.
9492 (priority_list_downgrade_task): New.
9493 (priority_queue_downgrade_task): New.
9494 (gomp_task_run_pre): Use priority queues.
9495 Abstract code out to priority_queue_downgrade_task.
9496 (gomp_task_run_post_handle_dependers): Use priority queues.
9497 (gomp_task_run_post_remove_parent): Likewise.
9498 (gomp_task_run_post_remove_taskgroup): Likewise.
9499 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
9501 (GOMP_taskwait): Likewise.
9502 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
9503 priority-queue_upgrade_task.
9504 (GOMP_taskgroup_start): Use priority queues.
9505 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
9506 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
9508 * taskloop.c (GOMP_taskloop): Handle priorities.
9509 * team.c (gomp_new_team): Call priority_queue_init.
9510 (free_team): Call priority_queue_free.
9511 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
9512 team created for target nowait in implicit parallel region.
9513 (gomp_team_start): For nested check, test thr->ts.level instead of
9514 thr->ts.team != NULL.
9515 * testsuite/libgomp.c/doacross-3.c: New test.
9516 * testsuite/libgomp.c/ordered-5.c: New test.
9517 * testsuite/libgomp.c/priority.c: New test.
9518 * testsuite/libgomp.c/target-31.c: New test.
9519 * testsuite/libgomp.c/target-32.c: New test.
9520 * testsuite/libgomp.c/target-33.c: New test.
9521 * testsuite/libgomp.c/target-34.c: New test.
9523 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9525 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
9527 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
9530 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
9532 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
9533 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
9535 2015-11-12 James Norris <jnorris@codesourcery.com>
9536 Joseph Myers <joseph@codesourcery.com>
9538 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
9539 * oacc-parallel.c (GOACC_declare): New function.
9540 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
9541 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
9542 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
9543 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
9544 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
9546 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
9548 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
9550 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
9552 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
9553 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
9555 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9557 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
9560 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
9562 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
9563 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
9564 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
9565 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
9566 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
9568 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
9570 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
9571 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9573 2015-11-05 Jakub Jelinek <jakub@redhat.com>
9574 Ilya Verbin <ilya.verbin@intel.com>
9576 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
9577 GOMP_loop_nonmonotonic_dynamic_start,
9578 GOMP_loop_nonmonotonic_guided_next,
9579 GOMP_loop_nonmonotonic_guided_start,
9580 GOMP_loop_ull_nonmonotonic_dynamic_next,
9581 GOMP_loop_ull_nonmonotonic_dynamic_start,
9582 GOMP_loop_ull_nonmonotonic_guided_next,
9583 GOMP_loop_ull_nonmonotonic_guided_start,
9584 GOMP_parallel_loop_nonmonotonic_dynamic,
9585 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
9586 (GOMP_target_41): Renamed to ...
9587 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9589 (GOMP_target_data_41): Renamed to ...
9590 (GOMP_target_data_ext): ... this.
9591 (GOMP_target_update_41): Renamed to ...
9592 (GOMP_target_update_ext): ... this.
9593 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
9594 GOMP_target_data_ext and GOMP_target_update_ext instead of
9595 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
9596 Export GOMP_loop_nonmonotonic_dynamic_next,
9597 GOMP_loop_nonmonotonic_dynamic_start,
9598 GOMP_loop_nonmonotonic_guided_next,
9599 GOMP_loop_nonmonotonic_guided_start,
9600 GOMP_loop_ull_nonmonotonic_dynamic_next,
9601 GOMP_loop_ull_nonmonotonic_dynamic_start,
9602 GOMP_loop_ull_nonmonotonic_guided_next,
9603 GOMP_loop_ull_nonmonotonic_guided_start,
9604 GOMP_parallel_loop_nonmonotonic_dynamic and
9605 GOMP_parallel_loop_nonmonotonic_guided.
9606 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
9607 GOMP_parallel_loop_nonmonotonic_guided,
9608 GOMP_loop_nonmonotonic_dynamic_start,
9609 GOMP_loop_nonmonotonic_guided_start,
9610 GOMP_loop_nonmonotonic_dynamic_next,
9611 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
9612 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
9613 GOMP_loop_ull_nonmonotonic_guided_start,
9614 GOMP_loop_ull_nonmonotonic_dynamic_next,
9615 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
9616 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
9618 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
9619 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
9620 Use gomp_map_val function.
9621 (gomp_target_fallback_firstprivate): New static function.
9622 (GOMP_target_41): Renamed to ...
9623 (GOMP_target_ext): ... this. Add num_teams and thread_limit
9624 arguments. Move firstprivate fallback handling into a new
9626 (GOMP_target_data_41): Renamed to ...
9627 (GOMP_target_data_ext): ... this.
9628 (GOMP_target_update_41): Renamed to ...
9629 (GOMP_target_update_ext): ... this.
9630 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
9631 gomp_map_0len_lookup instead of gomp_map_lookup.
9632 (omp_target_is_present): Use gomp_map_0len_lookup instead of
9634 * testsuite/libgomp.c/target-28.c: Likewise.
9635 * testsuite/libgomp.c/monotonic-1.c: New test.
9636 * testsuite/libgomp.c/monotonic-2.c: New test.
9637 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
9638 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
9639 * testsuite/libgomp.c/pr66199-5.c: New test.
9640 * testsuite/libgomp.c/pr66199-6.c: New test.
9641 * testsuite/libgomp.c/pr66199-7.c: New test.
9642 * testsuite/libgomp.c/pr66199-8.c: New test.
9643 * testsuite/libgomp.c/pr66199-9.c: New test.
9644 * testsuite/libgomp.c/reduction-11.c: New test.
9645 * testsuite/libgomp.c/reduction-12.c: New test.
9646 * testsuite/libgomp.c/reduction-13.c: New test.
9647 * testsuite/libgomp.c/reduction-14.c: New test.
9648 * testsuite/libgomp.c/reduction-15.c: New test.
9649 * testsuite/libgomp.c/target-12.c (main): Adjust for
9650 omp_target_is_present change for one-past-last element.
9651 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
9652 the same var is both mapped and privatized.
9653 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
9654 handling of zero-length array sections.
9655 * testsuite/libgomp.c/target-28.c: New test.
9656 * testsuite/libgomp.c/target-29.c: New test.
9657 * testsuite/libgomp.c/target-30.c: New test.
9658 * testsuite/libgomp.c/target-teams-1.c: New test.
9659 * testsuite/libgomp.c++/member-6.C: New test.
9660 * testsuite/libgomp.c++/member-7.C: New test.
9661 * testsuite/libgomp.c++/monotonic-1.C: New test.
9662 * testsuite/libgomp.c++/monotonic-2.C: New test.
9663 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
9664 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
9665 * testsuite/libgomp.c++/pr66199-3.C: New test.
9666 * testsuite/libgomp.c++/pr66199-4.C: New test.
9667 * testsuite/libgomp.c++/pr66199-5.C: New test.
9668 * testsuite/libgomp.c++/pr66199-6.C: New test.
9669 * testsuite/libgomp.c++/pr66199-7.C: New test.
9670 * testsuite/libgomp.c++/pr66199-8.C: New test.
9671 * testsuite/libgomp.c++/pr66199-9.C: New test.
9672 * testsuite/libgomp.c++/reduction-11.C: New test.
9673 * testsuite/libgomp.c++/reduction-12.C: New test.
9674 * testsuite/libgomp.c++/target-13.C: New test.
9675 * testsuite/libgomp.c++/target-14.C: New test.
9676 * testsuite/libgomp.c++/target-15.C: New test.
9677 * testsuite/libgomp.c++/target-16.C: New test.
9678 * testsuite/libgomp.c++/target-17.C: New test.
9679 * testsuite/libgomp.c++/target-18.C: New test.
9680 * testsuite/libgomp.c++/target-19.C: New test.
9682 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9684 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
9686 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9687 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9688 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9689 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9690 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
9691 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9692 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9693 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9694 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9695 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
9696 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9697 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9698 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9699 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
9701 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
9703 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
9704 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
9705 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
9706 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
9707 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
9708 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
9709 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
9710 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
9712 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
9714 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
9715 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
9716 (GOMP_OFFLOAD_openacc_parallel): Likewise.
9717 * oacc-host.c (host_openacc_exec): Likewise.
9718 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
9720 2015-11-03 Julian Brown <julian@codesourcery.com>
9721 Thomas Schwinge <thomas@codesourcery.com>
9723 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
9724 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9725 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
9727 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
9728 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
9730 2015-11-03 James Norris <jnorris@codesourcery.com>
9732 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
9734 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
9736 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
9738 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
9739 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
9740 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
9742 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
9744 * openacc.h (enum acc_device_t): Reformat. Ensure layout
9746 (enum acc_async_t): Reformat.
9747 (acc_on_device): Declare compatible with builtin and provide C++
9749 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
9751 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
9752 Cesar Philippidis <cesar@codesourcery.com>
9754 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
9755 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
9756 ... this. Add a description of the test at the top of the file.
9757 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
9758 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
9759 ... this. Add a description of the test at the top of the file.
9761 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
9763 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
9764 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
9765 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
9766 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
9767 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
9768 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
9770 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
9772 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
9775 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
9778 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
9780 2015-10-27 James Norris <jnorris@codesourcery.com>
9782 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
9783 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
9785 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
9787 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
9788 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9790 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
9791 acc_device_nvidia usage.
9792 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9794 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9796 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
9797 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
9800 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
9804 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
9805 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
9807 2015-10-23 Tom de Vries <tom@codesourcery.com>
9810 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
9812 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
9814 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
9816 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9818 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
9819 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
9821 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
9822 to 0 when mapnum is 0.
9824 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
9826 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
9827 Cast to int from int32_t.
9829 2015-10-13 Jakub Jelinek <jakub@redhat.com>
9830 Aldy Hernandez <aldyh@redhat.com>
9831 Ilya Verbin <ilya.verbin@intel.com>
9833 * config/linux/affinity.c (omp_get_place_num_procs,
9834 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9835 * config/linux/doacross.h: New file.
9836 * config/posix/affinity.c (omp_get_place_num_procs,
9837 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
9838 * config/posix/doacross.h: New file.
9839 * env.c: Include gomp-constants.h.
9840 (struct gomp_task_icv): Rename run_sched_modifier to
9841 run_sched_chunk_size.
9842 (gomp_max_task_priority_var): New variable.
9843 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
9844 (handle_omp_display_env): Change _OPENMP value from 201307 to
9845 201511. Print OMP_MAX_TASK_PRIORITY.
9846 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
9847 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
9848 chunk_size and run_sched_modifier to run_sched_chunk_size.
9849 (omp_get_max_task_priority, omp_get_initial_device,
9850 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
9851 omp_get_partition_place_nums): New functions.
9852 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
9853 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
9855 (omp_get_num_places_, omp_get_place_num_procs_,
9856 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
9857 omp_get_place_proc_ids_8_, omp_get_place_num_,
9858 omp_get_partition_num_places_, omp_get_partition_place_nums_,
9859 omp_get_partition_place_nums_8_, omp_get_initial_device_,
9860 omp_get_max_task_priority_): New functions.
9861 * libgomp_g.h (GOMP_loop_doacross_static_start,
9862 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
9863 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
9864 GOMP_loop_ull_doacross_dynamic_start,
9865 GOMP_loop_ull_doacross_guided_start,
9866 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
9867 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
9868 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
9869 GOMP_target_data_41, GOMP_target_update_41,
9870 GOMP_target_enter_exit_data): New prototypes.
9871 (GOMP_task): Add prototype argument.
9872 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
9873 (struct gomp_doacross_work_share): New type.
9874 (struct gomp_work_share): Add doacross field.
9875 (struct gomp_task_icv): Rename run_sched_modifier to
9876 run_sched_chunk_size.
9877 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
9878 GOMP_TASK_UNDEFERRED. Add comments.
9879 (struct gomp_task_depend_entry): Add comments.
9880 (struct gomp_task): Likewise.
9881 (struct gomp_taskgroup): Likewise.
9882 (struct gomp_target_task): New type.
9883 (struct gomp_team): Add comment.
9884 (gomp_get_place_proc_ids_8, gomp_doacross_init,
9885 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
9886 gomp_create_target_task, gomp_target_task_fn): New prototypes.
9887 (struct target_var_desc): New type.
9888 (struct target_mem_desc): Adjust comment. Use struct
9889 target_var_desc instead of splay_tree_key for list.
9890 (REFCOUNT_INFINITY): Define.
9891 (struct splay_tree_key_s): Remove copy_from field.
9892 (struct gomp_device_descr): Add dev2dev_func field.
9893 (enum gomp_map_vars_kind): New enum.
9894 (gomp_map_vars): Add one argument.
9895 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
9896 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
9897 omp_get_place_num_procs, omp_get_place_num_procs_,
9898 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
9899 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
9900 omp_get_place_num_, omp_get_partition_num_places,
9901 omp_get_partition_num_places_, omp_get_partition_place_nums,
9902 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
9903 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
9904 omp_target_free, omp_target_is_present, omp_target_memcpy,
9905 omp_target_memcpy_rect, omp_target_associate_ptr and
9906 omp_target_disassociate_ptr.
9907 (GOMP_4.0.2): Renamed to ...
9908 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
9909 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
9910 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
9911 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9912 GOMP_loop_doacross_static_start, GOMP_doacross_post,
9913 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
9914 GOMP_loop_ull_doacross_guided_start,
9915 GOMP_loop_ull_doacross_runtime_start,
9916 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
9917 GOMP_doacross_ull_wait.
9918 * libgomp.texi: Document omp_get_max_task_priority.
9919 Rename modifier argument to chunk_size for omp_set_schedule and
9920 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
9921 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
9922 to run_sched_chunk_size renaming.
9923 (GOMP_loop_ordered_runtime_start): Likewise.
9924 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9925 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
9926 GOMP_parallel_loop_runtime_start): New functions.
9927 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
9928 to run_sched_chunk_size renaming.
9929 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
9930 GOMP_loop_doacross_guided_start): New functions or aliases.
9931 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
9932 run_sched_modifier to run_sched_chunk_size renaming.
9933 (GOMP_loop_ull_ordered_runtime_start): Likewise.
9934 (gomp_loop_ull_doacross_static_start,
9935 gomp_loop_ull_doacross_dynamic_start,
9936 gomp_loop_ull_doacross_guided_start,
9937 GOMP_loop_ull_doacross_runtime_start): New functions.
9938 (GOMP_loop_ull_doacross_static_start,
9939 GOMP_loop_ull_doacross_dynamic_start,
9940 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
9941 * oacc-mem.c (acc_map_data, present_create_copy,
9942 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
9944 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
9945 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
9946 instead of false to gomp_map_vars.
9947 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
9948 * omp.h.in (omp_lock_hint_t): New type.
9949 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9950 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9951 omp_get_place_num, omp_get_partition_num_places,
9952 omp_get_partition_place_nums, omp_get_initial_device,
9953 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
9954 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
9955 omp_target_associate_ptr, omp_target_disassociate_ptr): New
9957 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
9958 (omp_lock_hint_none, omp_lock_hint_uncontended,
9959 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
9960 omp_lock_hint_speculative): New parameters.
9961 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9962 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9963 omp_get_place_num, omp_get_partition_num_places,
9964 omp_get_partition_place_nums, omp_get_initial_device,
9965 omp_get_max_task_priority): New interfaces.
9966 (omp_set_schedule, omp_get_schedule): Rename modifier argument
9968 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
9969 (omp_lock_hint_none, omp_lock_hint_uncontended,
9970 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
9971 omp_lock_hint_speculative): New parameters.
9972 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
9973 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
9974 omp_get_place_num, omp_get_partition_num_places,
9975 omp_get_partition_place_nums, omp_get_initial_device,
9976 omp_get_max_task_priority): New functions and subroutines.
9977 * ordered.c: Include stdarg.h and string.h.
9978 (MAX_COLLAPSED_BITS): Define.
9979 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
9980 gomp_doacross_ull_init, GOMP_doacross_ull_post,
9981 GOMP_doacross_ull_wait): New functions.
9982 * target.c: Include errno.h.
9983 (resolve_device): If device is not initialized, call
9984 gomp_init_device on it.
9985 (gomp_map_lookup): New function.
9986 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
9987 Don't bump refcount if REFCOUNT_INFINITY. Handle
9988 GOMP_MAP_ALWAYS_TO_P.
9989 (get_kind): Rename is_openacc argument to short_mapkind.
9990 (gomp_map_pointer): Use gomp_map_lookup.
9991 (gomp_map_fields_existing): New function.
9992 (gomp_map_vars): Rename is_openacc argument to short_mapkind
9993 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
9994 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
9995 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
9996 Adjust for tgt->list changed type and copy_from living in there.
9997 (gomp_copy_from_async): Adjust for tgt->list changed type and
9998 copy_from living in there.
9999 (gomp_unmap_vars): Likewise.
10000 (gomp_update): Likewise. Rename is_openacc argument to
10001 short_mapkind. Don't fail if object is not mapped.
10002 (gomp_load_image_to_device): Initialize refcount to
10004 (gomp_target_fallback): New function.
10005 (gomp_get_target_fn_addr): Likewise.
10006 (GOMP_target): Adjust gomp_map_vars caller, use
10007 gomp_get_target_fn_addr and gomp_target_fallback.
10008 (GOMP_target_41): New function.
10009 (gomp_target_data_fallback): New function.
10010 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
10011 (GOMP_target_data_41): New function.
10012 (GOMP_target_update): Adjust gomp_update caller.
10013 (GOMP_target_update_41): New function.
10014 (gomp_exit_data, GOMP_target_enter_exit_data,
10015 gomp_target_task_fn, omp_target_alloc, omp_target_free,
10016 omp_target_is_present, omp_target_memcpy,
10017 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
10018 omp_target_associate_ptr, omp_target_disassociate_ptr,
10019 gomp_load_plugin_for_device): New functions.
10020 * task.c: Include gomp-constants.h. Include taskloop.c
10021 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
10022 (gomp_task_handle_depend): New function.
10023 (GOMP_task): Use it. Add priority argument. Use
10024 gomp-constant.h constants instead of hardcoded numbers.
10025 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
10026 (gomp_create_target_task): New function.
10027 (verify_children_queue, verify_taskgroup_queue,
10028 verify_task_queue): New functions.
10029 (gomp_task_run_pre): Call verify_*_queue functions.
10030 If an upcoming tied task is about to leave the sibling or
10031 taskgroup queues in an invalid state, adjust appropriately.
10032 Remove taskgroup argument. Add comments.
10033 (gomp_task_run_post_handle_dependers): Add comments.
10034 (gomp_task_run_post_remove_parent): Likewise.
10035 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
10036 (GOMP_taskwait): Likewise. Add comments.
10037 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
10038 problem such that the first non parent_depends_on task does not
10039 end up at the end of the children queue.
10040 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
10041 GOMP_TASK_UNDEFERRED.
10042 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
10043 * taskloop.c: New file.
10044 * testsuite/lib/libgomp.exp
10045 (check_effective_target_offload_device_nonshared_as): New proc.
10046 * testsuite/libgomp.c/affinity-2.c: New test.
10047 * testsuite/libgomp.c/doacross-1.c: New test.
10048 * testsuite/libgomp.c/doacross-2.c: New test.
10049 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
10050 Add map clause to target.
10051 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
10052 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
10053 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
10054 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
10055 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
10057 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
10058 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
10059 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
10060 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
10061 not defined. Use those where needed.
10062 * testsuite/libgomp.c/for-4.c: New test.
10063 * testsuite/libgomp.c/for-5.c: New test.
10064 * testsuite/libgomp.c/for-6.c: New test.
10065 * testsuite/libgomp.c/linear-1.c: New test.
10066 * testsuite/libgomp.c/ordered-4.c: New test.
10067 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
10068 only allowed on the loop iterator.
10069 * testsuite/libgomp.c/pr66199-3.c: New test.
10070 * testsuite/libgomp.c/pr66199-4.c: New test.
10071 * testsuite/libgomp.c/reduction-7.c: New test.
10072 * testsuite/libgomp.c/reduction-8.c: New test.
10073 * testsuite/libgomp.c/reduction-9.c: New test.
10074 * testsuite/libgomp.c/reduction-10.c: New test.
10075 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
10077 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
10078 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
10079 * testsuite/libgomp.c/target-11.c: New test.
10080 * testsuite/libgomp.c/target-12.c: New test.
10081 * testsuite/libgomp.c/target-13.c: New test.
10082 * testsuite/libgomp.c/target-14.c: New test.
10083 * testsuite/libgomp.c/target-15.c: New test.
10084 * testsuite/libgomp.c/target-16.c: New test.
10085 * testsuite/libgomp.c/target-17.c: New test.
10086 * testsuite/libgomp.c/target-18.c: New test.
10087 * testsuite/libgomp.c/target-19.c: New test.
10088 * testsuite/libgomp.c/target-20.c: New test.
10089 * testsuite/libgomp.c/target-21.c: New test.
10090 * testsuite/libgomp.c/target-22.c: New test.
10091 * testsuite/libgomp.c/target-23.c: New test.
10092 * testsuite/libgomp.c/target-24.c: New test.
10093 * testsuite/libgomp.c/target-25.c: New test.
10094 * testsuite/libgomp.c/target-26.c: New test.
10095 * testsuite/libgomp.c/target-27.c: New test.
10096 * testsuite/libgomp.c/taskloop-1.c: New test.
10097 * testsuite/libgomp.c/taskloop-2.c: New test.
10098 * testsuite/libgomp.c/taskloop-3.c: New test.
10099 * testsuite/libgomp.c/taskloop-4.c: New test.
10100 * testsuite/libgomp.c++/ctor-13.C: New test.
10101 * testsuite/libgomp.c++/doacross-1.C: New test.
10102 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
10103 Replace offload_device with offload_device_nonshared_as.
10104 * testsuite/libgomp.c++/for-12.C: New test.
10105 * testsuite/libgomp.c++/for-13.C: New test.
10106 * testsuite/libgomp.c++/for-14.C: New test.
10107 * testsuite/libgomp.c++/linear-1.C: New test.
10108 * testsuite/libgomp.c++/member-1.C: New test.
10109 * testsuite/libgomp.c++/member-2.C: New test.
10110 * testsuite/libgomp.c++/member-3.C: New test.
10111 * testsuite/libgomp.c++/member-4.C: New test.
10112 * testsuite/libgomp.c++/member-5.C: New test.
10113 * testsuite/libgomp.c++/ordered-1.C: New test.
10114 * testsuite/libgomp.c++/reduction-5.C: New test.
10115 * testsuite/libgomp.c++/reduction-6.C: New test.
10116 * testsuite/libgomp.c++/reduction-7.C: New test.
10117 * testsuite/libgomp.c++/reduction-8.C: New test.
10118 * testsuite/libgomp.c++/reduction-9.C: New test.
10119 * testsuite/libgomp.c++/reduction-10.C: New test.
10120 * testsuite/libgomp.c++/reference-1.C: New test.
10121 * testsuite/libgomp.c++/simd14.C: New test.
10122 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
10123 * testsuite/libgomp.c++/target-5.C: New test.
10124 * testsuite/libgomp.c++/target-6.C: New test.
10125 * testsuite/libgomp.c++/target-7.C: New test.
10126 * testsuite/libgomp.c++/target-8.C: New test.
10127 * testsuite/libgomp.c++/target-9.C: New test.
10128 * testsuite/libgomp.c++/target-10.C: New test.
10129 * testsuite/libgomp.c++/target-11.C: New test.
10130 * testsuite/libgomp.c++/target-12.C: New test.
10131 * testsuite/libgomp.c++/taskloop-1.C: New test.
10132 * testsuite/libgomp.c++/taskloop-2.C: New test.
10133 * testsuite/libgomp.c++/taskloop-3.C: New test.
10134 * testsuite/libgomp.c++/taskloop-4.C: New test.
10135 * testsuite/libgomp.c++/taskloop-5.C: New test.
10136 * testsuite/libgomp.c++/taskloop-6.C: New test.
10137 * testsuite/libgomp.c++/taskloop-7.C: New test.
10138 * testsuite/libgomp.c++/taskloop-8.C: New test.
10139 * testsuite/libgomp.c++/taskloop-9.C: New test.
10140 * testsuite/libgomp.fortran/affinity1.f90: New test.
10141 * testsuite/libgomp.fortran/affinity2.f90: New test.
10143 2015-10-13 Tom de Vries <tom@codesourcery.com>
10145 PR tree-optimization/67476
10146 * testsuite/libgomp.c/autopar-3.c: New test.
10147 * testsuite/libgomp.c/autopar-4.c: New test.
10148 * testsuite/libgomp.c/autopar-5.c: New test.
10149 * testsuite/libgomp.c/autopar-6.c: New test.
10150 * testsuite/libgomp.c/autopar-7.c: New test.
10151 * testsuite/libgomp.c/autopar-8.c: New test.
10153 2015-10-12 James Norris <jnorris@codesourcery.com>
10155 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
10158 2015-10-09 David Malcolm <dmalcolm@redhat.com>
10160 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
10161 using load_gcc_lib.
10163 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
10165 * oacc-ptx.h: Remove file, moving its content into...
10166 * config/nvptx/fortran.c: ... here...
10167 * config/nvptx/oacc-init.c: ..., here...
10168 * config/nvptx/oacc-parallel.c: ..., and here.
10169 * config/nvptx/openacc.f90: New file.
10170 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
10171 (link_ptx): Don't link in predefined bits of PTX code.
10173 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
10174 Bernd Schmidt <bernds@codesourcery.com>
10176 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
10177 (struct targ_ptx_obj): New.
10178 (nvptx_tdata): Move earlier, change data format.
10179 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
10181 (GOMP_OFFLOAD_load_image): Adjust.
10183 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
10185 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
10186 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10187 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
10188 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
10189 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10190 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10191 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10192 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10193 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10194 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10195 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10196 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
10197 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
10198 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10199 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
10200 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
10201 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10202 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
10203 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
10204 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
10205 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
10206 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10207 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
10208 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
10209 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
10210 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
10211 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
10212 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
10213 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
10214 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
10215 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
10216 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
10217 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
10218 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
10219 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10220 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
10221 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
10222 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
10223 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
10224 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
10225 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
10226 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
10227 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
10228 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
10229 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
10230 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
10231 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
10232 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
10233 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
10234 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
10235 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
10236 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
10237 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
10238 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
10239 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10240 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10241 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10242 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10243 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10244 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10245 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10246 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10247 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10249 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10251 * oacc-init.c (acc_on_device): Force optimization level.
10253 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
10255 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
10256 (cuda_errlist): Delete.
10257 (cuda_error): Reimplement.
10259 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
10261 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
10263 * libgomp.map (GOACC_parallel_keyed): New.
10264 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
10266 (GOACC_parallel_keyed): New interface. Lose geometry arguments
10267 and take keyed varargs list. Adjust call to exec_func.
10268 (GOACC_parallel): Force host fallback.
10269 * libgomp_g.h (GOACC_parallel): Remove.
10270 (GOACC_parallel_keyed): Declare.
10271 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
10272 (struct targ_gn_descriptor): Replace name field with launch field.
10273 (nvptx_exec): Lose separate geometry args, take array. Process
10274 dynamic dimensions and adjust.
10275 (struct nvptx_tdata): Replace fn_names field with fn_descs.
10276 (GOMP_OFFLOAD_load_image): Adjust for change in function table
10278 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
10280 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
10283 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
10286 * oacc-int.h (goacc_host_init): Add declaration.
10287 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
10288 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
10290 2015-09-08 Aditya Kumar <hiraditya@msn.com>
10291 Sebastian Pop <s.pop@samsung.com>
10293 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
10295 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
10296 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
10297 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
10298 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
10299 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
10301 2015-09-03 Jakub Jelinek <jakub@redhat.com>
10303 * configure.tgt: Add missing ;; in between nvptx and rtems
10306 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10308 * config/posix/pool.h (gomp_adjust_thread_attr): New.
10309 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
10310 (gomp_thread_pool_reservoir): Add priority member.
10311 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
10313 (parse_thread_pools): Likewise.
10314 * team.c (gomp_team_start): Call configuration provided
10315 gomp_adjust_thread_attr(). Destroy thread attributes if
10317 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
10319 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10321 * config/posix/pool.h: New.
10322 * config/rtems/pool.h: Likewise.
10323 * config/rtems/proc.c: Likewise.
10324 * libgomp.h (gomp_thread_destructor): Declare.
10325 * team.c: Include configuration provided "pool.h".
10326 (gomp_get_thread_pool): Define in configuration.
10327 (gomp_team_end): Call configuration defined
10328 gomp_release_thread_pool().
10330 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10332 * config/rtems/bar.c: New.
10333 * config/rtems/bar.h: Likewise.
10334 * config/rtems/mutex.c: Likewise.
10335 * config/rtems/mutex.h: Likewise.
10336 * config/rtems/sem.c: Likewise.
10337 * config/rtems/sem.h: Likewise.
10338 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
10339 <sys/lock.h> header file.
10340 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
10341 supported by Newlib.
10342 * configure: Regenerate.
10344 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
10346 * team.c (gomp_new_thread_pool): Delete and move content to ...
10347 (gomp_get_thread_pool): ... new function. Allocate and
10348 initialize thread pool on demand.
10349 (get_last_team): Use gomp_get_thread_pool().
10350 (gomp_team_start): Delete thread pool initialization.
10352 2015-09-03 Tom de Vries <tom@codesourcery.com>
10354 PR tree-optimization/65637
10355 * testsuite/libgomp.c/autopar-2.c: New test.
10357 2015-08-29 Tom de Vries <tom@codesourcery.com>
10359 PR tree-optimization/46193
10360 * testsuite/libgomp.c/pr46193.c: New test.
10362 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
10365 * libgomp.map: Add 4.0.2 version.
10366 * target.c (offload_image_descr): Add version field.
10367 (gomp_load_image_to_device): Add version argument. Adjust plugin
10368 call. Improve load mismatch diagnostic.
10369 (gomp_unload_image_from_device): Add version argument. Adjust plugin
10371 (GOMP_offload_regster): Make stub function, move bulk to ...
10372 (GOMP_offload_register_ver): ... here. Process version argument.
10373 (GOMP_offload_unregister): Make stub function, move bulk to ...
10374 (GOMP_offload_unregister_ver): ... here. Process version argument.
10375 (gomp_init_device): Process version field.
10376 (gomp_unload_device): Process version field.
10377 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
10378 macros. Check plugin version.
10379 * libgomp.h (gomp_device_descr): Add version function field. Adjust
10380 loader and unloader types.
10381 * oacc-host.c: Include gomp-constants.h.
10382 (host_version): New.
10383 (host_load_image, host_unload_image): Adjust.
10384 (host_dispatch): Add host_version.
10385 * plugin/plugin-nvptx.c: Include gomp-constants.h.
10386 (GOMP_OFFLOAD_version): New.
10387 (GOMP_OFFLOAD_load_image): Add version arg and check it.
10388 (GOMP_OFFLOAD_unload_image): Likewise.
10389 * plugin/plugin-host.c: Include gomp-constants.h.
10390 (GOMP_OFFLOAD_version): New.
10391 (GOMP_OFFLOAD_load_image): Add version arg.
10392 (GOMP_OFFLOAD_unload_image): Likewise.
10394 2015-08-24 Tom de Vries <tom@codesourcery.com>
10396 PR tree-optimization/65468
10397 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
10399 2015-08-24 Tom de Vries <tom@codesourcery.com>
10401 PR tree-optimization/65468
10402 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
10404 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
10408 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
10409 (gomp_iter_guided_next): Idem.
10410 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
10411 (gomp_iter_ull_guided_next): Idem.
10412 * config/linux/wait.h (do_spin): Idem.
10414 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10416 * libgomp-plugin.h (enum offload_target_type): Remove
10417 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
10418 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
10419 * openacc.h (enum acc_device_t): Likewise.
10420 * openacc_lib.h: Likewise.
10421 * oacc-init.c (name_of_acc_device_t): Don't handle it.
10422 (acc_on_device): Just use __builtin_acc_on_device.
10423 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
10424 of acc_on_device builtin.
10425 * plugin/plugin-host.h: Remove file.
10426 * plugin/plugin-host.c: Likewise, but salvage some content into...
10427 * oacc-host.c: ... this file.
10428 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
10429 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
10430 * Makefile.in: Regenerate.
10431 * configure: Likewise.
10432 * testsuite/lib/libgomp.exp
10433 (check_effective_target_openacc_host_nonshm_selected): Remove.
10434 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
10435 ACC_DEVICE_TYPE=host_nonshm.
10436 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10437 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10438 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
10439 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10440 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10441 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10443 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10444 Jakub Jelinek <jakub@redhat.com>
10446 * config/nvptx/affinity.c: New file.
10447 * config/nvptx/alloc.c: Likewise.
10448 * config/nvptx/bar.c: Likewise.
10449 * config/nvptx/barrier.c: Likewise.
10450 * config/nvptx/critical.c: Likewise.
10451 * config/nvptx/env.c: Likewise.
10452 * config/nvptx/error.c: Likewise.
10453 * config/nvptx/fortran.c: Likewise.
10454 * config/nvptx/iter.c: Likewise.
10455 * config/nvptx/iter_ull.c: Likewise.
10456 * config/nvptx/libgomp-plugin.c: Likewise.
10457 * config/nvptx/lock.c: Likewise.
10458 * config/nvptx/loop.c: Likewise.
10459 * config/nvptx/loop_ull.c: Likewise.
10460 * config/nvptx/mutex.c: Likewise.
10461 * config/nvptx/oacc-async.c: Likewise.
10462 * config/nvptx/oacc-cuda.c: Likewise.
10463 * config/nvptx/oacc-host.c: Likewise.
10464 * config/nvptx/oacc-init.c: Likewise.
10465 * config/nvptx/oacc-mem.c: Likewise.
10466 * config/nvptx/oacc-parallel.c: Likewise.
10467 * config/nvptx/oacc-plugin.c: Likewise.
10468 * config/nvptx/omp-lock.h: Likewise.
10469 * config/nvptx/ordered.c: Likewise.
10470 * config/nvptx/parallel.c: Likewise.
10471 * config/nvptx/proc.c: Likewise.
10472 * config/nvptx/ptrlock.c: Likewise.
10473 * config/nvptx/sections.c: Likewise.
10474 * config/nvptx/sem.c: Likewise.
10475 * config/nvptx/single.c: Likewise.
10476 * config/nvptx/splay-tree.c: Likewise.
10477 * config/nvptx/target.c: Likewise.
10478 * config/nvptx/task.c: Likewise.
10479 * config/nvptx/team.c: Likewise.
10480 * config/nvptx/time.c: Likewise.
10481 * config/nvptx/work.c: Likewise.
10482 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
10483 * configure: Regenerate.
10484 * configure.tgt (config_path): Set to "nvptx" for target
10487 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
10489 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
10491 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
10493 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
10494 (cuda_errlist): Constify.
10495 (errmsg): Move into ...
10496 (cuda_error): ... here. Make smaller.
10497 (_XSTR, _STR): Delete.
10498 (cuda_synames): Delete.
10499 (verify_device_library): Delete.
10500 (nvptx_init): Don't call it.
10502 2015-07-28 Tom de Vries <tom@codesourcery.com>
10504 * testsuite/libgomp.c/uns-outer-4.c: New test.
10506 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
10508 * testsuite/libgomp.c/pr66714.c: New test.
10510 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
10513 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
10514 (fib_ref): New function.
10515 (fib): Correct corner cases in the recursion.
10516 (main): Replace the non-simd loop with fib_ref call.
10517 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
10519 (fibonacci): Lower the parameter N to 30. Correct accordingly check
10520 for the last array element value. Replace the non-simd loop with
10521 fib_ref call. Remove redundant b_ref array. Remove the comparison
10522 of the last array element with according Fibonacci sequence element.
10523 (fib): Correct corner cases in the recursion.
10525 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
10527 * target.c (gomp_offload_image_to_device): Rename to ...
10528 (gomp_load_image_to_device): ... here.
10529 (GOMP_offload_register): Adjust call.
10530 (gomp_init_device): Likewise.
10531 (gomp_unload_image_from_device): New. Broken out of ...
10532 (GOMP_offload_unregister): ... here. Call it.
10533 (gomp_unload_device): New.
10534 * libgomp.h (gomp_unload_device): Declare.
10535 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
10538 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
10540 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
10542 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
10544 (goacc_waits): Move !num_waits handling to ...
10545 (GOACC_wait): ... here, the only caller that might have zero waits.
10547 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
10548 (struct ptx_image_data): Move earlier, add fns field.
10549 (struct ptx_device): Add images and image_lock fields.
10550 (ptx_images, ptx_image_lock): Delete.
10551 (nvptx_open_device): Initialize images and image_lock fields.
10552 (nvptx_close_device): Destroy image_lock.
10553 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
10554 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
10557 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
10559 * target.c (GOMP_offload_register): Use int for device type arg.
10560 (GOMP_offload_unregister): Likewise.
10562 * target.c (struct_offload_image_descr): Constify host_table.
10563 (gomp_offload_image_to_device): Likewise.
10564 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
10566 * libgomp.h (gomp_device_descr): Constify target data arguments.
10567 * target.c (struct offload_image_descr): Constify target_data.
10568 (gomp_offload_image_to_device): Likewise.
10569 (GOMP_offload_register): Likewise.
10570 (GOMP_offload_unregister): Likewise.
10571 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
10572 GOMP_OFFLOAD_unload_image): Constify target data.
10573 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
10574 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
10576 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
10578 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
10579 Workaround driver library const error.
10580 (struct nvptx_tdata, nvptx_tdata_t): New.
10581 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
10584 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
10586 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
10587 of EPS parameter from integer to real.
10588 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
10589 type of EPS parameter from integer to real.
10591 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10593 * team.c (get_last_team): New.
10594 (gomp_new_team): Recycle last non-nested team if possible.
10595 (gomp_team_end): Move team work share list free lock destruction
10597 (free_team): ... here.
10599 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
10601 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
10602 and ref from int to double. Replaced their comparison with
10603 an inequality of their difference and EPS.
10604 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
10605 comparison of pri and a reference number with an inequality of their
10606 difference and EPS.
10607 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
10608 the comparison of sum and sum_ref with an inequality of their
10609 difference and EPS.
10610 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
10611 the comparison of pri and a reference number with an inequality of
10612 their difference and EPS.
10614 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
10616 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
10617 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
10618 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
10619 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
10620 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
10621 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
10622 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
10623 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
10624 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
10625 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
10626 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
10627 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
10628 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
10630 (vec_mult): Likewise. Add #pragma omp taskwait.
10631 (main): Adjust caller.
10632 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
10633 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
10634 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
10635 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
10636 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
10637 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
10638 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
10639 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
10640 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
10641 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
10642 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
10643 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
10644 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
10645 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
10646 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
10647 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
10648 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
10649 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
10650 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
10651 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
10652 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
10653 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
10654 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
10655 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
10656 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
10657 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
10658 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
10659 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
10660 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
10661 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
10662 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
10663 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
10664 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
10665 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
10666 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
10667 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
10668 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
10669 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
10670 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
10671 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
10672 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
10673 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
10674 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
10675 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
10676 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
10677 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
10678 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
10679 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
10680 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
10681 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
10682 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
10683 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
10684 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
10685 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
10686 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
10687 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
10688 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
10689 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
10690 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
10691 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
10692 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
10693 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
10694 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
10695 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
10696 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
10697 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
10698 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
10699 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
10700 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
10701 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
10702 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
10703 (vec_mult): Add !$omp taskwait.
10704 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
10705 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
10706 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
10707 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
10708 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
10709 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
10710 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
10711 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
10712 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
10713 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
10714 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
10715 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
10716 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
10717 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
10718 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
10719 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
10720 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
10721 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
10722 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
10723 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
10724 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
10725 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
10726 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
10727 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
10728 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
10729 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
10730 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
10731 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
10732 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
10733 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
10734 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
10735 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
10736 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
10737 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
10738 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
10739 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
10740 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
10741 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
10742 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
10743 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
10744 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
10745 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
10746 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
10747 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
10748 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
10749 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
10750 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
10751 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
10752 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
10753 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
10754 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
10755 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
10756 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
10757 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
10758 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
10759 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
10760 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
10761 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
10762 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
10763 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
10764 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
10765 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
10766 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
10767 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
10768 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
10769 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
10770 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
10772 2015-07-10 Tom de Vries <tom@codesourcery.com>
10774 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
10775 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
10777 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
10780 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
10781 in a 64-bit configuration.
10782 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
10783 offloading testing if no such device is available.
10784 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10785 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10787 2015-07-08 Tom de Vries <tom@codesourcery.com>
10789 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
10791 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10793 2015-07-07 Tom de Vries <tom@codesourcery.com>
10795 PR tree-optimization/66642
10796 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
10797 iteration count case.
10798 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
10799 function, factor out of ...
10800 (main): ... here. Test low iteration count case.
10802 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
10804 * libgomp.h (gomp_thread_pool): Comment last_team field.
10806 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
10808 * testsuite/libgomp.c++/pr66702-1.C: Require
10809 vect_simd_clones effective target.
10810 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
10812 2015-06-30 Tom de Vries <tom@codesourcery.com>
10814 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10815 already set. Use DEFAULT_CFLAGS in dg-runtest.
10816 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
10819 2015-06-30 Tom de Vries <tom@codesourcery.com>
10821 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
10822 already set. Use DEFAULT_CFLAGS in dg-runtest.
10823 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
10824 * testsuite/libgomp.c++/pr64824.C: Same.
10825 * testsuite/libgomp.c++/pr64868.C: Same.
10826 * testsuite/libgomp.c++/pr66199-1.C: Same.
10827 * testsuite/libgomp.c++/pr66199-2.C: Same.
10828 * testsuite/libgomp.c++/target-2.C: Same.
10829 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
10830 -std=<standard> option.
10831 * testsuite/libgomp.c++/udr-11.C: Same.
10832 * testsuite/libgomp.c++/udr-12.C: Same.
10833 * testsuite/libgomp.c++/udr-13.C: Same.
10834 * testsuite/libgomp.c++/udr-14.C: Same.
10835 * testsuite/libgomp.c++/udr-15.C: Same.
10836 * testsuite/libgomp.c++/udr-16.C: Same.
10837 * testsuite/libgomp.c++/udr-17.C: Same.
10838 * testsuite/libgomp.c++/udr-18.C: Same.
10839 * testsuite/libgomp.c++/udr-19.C: Same.
10840 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
10841 * testsuite/libgomp.c++/simd-1.C: Same.
10842 * testsuite/libgomp.c++/simd-2.C: Same.
10843 * testsuite/libgomp.c++/simd-3.C: Same.
10844 * testsuite/libgomp.c++/simd-4.C: Same.
10845 * testsuite/libgomp.c++/simd-5.C: Same.
10846 * testsuite/libgomp.c++/simd-6.C: Same.
10847 * testsuite/libgomp.c++/simd-7.C: Same.
10848 * testsuite/libgomp.c++/simd-8.C: Same.
10849 * testsuite/libgomp.c++/simd-9.C: Same.
10850 * testsuite/libgomp.c++/simd10.C: Same.
10851 * testsuite/libgomp.c++/simd11.C: Same.
10852 * testsuite/libgomp.c++/simd12.C: Same.
10853 * testsuite/libgomp.c++/simd13.C: Same.
10855 2015-06-30 Jakub Jelinek <jakub@redhat.com>
10857 PR middle-end/66702
10858 * testsuite/libgomp.c++/pr66702-1.C: New test.
10859 * testsuite/libgomp.c++/pr66702-2.C: New test.
10861 2015-06-30 Tom de Vries <tom@codesourcery.com>
10863 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
10864 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
10865 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
10866 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
10868 2015-06-30 Tom de Vries <tom@codesourcery.com>
10870 PR tree-optimization/66652
10871 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
10872 using restrict pointers.
10873 (main): Add arguments to calls to f.
10874 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10876 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
10878 * configure.ac: Fix check for header <sys/sysctl.h>.
10879 * configure: Regenerate.
10880 * config.h.in: Likewise.
10882 2015-06-23 Tom de Vries <tom@codesourcery.com>
10884 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
10886 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
10888 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
10890 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
10894 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
10895 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
10897 2015-06-15 Tom de Vries <tom@codesourcery.com>
10899 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
10900 dg-additional-options for any remaining options.
10901 * testsuite/libgomp.c/atomic-2.c: Same.
10902 * testsuite/libgomp.c/atomic-4.c: Same.
10903 * testsuite/libgomp.c/atomic-5.c: Same.
10904 * testsuite/libgomp.c/atomic-6.c: Same.
10905 * testsuite/libgomp.c/autopar-1.c: Same.
10906 * testsuite/libgomp.c/copyin-1.c: Same.
10907 * testsuite/libgomp.c/copyin-2.c: Same.
10908 * testsuite/libgomp.c/copyin-3.c: Same.
10909 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
10910 * testsuite/libgomp.c/nestedfn-5.c: Same.
10911 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
10912 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
10913 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
10914 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10915 * testsuite/libgomp.c/pr32362-1.c: Same.
10916 * testsuite/libgomp.c/pr32362-2.c: Same.
10917 * testsuite/libgomp.c/pr32362-3.c: Same.
10918 * testsuite/libgomp.c/pr39591-1.c: Same.
10919 * testsuite/libgomp.c/pr39591-2.c: Same.
10920 * testsuite/libgomp.c/pr39591-3.c: Same.
10921 * testsuite/libgomp.c/pr58392.c: Same.
10922 * testsuite/libgomp.c/pr58756.c: Same.
10923 * testsuite/libgomp.c/simd-1.c: Same.
10924 * testsuite/libgomp.c/simd-10.c: Same.
10925 * testsuite/libgomp.c/simd-11.c: Same.
10926 * testsuite/libgomp.c/simd-12.c: Same.
10927 * testsuite/libgomp.c/simd-13.c: Same.
10928 * testsuite/libgomp.c/simd-14.c: Same.
10929 * testsuite/libgomp.c/simd-15.c: Same.
10930 * testsuite/libgomp.c/simd-2.c: Same.
10931 * testsuite/libgomp.c/simd-3.c: Same.
10932 * testsuite/libgomp.c/simd-4.c: Same.
10933 * testsuite/libgomp.c/simd-5.c: Same.
10934 * testsuite/libgomp.c/simd-6.c: Same.
10935 * testsuite/libgomp.c/simd-7.c: Same.
10936 * testsuite/libgomp.c/simd-8.c: Same.
10937 * testsuite/libgomp.c/simd-9.c: Same.
10939 2015-06-15 Tom de Vries <tom@codesourcery.com>
10941 * testsuite/libgomp.c/pr35625.c: Fix typo.
10943 2015-06-15 Tom de Vries <tom@codesourcery.com>
10945 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
10947 * testsuite/libgomp.c/atomic-3.c: Same.
10948 * testsuite/libgomp.c/debug-1.c: Same.
10949 * testsuite/libgomp.c/nqueens-1.c: Same.
10950 * testsuite/libgomp.c/pr26171.c: Same.
10951 * testsuite/libgomp.c/pr48591.c: Same.
10952 * testsuite/libgomp.c/pr64824.c: Same.
10953 * testsuite/libgomp.c/pr64868.c: Same.
10954 * testsuite/libgomp.c/pr66133.c: Same.
10955 * testsuite/libgomp.c/pr66199-1.c: Same.
10956 * testsuite/libgomp.c/pr66199-2.c: Same.
10957 * testsuite/libgomp.c/target-8.c: Same.
10959 2015-06-15 Tom de Vries <tom@codesourcery.com>
10961 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
10963 * testsuite/libgomp.c/for-1.c: Same.
10964 * testsuite/libgomp.c/for-2.c: Same.
10965 * testsuite/libgomp.c/for-3.c: Same.
10966 * testsuite/libgomp.c/pr35625.c: Same.
10967 * testsuite/libgomp.c/pr39154.c: Same.
10968 * testsuite/libgomp.c/simd-16.c: Same.
10969 * testsuite/libgomp.c/simd-17.c: Same.
10971 2015-06-13 Tom de Vries <tom@codesourcery.com>
10973 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
10975 2015-06-13 Tom de Vries <tom@codesourcery.com>
10977 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
10978 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
10979 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
10981 (main): Use N instead of hardcoded constants.
10983 2015-06-05 Tom de Vries <tom@codesourcery.com>
10985 merge from gomp4 branch:
10986 2015-05-28 Tom de Vries <tom@codesourcery.com>
10988 PR tree-optimization/65443
10989 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
10990 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
10991 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
10993 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10995 * testsuite/libgomp.graphite/bounds.c: Adjust for
10996 cleanup-tree-dump removal.
10997 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
10998 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10999 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11000 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11001 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11002 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11003 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11004 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11005 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11006 * testsuite/libgomp.graphite/pr41118.c: Likewise.
11008 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
11010 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
11011 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
11012 (futex_wake) [!__x86_64__]: Ditto.
11014 2015-05-28 Julian Brown <julian@codesourcery.com>
11016 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
11017 function comment. Only call gomp_fatal if new argument is true.
11018 (acc_dev_num_out_of_range): New function.
11019 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
11020 acc_dev_num_out_of_range as appropriate.
11021 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11022 (acc_get_device_num, acc_set_device_num): Update calls to
11024 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
11027 2015-05-28 Julian Brown <julian@codesourcery.com>
11030 * oacc-init.c (plugin/plugin-host.h): Include.
11031 (acc_on_device): Check whether we're in an offloaded region for
11033 plugin. Don't use __builtin_acc_on_device.
11034 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
11035 nonshm_exec flag in thread-local data.
11036 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
11037 data for host_nonshm plugin.
11038 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
11039 for host_nonshm plugin.
11040 * plugin/plugin-host.h: New.
11042 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
11044 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
11046 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
11048 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
11050 (FUTEX_PRIVATE_FLAG): Remove L suffix.
11051 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
11054 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
11056 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
11058 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
11060 * target.c (gomp_map_pointer): New function abstracting out
11061 GOMP_MAP_POINTER handling.
11062 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
11063 gomp_map_pointer().
11065 2015-05-19 Jakub Jelinek <jakub@redhat.com>
11067 PR middle-end/66199
11068 * testsuite/libgomp.c/pr66199-1.c: New test.
11069 * testsuite/libgomp.c/pr66199-2.c: New test.
11070 * testsuite/libgomp.c++/pr66199-1.C: New test.
11071 * testsuite/libgomp.c++/pr66199-2.C: New test.
11072 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
11073 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
11075 2015-05-19 Julian Brown <julian@codesourcery.com>
11077 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
11080 2015-05-13 Jakub Jelinek <jakub@redhat.com>
11082 PR middle-end/66133
11083 * testsuite/libgomp.c/pr66133.c: New test.
11085 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11087 * Makefile.in: Regenerated with automake-1.11.6.
11088 * aclocal.m4: Likewise.
11089 * config.h.in: Likewise.
11090 * configure: Likewise.
11091 * testsuite/Makefile.in: Likewise.
11093 2015-05-08 Jason Merrill <jason@redhat.com>
11095 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
11098 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
11100 2015-05-06 Julian Brown <julian@codesourcery.com>
11102 * oacc-init.c (acc_device_lock): Add explanatory comment.
11103 (resolve_device): Add comment about locking requirement.
11104 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
11105 gomp_init_device and gomp_fini_device calls.
11106 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11107 (acc_get_device_num, acc_set_device_num): Add locking around
11108 resolve_device and gomp_init_device calls.
11110 2015-05-06 Julian Brown <julian@codesourcery.com>
11112 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
11113 goacc_thread_lock on error paths.
11114 * oacc-mem.c (lookup_host): Remove locking from function. Note
11115 locking requirement for caller in function comment.
11116 (lookup_dev): Likewise.
11117 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
11118 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
11119 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
11122 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
11126 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
11127 don't expect "0x" prefix for "%p" format specifier, don't expect
11128 "(nil)" for NULL pointer.
11129 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11130 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11131 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11132 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11133 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11134 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11135 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11136 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11137 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11138 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11139 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11140 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11141 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11142 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11143 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11144 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11145 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11146 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11147 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11148 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11149 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11150 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11151 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11152 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11153 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11154 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11155 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11156 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11157 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
11158 accurately specify what we're looking for.
11159 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11160 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11161 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11162 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11163 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11165 2015-04-30 James Norris <jnorris@codesourcery.com>
11168 * testsuite/lib/libgomp.exp
11169 (check_effective_target_openacc_host_selected)
11170 (check_effective_target_openacc_host_nonshm_selected): New
11172 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
11174 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11175 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11176 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11177 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11178 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11179 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11180 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11181 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11182 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11183 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11184 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11185 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11186 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11187 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11188 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11189 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11190 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11191 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11192 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11193 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11194 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11195 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11196 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11197 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11198 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11199 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11200 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11201 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11202 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11203 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11204 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11205 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11206 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11207 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11208 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11209 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11210 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11211 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11212 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11213 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11214 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11215 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11216 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11218 2015-04-08 Julian Brown <julian@codesourcery.com>
11220 * libgomp.h (target_mem_desc: Remove mem_map field.
11221 (acc_dispatch_t): Remove open_device_func, close_device_func,
11222 get_device_num_func, set_device_num_func, target_data members.
11223 Change create_thread_data_func argument to device number instead of
11225 * oacc-async.c (assert.h): Include.
11226 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
11227 (acc_wait_all, acc_wait_all_async): Use current host thread's
11228 active device, not base_dev.
11229 * oacc-cuda.c (acc_get_current_cuda_device)
11230 (acc_get_current_cuda_context, acc_get_cuda_stream)
11231 (acc_set_cuda_stream): Likewise.
11232 * oacc-host.c (host_dispatch): Don't set open_device_func,
11233 close_device_func, get_device_num_func or set_device_num_func.
11234 * oacc-init.c (base_dev, init_key): Remove.
11235 (cached_base_dev): New.
11236 (name_of_acc_device_t): New.
11237 (acc_init_1): Initialise default-numbered device, not zeroth.
11238 (acc_shutdown_1): Close all devices of a given type.
11239 (goacc_destroy_thread): Don't use base_dev.
11240 (lazy_open, lazy_init, lazy_init_and_open): Remove.
11241 (goacc_attach_host_thread_to_device): New.
11242 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
11243 (acc_get_num_devices): Don't use base_dev.
11244 (acc_set_device_type): Reimplement.
11245 (acc_get_device_type): Don't use base_dev.
11246 (acc_get_device_num): Tweak logic.
11247 (acc_set_device_num): Likewise.
11248 (acc_on_device): Use acc_get_device_type.
11249 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
11250 (goacc_lazy_initialize): Reimplement with acc_init and
11251 goacc_attach_host_thread_to_device.
11252 * oacc-int.h (goacc_thread): Add base_dev field.
11253 (base_dev): Remove extern declaration.
11254 (goacc_attach_host_thread_to_device): Add prototype.
11255 * oacc-mem.c (acc_malloc): Use current thread's device instead of
11257 (acc_free): Likewise.
11258 (acc_memcpy_to_device): Likewise.
11259 (acc_memcpy_from_device): Likewise.
11260 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
11261 goacc_lazy_initialize (throughout).
11262 (GOACC_parallel): Use tgt_offset to locate target functions.
11263 * target.c (gomp_map_vars): Don't set tgt->mem_map.
11264 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
11265 (gomp_load_plugin_for_device): Remove open_device, close_device,
11266 get_device_num, set_device_num openacc hook initialisation. Don't set
11267 openacc.target_data.
11268 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
11269 (GOMP_OFFLOAD_openacc_close_device)
11270 (GOMP_OFFLOAD_openacc_get_device_num)
11271 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
11272 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
11274 * plugin/plugin-nvptx.c (ptx_inited): Remove.
11275 (instantiated_devices, ptx_dev_lock): New.
11276 (struct ptx_image_data): New.
11277 (ptx_devices, ptx_images, ptx_image_lock): New.
11278 (fini_streams_for_device): Reorder cuStreamDestroy call.
11279 (nvptx_get_num_devices): Remove forward declaration.
11280 (nvptx_init): Change return type to bool.
11281 (nvptx_fini): Remove.
11282 (nvptx_attach_host_thread_to_device): New.
11283 (nvptx_open_device): Return struct ptx_device* instead of void*.
11284 (nvptx_close_device): Change argument type to struct ptx_device*,
11285 return type to void.
11286 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
11287 (kernel_target_data, kernel_host_table): Remove static globals.
11288 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
11289 (GOMP_OFFLOAD_init_device): Reimplement.
11290 (GOMP_OFFLOAD_fini_device): Likewise.
11291 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
11292 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
11293 (GOMP_OFFLOAD_host2dev): Use ORD argument.
11294 (GOMP_OFFLOAD_openacc_open_device)
11295 (GOMP_OFFLOAD_openacc_close_device)
11296 (GOMP_OFFLOAD_openacc_set_device_num)
11297 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
11298 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
11302 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
11304 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
11306 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
11307 * libgomp.h (struct gomp_memory_mapping): Remove.
11308 (struct target_mem_desc): Change type of mem_map from
11309 gomp_memory_mapping * to splay_tree_s *.
11310 (struct gomp_device_descr): Remove register_image_func, get_table_func.
11311 Add load_image_func, unload_image_func.
11312 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
11313 Remove offload_regions_registered.
11314 (gomp_init_tables): Remove.
11315 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11317 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
11318 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
11319 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
11320 offload_regions_registered.
11321 Initialize load_image_func, unload_image_func, mem_map.root.
11322 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
11323 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
11324 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
11325 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
11326 gomp_memory_mapping *. Use dev's lock and splay_tree.
11327 (lookup_dev): Use dev's lock.
11328 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
11329 (acc_is_present): Likewise.
11330 (acc_map_data): Likewise.
11331 (acc_unmap_data): Likewise. Use dev's lock.
11332 (present_create_copy): Likewise.
11333 (delete_copyout): Pass dev to lookup_host instead of mem_map.
11334 (update_dev_host): Likewise.
11335 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
11336 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
11337 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
11338 (GOMP_OFFLOAD_get_table): Remove
11339 (GOMP_OFFLOAD_load_image): New function.
11340 (GOMP_OFFLOAD_unload_image): New function.
11341 * target.c (register_lock): New mutex for offload image registration.
11342 (num_devices): Do not guard with PLUGIN_SUPPORT.
11343 (gomp_realloc_unlock): New static function.
11344 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
11346 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
11347 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
11348 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
11350 (gomp_unmap_vars): Likewise.
11351 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
11352 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
11353 (gomp_offload_image_to_device): New static function.
11354 (GOMP_offload_register): Add mutex lock.
11355 Call gomp_offload_image_to_device for all initialized devices.
11356 Replace gomp_realloc with gomp_realloc_unlock.
11357 (GOMP_offload_unregister): New function.
11358 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
11359 get_table_func from the plugin with calls to init_device_func and
11360 gomp_offload_image_to_device.
11361 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
11363 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
11364 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
11365 (GOMP_target_data): Do not call gomp_init_tables.
11366 (GOMP_target_update): Likewise. Remove argument from gomp_update.
11367 (gomp_load_plugin_for_device): Replace register_image and get_table
11368 with load_image and unload_image in DLSYM ().
11369 (gomp_register_images_for_device): Remove function.
11370 (gomp_target_init): Do not initialize current_device.mem_map.*,
11371 current_device.offload_regions_registered.
11372 Remove call to gomp_register_images_for_device.
11373 Do not free offload_images and num_offload_images.
11375 2015-03-30 Jakub Jelinek <jakub@redhat.com>
11378 * testsuite/libgomp.fortran/pr65597.f90: New test.
11380 2015-03-27 Tom de Vries <tom@codesourcery.com>
11383 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
11384 (init, check): New function.
11385 (foo): Change return type to void.
11386 (main): Call init and check.
11388 2015-03-27 Tom de Vries <tom@codesourcery.com>
11391 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
11392 (foo): Use M for non-inner loops to scale down test-case.
11394 2015-03-25 Kai Tietz <ktietz@redhat.com>
11397 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
11398 (GOACC_data_start): Likewise.
11399 * target.c (gomp_map_vars): Likewise.
11401 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
11403 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
11406 2015-03-19 Jakub Jelinek <jakub@redhat.com>
11408 * testsuite/libgomp.c/target-10.c: New test.
11409 * testsuite/libgomp.c++/target-4.C: New test.
11411 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
11413 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
11414 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
11416 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
11418 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
11419 * configure.ac (*-*-rtems*): Assume Pthread is supported.
11420 (pthread.h): Check for this header file.
11421 * configure: Regenerate.
11423 2015-02-25 Tom de Vries <tom@codesourcery.com>
11425 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
11426 (check_reduction_op, check_reduction_macro, max, min):
11428 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
11430 (main): Use new functions.
11432 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
11434 * target.c (gomp_load_plugin_for_device): Use const char * instead of
11435 char * for variables holding dlerror return values.
11436 (DLSYM_OPT): Ditto.
11438 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11440 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
11442 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
11443 Cesar Philippidis <cesar@codesourcery.com>
11445 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
11446 GOACC_ctaid, and GOACC_nctaid routines.
11448 2015-02-11 Jakub Jelinek <jakub@redhat.com>
11451 * testsuite/libgomp.c/atomic-18.c: New test.
11452 * testsuite/libgomp.c++/atomic-16.C: New test.
11454 2015-02-04 Jakub Jelinek <jakub@redhat.com>
11458 * testsuite/libgomp.c/pr64824.c: New test.
11459 * testsuite/libgomp.c/pr64868.c: New test.
11460 * testsuite/libgomp.c++/pr64824.C: New test.
11461 * testsuite/libgomp.c++/pr64868.C: New test.
11463 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
11466 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
11467 Link with -lpthread.
11468 * config/aix/plugin-suffix.h: Delete.
11470 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
11473 * configure.tgt (*-*-aix*): Use config_path "aix posix".
11474 (*-*-darwin*): Use config_path "bsd darwin posix".
11475 (*-*-hpux*): Use config_path "hpux posix".
11476 * target.c: Add include of plugin-suffix.h and use
11477 SONAME_SUFFIX macro.
11478 * config/aix/plugin-suffix.h: New file.
11479 * config/darwin/plugin-suffix.h: New file.
11480 * config/hpux/plugin-suffix.h: New file.
11481 * config/posix/plugin-suffix.h: New file.
11483 2015-01-23 Jakub Jelinek <jakub@redhat.com>
11485 PR middle-end/64734
11486 * libgomp.c/pr64734.c: New test.
11488 2015-01-23 Tom de Vries <tom@codesourcery.com>
11491 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
11493 2015-01-23 Tom de Vries <tom@codesourcery.com>
11496 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
11499 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
11502 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
11503 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
11504 formal parameter. Update all users.
11505 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
11506 Document unused formal parameter.
11508 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
11510 * oacc-parallel.c: Don't include <alloca.h>.
11511 (GOACC_parallel): Use gomp_alloca instead of alloca.
11513 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
11515 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
11517 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
11518 James Norris <jnorris@codesourcery.com>
11519 Tom de Vries <tom@codesourcery.com>
11520 Julian Brown <julian@codesourcery.com>
11521 Cesar Philippidis <cesar@codesourcery.com>
11522 Nathan Sidwell <nathan@codesourcery.com>
11523 Tobias Burnus <burnus@net-b.de>
11525 * Makefile.am (search_path): Add $(top_srcdir)/../include.
11526 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
11527 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
11528 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
11529 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
11530 Include $(top_srcdir)/plugin/Makefrag.am.
11531 (nodist_libsubinclude_HEADERS): Add openacc.h.
11532 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
11533 openacc.f90, openacc.mod, openacc_kinds.mod.
11534 (omp_lib.mod): Generalize into...
11535 (%.mod): ... this new rule.
11536 (openacc_kinds.mod, openacc.mod): New rules.
11537 * plugin/configfrag.ac: New file.
11538 * configure.ac: Move plugin/offloading support into it. Include
11539 it. Instantiate testsuite/libgomp-test-support.pt.exp.
11540 * plugin/Makefrag.am: New file.
11541 * testsuite/Makefile.am (OFFLOAD_TARGETS)
11542 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
11544 (libgomp-test-support.exp): New rule.
11545 (all-local): Depend on it.
11546 * Makefile.in: Regenerate.
11547 * testsuite/Makefile.in: Regenerate.
11548 * config.h.in: Likewise.
11549 * configure: Likewise.
11550 * configure.tgt: Harden shell syntax.
11551 * env.c: Include "oacc-int.h".
11552 (parse_acc_device_type): New function.
11553 (gomp_debug_var, goacc_device_type, goacc_device_num): New
11555 (initialize_env): Initialize those. Call
11556 goacc_runtime_initialize.
11557 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
11558 (gomp_fatal): Call gomp_vfatal.
11559 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
11560 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
11561 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
11562 (splay_tree_node, splay_tree, splay_tree_key)
11563 (struct target_mem_desc, struct splay_tree_key_s)
11564 (struct gomp_memory_mapping, struct acc_dispatch_t)
11565 (struct gomp_device_descr, gomp_acc_insert_pointer)
11566 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
11567 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
11568 (gomp_free_memmap, gomp_fini_device): New declarations.
11569 (gomp_vdebug, gomp_debug): New macros.
11570 Include "splay-tree.h".
11571 * libgomp.map (OACC_2.0): New symbol version. Use for
11572 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
11573 acc_set_device_type_h_, acc_get_device_type,
11574 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
11575 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
11576 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
11577 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
11578 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
11579 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
11580 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
11581 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
11582 acc_copyin_array_h_, acc_present_or_copyin,
11583 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
11584 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
11585 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
11586 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
11587 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
11588 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
11589 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
11590 acc_update_device, acc_update_device_32_h_,
11591 acc_update_device_64_h_, acc_update_device_array_h_,
11592 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
11593 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
11594 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
11595 acc_is_present_64_h_, acc_is_present_array_h_,
11596 acc_memcpy_to_device, acc_memcpy_from_device,
11597 acc_get_current_cuda_device, acc_get_current_cuda_context,
11598 acc_get_cuda_stream, acc_set_cuda_stream.
11599 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
11600 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
11601 GOACC_update, GOACC_wait, GOACC_get_thread_num,
11602 GOACC_get_num_threads.
11603 (GOMP_PLUGIN_1.0): New symbol version. Use for
11604 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
11605 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
11606 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
11607 GOMP_PLUGIN_acc_thread.
11608 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
11609 environment variable.
11610 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
11611 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
11612 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
11613 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
11614 (splay_tree_remove): New declarations.
11615 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
11616 (splay_tree_remove, splay_tree_lookup): Move into...
11617 * splay-tree.c: ... this new file.
11618 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
11619 (splay_tree_node, splay_tree, splay_tree_key)
11620 (struct target_mem_desc, struct splay_tree_key_s)
11621 (struct gomp_device_descr): Don't declare.
11622 (num_devices_openmp): New variable.
11623 (gomp_get_num_devices ): Use it.
11624 (gomp_init_targets_once): New function.
11625 (gomp_get_num_devices ): Use it.
11626 (get_kind, gomp_copy_from_async, gomp_free_memmap)
11627 (gomp_fini_device, gomp_register_image_for_device): New functions.
11628 (gomp_map_vars): Add devaddrs parameter.
11629 (gomp_update): Add mm parameter.
11630 (gomp_init_device): Move most of it into...
11631 (gomp_init_tables): ... this new function.
11632 (gomp_register_images_for_device): Remove function.
11633 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
11634 Make them hidden instead of static.
11635 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
11636 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
11637 (GOMP_target_end_data, GOMP_target_update)
11638 (gomp_load_plugin_for_device, gomp_target_init): Update for
11640 * oacc-async.c: New file.
11641 * oacc-cuda.c: Likewise.
11642 * oacc-host.c: Likewise.
11643 * oacc-init.c: Likewise.
11644 * oacc-int.h: Likewise.
11645 * oacc-mem.c: Likewise.
11646 * oacc-parallel.c: Likewise.
11647 * oacc-plugin.c: Likewise.
11648 * oacc-plugin.h: Likewise.
11649 * oacc-ptx.h: Likewise.
11650 * openacc.f90: Likewise.
11651 * openacc.h: Likewise.
11652 * openacc_lib.h: Likewise.
11653 * plugin/plugin-host.c: Likewise.
11654 * plugin/plugin-nvptx.c: Likewise.
11655 * libgomp-plugin.c: Likewise.
11656 * libgomp-plugin.h: Likewise.
11657 * libgomp_target.h: Remove file after merging content into the
11658 former file. Update all users.
11659 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
11660 (offload_targets_s, offload_targets_s_openacc): New variables.
11661 (check_effective_target_openacc_nvidia_accel_present)
11662 (check_effective_target_openacc_nvidia_accel_selected): New
11664 (libgomp_init): Update for OpenACC changes.
11665 * testsuite/libgomp-test-support.exp.in: New file.
11666 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
11667 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11668 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11669 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
11670 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
11671 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11672 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
11673 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11674 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
11675 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
11676 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
11677 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11678 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
11679 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11680 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
11681 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11682 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
11683 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
11684 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
11685 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
11686 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
11687 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
11688 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11689 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11690 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11691 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11692 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11693 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11694 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11695 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11696 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11697 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
11698 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
11699 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
11700 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
11701 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11702 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
11703 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11704 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
11705 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
11706 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11707 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11708 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11709 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11710 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11711 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
11712 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11713 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11714 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11715 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11716 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11717 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11718 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11719 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11720 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11721 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11722 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11723 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11724 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11725 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
11726 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11727 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
11728 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11729 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11730 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11731 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
11732 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
11733 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11734 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11735 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11736 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
11737 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11738 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11739 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11740 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
11741 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
11742 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11743 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11744 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
11745 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
11746 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
11747 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
11748 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11749 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11750 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11751 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
11752 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
11753 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11754 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11755 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
11756 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
11757 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
11758 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
11759 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11760 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11761 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11762 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11763 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
11764 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11765 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11766 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
11767 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
11768 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
11769 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11770 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
11771 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
11772 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
11773 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
11774 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
11775 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11776 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
11777 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
11778 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11779 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
11780 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
11781 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11782 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
11783 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
11784 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
11785 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
11786 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
11787 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
11788 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
11789 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
11790 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
11791 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
11792 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
11793 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
11794 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
11795 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
11796 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
11797 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
11798 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11799 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
11800 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
11801 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
11802 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
11803 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
11804 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
11805 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
11807 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
11808 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
11809 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
11810 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
11811 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
11812 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11813 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11814 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11815 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11816 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11817 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11818 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11819 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11820 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11821 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11822 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11823 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11824 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11825 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11826 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11827 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11828 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11829 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11830 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11831 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11832 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11833 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11834 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11835 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11836 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11837 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11838 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11839 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11840 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11841 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11842 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11843 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11844 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11845 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11846 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11847 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11848 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11849 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11850 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11851 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11852 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11853 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11854 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11855 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11856 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11857 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11858 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11859 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11860 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11861 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11862 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11863 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11864 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11865 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11866 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11868 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
11869 Julian Brown <julian@codesourcery.com>
11870 David Malcolm <dmalcolm@redhat.com>
11872 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
11873 to "GNU Offloading and Multi Processing Runtime Library". Change
11875 * configure: Regenerate.
11876 * libgomp.texi: Update.
11878 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
11880 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
11882 * configure: Regenerate.
11884 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
11885 "intelmic" in $offload_targets.
11887 2015-01-05 Jakub Jelinek <jakub@redhat.com>
11889 Update copyright years.
11891 * libgomp.texi: Bump @copying's copyright year.
11893 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11895 * testsuite/lib/libgomp.exp: Load target-utils.exp.
11896 Move load of target-supports.exp earlier.
11898 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
11900 * testsuite/libgomp.c/target-9.c: New test.
11902 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
11904 * config.h.in: Regenerate.
11905 * configure: Regenerate.
11906 * configure.ac: Add GCC_CHECK_EMUTLS.
11907 * libgomp.h: Add check for USE_EMUTLS: this case
11908 is equal to HAVE_TLS.
11909 * team.c: Likewise.
11911 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
11913 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
11915 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
11916 Ilya Verbin <ilya.verbin@intel.com>
11918 * testsuite/libgomp.c/target-critical-1.c: New test.
11920 2014-11-26 Jakub Jelinek <jakub@redhat.com>
11922 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
11923 to dg-options unless expensive testing is on.
11924 (TESTITERS): Define to N if not defined.
11925 (main): Use TESTITERS instead of N.
11926 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
11927 dg-additional-options depending on whether expensive testing is on.
11928 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
11929 Decrease N to 100000 and CHUNKSZ to 10000.
11931 2014-11-24 Jakub Jelinek <jakub@redhat.com>
11934 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
11935 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
11937 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
11939 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
11941 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
11944 * configure: Regenerated.
11946 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
11948 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
11949 vect_simd_clones effective target.
11950 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
11952 2014-11-14 Jakub Jelinek <jakub@redhat.com>
11954 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
11955 of 32 as block_size.
11956 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
11957 instead of 32 as block_size.
11959 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
11960 Ilya Verbin <ilya.verbin@intel.com>
11962 * Makefile.in: Regenerate.
11963 * configure: Regenerate.
11964 * configure.ac: Set up offload_additional_options,
11965 offload_additional_lib_paths and offload_targets.
11966 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
11967 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
11968 * testsuite/Makefile.in: Regenerate.
11969 * testsuite/lib/libgomp.exp (libgomp_init): Append
11970 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
11971 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
11972 build directory to LD_LIBRARY_PATH for intelmic offload targets.
11974 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
11975 Ilya Verbin <ilya.verbin@intel.com>
11976 Kirill Yukhin <kirill.yukhin@intel.com>
11977 Ilya Tocar <ilya.tocar@intel.com>
11979 * testsuite/lib/libgomp.exp
11980 (check_effective_target_offload_device): New.
11981 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
11982 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
11983 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
11984 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
11985 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
11986 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
11987 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
11988 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
11989 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
11990 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
11991 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
11992 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
11993 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
11994 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
11995 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
11996 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
11997 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
11998 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
11999 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12000 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12001 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12002 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
12003 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
12004 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
12005 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
12006 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
12007 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
12008 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
12009 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
12010 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
12011 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
12012 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
12013 * testsuite/libgomp.c/target-7.c: Fix test.
12014 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
12015 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
12016 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
12017 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
12018 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
12019 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
12020 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
12021 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
12022 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
12023 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
12024 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
12025 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
12026 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
12027 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
12028 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
12029 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
12030 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
12031 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
12032 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12033 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
12034 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
12035 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
12036 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
12037 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
12038 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
12039 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
12040 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
12041 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
12042 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
12043 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
12044 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
12046 2014-11-13 Jakub Jelinek <jakub@redhat.com>
12047 Ilya Verbin <ilya.verbin@intel.com>
12048 Thomas Schwinge <thomas@codesourcery.com>
12049 Andrey Turetskiy <andrey.turetskiy@intel.com>
12051 * libgomp.map (GOMP_4.0.1): New symbol version.
12052 Add GOMP_offload_register.
12053 * libgomp_target.h: New file.
12054 * splay-tree.h: New file.
12055 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
12056 (gomp_target_init): New forward declaration.
12057 (gomp_is_initialized): New static variable.
12058 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
12059 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
12061 (offload_images, num_offload_images, devices, num_devices): New static
12063 (splay_compare): New static function.
12064 (struct gomp_device_descr): New structure.
12065 (gomp_get_num_devices): Call gomp_target_init.
12066 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
12067 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
12068 (GOMP_offload_register): New function.
12069 (GOMP_target): Arrange for host callback to be performed in a separate
12070 initial thread and contention group, inheriting ICVs from
12071 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
12072 Add device initialization and lookup for target function in splay tree.
12073 (GOMP_target_data): Add device initialization and call gomp_map_vars.
12074 (GOMP_target_end_data): Call gomp_unmap_vars.
12075 (GOMP_target_update): Add device initialization and call gomp_update.
12076 (gomp_load_plugin_for_device, gomp_register_images_for_device)
12077 (gomp_target_init): New static functions.
12079 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
12080 Thomas Schwinge <thomas@codesourcery.com>
12081 Ilya Verbin <ilya.verbin@intel.com>
12082 Andrey Turetskiy <andrey.turetskiy@intel.com>
12084 * config.h.in: Regenerate.
12085 * configure: Regenerate.
12086 * configure.ac: Check for libdl, required for plugin support.
12087 (PLUGIN_SUPPORT): Define if plugins are supported.
12088 (enable_offload_targets): Support Intel MIC targets.
12089 (OFFLOAD_TARGETS): List of target names suitable for offloading.
12091 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12094 * configure: Regenerate.
12096 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12098 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
12100 2014-10-06 Marek Polacek <polacek@redhat.com>
12102 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
12103 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
12104 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
12105 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12107 2014-10-06 Marek Polacek <polacek@redhat.com>
12109 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
12110 * testsuite/libgomp.c/nqueens-1.c: Likewise.
12111 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12112 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12113 * testsuite/libgomp.c/pr36802-2.c: Likewise.
12114 * testsuite/libgomp.c/pr36802-3.c: Likewise.
12115 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
12116 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12117 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
12118 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
12119 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
12120 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
12121 * testsuite/libgomp.c/omp-single-1.c: Likewise.
12122 * testsuite/libgomp.c/omp-single-2.c: Likewise.
12123 * testsuite/libgomp.c/omp_matvec.c: Likewise.
12124 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
12125 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
12126 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
12129 2014-10-03 Jakub Jelinek <jakub@redhat.com>
12132 * testsuite/libgomp.c/pr61200.c: New test.
12134 2014-09-18 Jakub Jelinek <jakub@redhat.com>
12137 * testsuite/libgomp.c++/pr63248.C: New test.
12139 2014-08-04 Jakub Jelinek <jakub@redhat.com>
12141 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
12142 is not zero, but taskgroup->children is NULL and there are
12143 any task->children, schedule those instead of waiting.
12144 * testsuite/libgomp.c/depend-6.c: New test.
12145 * testsuite/libgomp.c/depend-7.c: New test.
12146 * testsuite/libgomp.c/depend-8.c: New test.
12147 * testsuite/libgomp.c/depend-9.c: New test.
12148 * testsuite/libgomp.c/depend-10.c: New test.
12150 2014-08-01 Jakub Jelinek <jakub@redhat.com>
12152 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
12153 (struct gomp_taskwait): New type.
12154 (struct gomp_task): Add taskwait and parent_depends_on, remove
12155 in_taskwait and taskwait_sem fields.
12156 (gomp_finish_task): Don't destroy taskwait_sem.
12157 * task.c (gomp_init_task): Don't init in_taskwait, instead init
12158 taskwait and parent_depends_on.
12159 (GOMP_task): For if (0) tasks with depend clause that depend on
12160 earlier tasks don't defer them, instead call
12161 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
12162 Initialize redundant_out field, for redundant out entries just
12163 move them at the end of linked list instead of removing them
12164 completely, and set redundant_out flag instead of redundant.
12165 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
12167 (gomp_task_run_post_handle_dependers): If parent is in
12168 gomp_task_maybe_wait_for_dependencies and newly runnable task
12169 is not parent_depends_on, queue it in parent->children linked
12170 list after all runnable tasks with parent_depends_on set.
12171 Adjust for addition of taskwait indirection.
12172 (gomp_task_run_post_remove_parent): If parent is in
12173 gomp_task_maybe_wait_for_dependencies and task to be removed
12174 is parent_depends_on, decrement n_depend and if needed awake
12175 parent. Adjust for addition of taskwait indirection.
12176 (GOMP_taskwait): Adjust for addition of taskwait indirection.
12177 (gomp_task_maybe_wait_for_dependencies): New function.
12178 * testsuite/libgomp.c/depend-5.c: New test.
12180 2014-07-13 Tobias Burnus <burnus@net-b.de>
12182 * testsuite/libgomp.fortran/pr34020.f90: Make compile
12183 with TS 18508/Fortran 2015.
12185 2014-07-06 Marek Polacek <polacek@redhat.com>
12188 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
12190 2014-07-03 Jakub Jelinek <jakub@redhat.com>
12192 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
12193 matches regex $lang_source_re, add $lang_include_flags to options.
12194 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
12195 * testsuite/libgomp.c++/c++.exp: Likewise.
12196 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
12197 and lang_include_flags instead of adding -fintrinsic-modules-path= to
12199 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
12201 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
12203 * testsuite/libgomp.fortran/fortran.exp: Explain
12204 gfortran-dg-runtest usage.
12206 2014-06-25 Jakub Jelinek <jakub@redhat.com>
12208 * testsuite/libgomp.fortran/simd5.f90: New test.
12209 * testsuite/libgomp.fortran/simd6.f90: New test.
12210 * testsuite/libgomp.fortran/simd7.f90: New test.
12212 2014-06-24 Jakub Jelinek <jakub@redhat.com>
12214 * testsuite/libgomp.c/for-2.c: Define SC to static for
12215 #pragma omp for simd testing.
12216 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
12217 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
12219 * testsuite/libgomp.c/simd-14.c: New test.
12220 * testsuite/libgomp.c/simd-15.c: New test.
12221 * testsuite/libgomp.c/simd-16.c: New test.
12222 * testsuite/libgomp.c/simd-17.c: New test.
12223 * testsuite/libgomp.c++/for-10.C: Define SC to static for
12224 #pragma omp for simd testing.
12225 * testsuite/libgomp.c++/simd10.C: New test.
12226 * testsuite/libgomp.c++/simd11.C: New test.
12227 * testsuite/libgomp.c++/simd12.C: New test.
12228 * testsuite/libgomp.c++/simd13.C: New test.
12230 * testsuite/libgomp.fortran/aligned1.f03: New test.
12231 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
12232 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
12233 tasks with !$omp parallel !$omp single.
12234 * testsuite/libgomp.fortran/target8.f90: New test.
12235 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
12236 not to use trim in the combiner, instead call elemental function.
12237 (fn): New elemental function.
12238 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
12240 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
12242 * testsuite/libgomp.fortran/udr12.f90: New test.
12243 * testsuite/libgomp.fortran/udr13.f90: New test.
12244 * testsuite/libgomp.fortran/udr14.f90: New test.
12245 * testsuite/libgomp.fortran/udr15.f90: New test.
12247 2014-06-18 Jakub Jelinek <jakub@redhat.com>
12249 * omp_lib.f90.in (openmp_version): Set to 201307.
12250 * omp_lib.h.in (openmp_version): Likewise.
12251 * testsuite/libgomp.c/target-8.c: New test.
12252 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
12253 and inbranch clauses.
12254 * testsuite/libgomp.fortran/depend-3.f90: New test.
12255 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
12257 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12258 * testsuite/libgomp.fortran/target1.f90: New test.
12259 * testsuite/libgomp.fortran/target2.f90: New test.
12260 * testsuite/libgomp.fortran/target3.f90: New test.
12261 * testsuite/libgomp.fortran/target4.f90: New test.
12262 * testsuite/libgomp.fortran/target5.f90: New test.
12263 * testsuite/libgomp.fortran/target6.f90: New test.
12264 * testsuite/libgomp.fortran/target7.f90: New test.
12266 2014-06-10 Jakub Jelinek <jakub@redhat.com>
12269 * testsuite/libgomp.fortran/allocatable9.f90: New test.
12270 * testsuite/libgomp.fortran/allocatable10.f90: New test.
12271 * testsuite/libgomp.fortran/allocatable11.f90: New test.
12272 * testsuite/libgomp.fortran/allocatable12.f90: New test.
12273 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
12274 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
12275 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
12276 * testsuite/libgomp.fortran/associate1.f90: New test.
12277 * testsuite/libgomp.fortran/associate2.f90: New test.
12278 * testsuite/libgomp.fortran/procptr1.f90: New test.
12280 2014-06-06 Jakub Jelinek <jakub@redhat.com>
12282 * testsuite/libgomp.fortran/simd1.f90: New test.
12283 * testsuite/libgomp.fortran/udr1.f90: New test.
12284 * testsuite/libgomp.fortran/udr2.f90: New test.
12285 * testsuite/libgomp.fortran/udr3.f90: New test.
12286 * testsuite/libgomp.fortran/udr4.f90: New test.
12287 * testsuite/libgomp.fortran/udr5.f90: New test.
12288 * testsuite/libgomp.fortran/udr6.f90: New test.
12289 * testsuite/libgomp.fortran/udr7.f90: New test.
12290 * testsuite/libgomp.fortran/udr8.f90: New test.
12291 * testsuite/libgomp.fortran/udr9.f90: New test.
12292 * testsuite/libgomp.fortran/udr10.f90: New test.
12293 * testsuite/libgomp.fortran/udr11.f90: New test.
12295 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
12297 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
12298 vect_simd_clones effective target.
12299 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
12301 2014-05-21 Jakub Jelinek <jakub@redhat.com>
12303 PR middle-end/61252
12304 * testsuite/libgomp.c++/simd-9.C: New test.
12306 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
12308 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
12309 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
12310 texts according to their @menu entry positions.
12312 2014-05-11 Jakub Jelinek <jakub@redhat.com>
12314 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
12315 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
12316 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
12317 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
12318 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
12319 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
12320 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
12321 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
12322 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
12323 * testsuite/libgomp.fortran/depend-1.f90: New test.
12324 * testsuite/libgomp.fortran/depend-2.f90: New test.
12325 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
12326 * testsuite/libgomp.fortran/simd1.f90: New test.
12327 * testsuite/libgomp.fortran/simd2.f90: New test.
12328 * testsuite/libgomp.fortran/simd3.f90: New test.
12329 * testsuite/libgomp.fortran/simd4.f90: New test.
12330 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
12332 2014-05-02 Jakub Jelinek <jakub@redhat.com>
12334 * testsuite/libgomp.c/simd-10.c: New test.
12335 * testsuite/libgomp.c/simd-11.c: New test.
12336 * testsuite/libgomp.c/simd-12.c: New test.
12337 * testsuite/libgomp.c/simd-13.c: New test.
12339 2014-04-24 Jakub Jelinek <jakub@redhat.com>
12341 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
12342 atomic type clauses in any order and optional comma in between.
12343 * testsuite/libgomp.c++/atomic-15.C: Likewise.
12344 * testsuite/libgomp.c/atomic-17.c: Likewise.
12346 * testsuite/libgomp.c/simd-7.c: New test.
12347 * testsuite/libgomp.c/simd-8.c: New test.
12348 * testsuite/libgomp.c/simd-9.c: New test.
12349 * testsuite/libgomp.c/loop-16.c: New test.
12351 2014-04-02 Richard Henderson <rth@redhat.com>
12353 * config/linux/futex.h (futex_wait): Get error value from errno.
12354 (futex_wake): Likewise.
12356 2014-03-25 Jakub Jelinek <jakub@redhat.com>
12359 * testsuite/libgomp.c++/udr-11.C: New test.
12360 * testsuite/libgomp.c++/udr-12.C: New test.
12361 * testsuite/libgomp.c++/udr-13.C: New test.
12362 * testsuite/libgomp.c++/udr-14.C: New test.
12363 * testsuite/libgomp.c++/udr-15.C: New test.
12364 * testsuite/libgomp.c++/udr-16.C: New test.
12365 * testsuite/libgomp.c++/udr-17.C: New test.
12366 * testsuite/libgomp.c++/udr-18.C: New test.
12367 * testsuite/libgomp.c++/udr-19.C: New test.
12369 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12371 Update copyright years
12373 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
12375 * hashtab.h: Use the standard form for the copyright notice.
12377 2014-01-02 Tobias Burnus <burnus@net-b.de>
12379 * libgomp.texi: Bump @copying's copyright year.
12381 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
12383 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
12384 alloca () with __builtin_alloca ().
12385 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
12386 * testsuite/libgomp.c/lock-3.c: Likewise.
12387 * testsuite/libgomp.c/pr48591.c: Likewise.
12389 2013-12-17 Jakub Jelinek <jakub@redhat.com>
12392 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
12395 2013-12-16 Jakub Jelinek <jakub@redhat.com>
12398 * testsuite/libgomp.c/pr58756.c: New test.
12400 2013-12-12 Jakub Jelinek <jakub@redhat.com>
12403 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
12406 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
12408 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
12410 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
12411 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
12412 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
12413 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
12416 * libgomp_g.h: Include <stddef.h> for size_t.
12418 * libgomp.spec.in: Update comment about libgomp's dependencies.
12419 * configure.ac: Likewise.
12420 * configure: Regenerate.
12422 2013-10-16 Tobias Burnus <burnus@net-b.de>
12424 * libgomp.texi: (Runtime Library Routines): Update references for
12425 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
12426 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
12427 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
12428 (Environment Variables): Update references for OpenMP 4.0. Add
12429 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
12430 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
12433 2013-10-14 Jakub Jelinek <jakub@redhat.com>
12435 * env.c (parse_bind_var): Initialize value to avoid
12436 (false positive) warning.
12438 2013-10-12 Jakub Jelinek <jakub@redhat.com>
12441 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
12443 (gomp_init_num_threads): Move i variable declaration into
12444 #ifdef CPU_ALLOC_SIZE block.
12445 * config/linux/affinity.c (gomp_affinity_init_level): Test
12446 gomp_places_list_len == 0 rather than gomp_places_list == 0
12447 when checking for topology reading error.
12448 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
12449 * env.c (parse_affinity): Add ignore argument, if true, don't populate
12450 gomp_places_list, only parse env var and always return false.
12451 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
12452 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
12453 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
12454 and either of these variables were parsed correctly into a places
12457 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12458 Jakub Jelinek <jakub@redhat.com>
12460 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
12461 of 5 loopfn matches.
12462 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12463 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12464 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12465 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12466 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12467 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12468 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12469 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12471 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
12473 * Makefile.am (omp_lib.mod): Streamline rule.
12474 * Makefile.in: Regenerate.
12476 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
12479 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
12480 * testsuite/libgomp.fortran/lib1.f90: Likewise.
12481 * testsuite/libgomp.fortran/lib2.f: Likewise.
12482 * testsuite/libgomp.fortran/lib3.f: Likewise.
12484 * configure.ac: Typo fix.
12485 * configure: Regenerate.
12487 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
12488 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12490 * omp.h.in: Don't touch the user's namespace.
12492 2013-10-11 Jakub Jelinek <jakub@redhat.com>
12493 Tobias Burnus <burnus@net-b.de>
12494 Richard Henderson <rth@redhat.com>
12496 * target.c: New file.
12497 * Makefile.am (libgomp_la_SOURCES): Add target.c.
12498 * Makefile.in: Regenerated.
12499 * libgomp_g.h (GOMP_task): Add depend argument.
12500 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12501 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12502 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
12503 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12504 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12505 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
12506 GOMP_taskgroup_start, GOMP_taskgroup_end,
12507 GOMP_parallel_sections): New prototypes.
12508 * fortran.c (omp_is_initial_device): Add ialias_redirect.
12509 (omp_is_initial_device_): New function.
12510 (ULP, STR1, STR2, ialias_redirect): Removed.
12511 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
12512 omp_set_default_device_8_, omp_get_default_device_,
12513 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
12515 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
12516 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
12517 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
12519 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
12520 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
12521 omp_set_default_device, omp_set_default_device_,
12522 omp_set_default_device_8_, omp_get_default_device,
12523 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
12524 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
12525 omp_get_team_num_): Export @@OMP_4.0.
12526 * team.c (struct gomp_thread_start_data): Add place field.
12527 (gomp_thread_start): Clear thr->thread_pool and
12528 thr->task before returning. Use gomp_team_barrier_wait_final
12529 instead of gomp_team_barrier_wait. Initialize thr->place.
12530 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
12531 team_cancelled and task_queued_count fields.
12532 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
12533 before calling pthread_exit.
12534 (gomp_free_thread): No longer static. Use
12535 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
12536 (gomp_team_start): Add flags argument. Set
12537 thr->thread_pool->threads_busy to nthreads immediately after creating
12538 new pool. Use gomp_managed_threads_lock instead of
12539 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
12540 (gomp_team_end): Use gomp_managed_threads_lock instead of
12541 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
12542 of gomp_team_barrier_wait. If team->team_cancelled, call
12543 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
12544 rather than thr->ts.work_share.
12545 (initialize_team): Don't call gomp_sem_init here.
12546 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
12548 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
12549 * env.c (gomp_global_icv): Add default_device_var, target_data and
12550 bind_var initializers.
12551 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12552 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12553 gomp_places_list_len): New variables.
12554 (parse_bind_var, parse_one_place, parse_places_var): New functions.
12555 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
12557 (gomp_cancel_var): New global variable.
12558 (parse_int): New function.
12559 (handle_omp_display_env): New function.
12560 (initialize_env): Use it. Initialize default_device_var.
12561 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
12562 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
12563 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
12564 been successfully parsed (and call gomp_init_affinity in that case).
12565 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12566 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12567 omp_get_team_num, omp_is_initial_device): New functions.
12568 * libgomp.h: Include stdlib.h.
12569 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
12571 (struct target_mem_desc): Forward declare.
12572 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
12573 and thread_limit_var fields.
12574 (gomp_get_num_devices): New prototype.
12575 (gomp_cancel_var): New extern decl.
12576 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
12577 team_cancelled and task_queued_count fields. Add comments about
12578 task_{,queued_,running_}count.
12579 (gomp_cancel_kind): New enum.
12580 (gomp_work_share_end_cancel): New prototype.
12581 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
12582 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
12584 (struct gomp_taskgroup): New type.
12585 (struct gomp_task_depend_entry,
12586 struct gomp_dependers_vec): New types.
12587 (gomp_finish_task): Free depend_hash if non-NULL.
12588 (struct gomp_team_state): Add place_partition_off
12589 and place_partition_len fields.
12590 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
12591 gomp_places_list_len): New extern decls.
12592 (struct gomp_thread): Add place field.
12593 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
12594 (gomp_init_thread_affinity): Add place argument.
12595 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12596 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12597 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12598 gomp_affinity_init_level, gomp_affinity_print_place): New
12600 (gomp_team_start): Add flags argument.
12601 (gomp_thread_limit_var, gomp_remaining_threads_count,
12602 gomp_remaining_threads_lock): Remove.
12603 (gomp_managed_threads_lock): New variable.
12604 (struct gomp_thread_pool): Add threads_busy field.
12605 (gomp_free_thread): New prototype.
12606 * task.c: Include hashtab.h.
12607 (hash_entry_type): New typedef.
12608 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
12609 (gomp_init_task): Clear dependers, depend_hash, depend_count,
12610 copy_ctors_done and taskgroup fields.
12611 (GOMP_task): Add depend argument, handle depend clauses. If
12612 gomp_team_barrier_cancelled or if it's taskgroup has been
12613 cancelled, don't queue or start new tasks. Set copy_ctors_done
12614 field if needed. Initialize taskgroup field. If copy_ctors_done
12615 and already cancelled, don't discard the task. If taskgroup is
12616 non-NULL, enqueue the task into taskgroup queue. Increment
12617 num_children field in taskgroup. Increment task_queued_count.
12618 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
12619 gomp_task_run_post_remove_taskgroup): New inline functions.
12620 (gomp_task_run_post_handle_depend_hash,
12621 gomp_task_run_post_handle_dependers,
12622 gomp_task_run_post_handle_depend): New functions.
12623 (GOMP_taskwait): Use them. If more than one new tasks
12624 have been queued, wake other threads if needed.
12625 (gomp_barrier_handle_tasks): Likewise. If
12626 gomp_team_barrier_cancelled, don't start any new tasks, just free
12628 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
12630 (omp_proc_bind_kind, omp_proc_bind_false,
12631 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12632 omp_proc_bind_spread): New params.
12633 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12634 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12635 omp_get_team_num, omp_is_initial_device): New interfaces.
12636 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
12637 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
12638 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
12639 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
12640 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
12641 useless use omp_lib_kinds.
12642 * omp.h.in (omp_proc_bind_t): New typedef.
12643 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12644 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12645 omp_get_team_num, omp_is_initial_device): New prototypes.
12646 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
12647 through to gomp_team_start.
12648 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
12649 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
12650 Adjust gomp_parallel_loop_start callers.
12651 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
12652 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
12653 GOMP_loop_end_cancel): New functions.
12654 (GOMP_parallel_end): Add ialias_redirect.
12655 * hashtab.h: New file.
12656 * libgomp.texi (Environment Variables): Minor cleanup,
12657 update section refs to OpenMP 4.0rc2.
12658 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
12659 environment variables.
12660 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
12661 team->work_shares_to_free to thr->ts.work_share before calling
12663 (gomp_work_share_end_cancel): New function.
12664 * config/linux/proc.c: Include errno.h.
12665 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
12666 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
12667 sizeof (cpu_set_t) to determine number of iterations. Fix up check
12668 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
12669 gomp_cpuset_size is sizeof (cpu_set_t).
12670 (gomp_init_num_threads): Initialize gomp_cpuset_size,
12671 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
12672 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
12673 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
12674 contain any logical CPUs.
12675 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
12676 is NULL. Use gomp_cpusetp instead of &cpuset and pass
12677 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
12678 pthread_getaffinity_np. Check gomp_places_list instead of
12679 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
12680 * config/linux/bar.c (gomp_barrier_wait_end,
12681 gomp_barrier_wait_last): Use BAR_* defines.
12682 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
12683 from state where needed. Set work_share_cancelled to 0 on last
12685 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
12686 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
12688 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
12689 Add cpusetsize argument.
12690 (gomp_cpuset_size, gomp_cpusetp): Declare.
12691 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
12692 (affinity_counter): Remove.
12693 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
12694 if CPU_ALLOC_SIZE isn't defined.
12695 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
12696 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
12697 bind current thread to the first place.
12698 (gomp_init_thread_affinity): Rewritten. Add place argument, just
12699 pthread_setaffinity_np to gomp_places_list[place].
12700 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12701 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12702 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12703 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
12704 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12705 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12706 (gomp_barrier_t): Add awaited_final field.
12707 (gomp_barrier_init): Initialize awaited_final field.
12708 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
12709 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
12711 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
12713 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
12714 gomp_team_barrier_cancelled): New inline functions.
12715 (gomp_barrier_last_thread,
12716 gomp_team_barrier_set_task_pending,
12717 gomp_team_barrier_clear_task_pending,
12718 gomp_team_barrier_set_waiting_for_tasks,
12719 gomp_team_barrier_waiting_for_tasks,
12720 gomp_team_barrier_done): Use BAR_* defines.
12721 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
12722 (gomp_barrier_wait_end): Use BAR_* defines.
12723 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
12724 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
12726 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
12727 gomp_team_barrier_cancel): New functions.
12728 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
12730 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
12731 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
12732 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
12733 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
12734 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
12735 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
12736 (gomp_barrier_t): Add cancellable field.
12737 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
12738 gomp_team_barrier_cancel): New prototypes.
12739 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
12740 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
12741 gomp_team_barrier_cancelled): New inline functions.
12742 (gomp_barrier_wait_start, gomp_barrier_last_thread,
12743 gomp_team_barrier_set_task_pending,
12744 gomp_team_barrier_clear_task_pending,
12745 gomp_team_barrier_set_waiting_for_tasks,
12746 gomp_team_barrier_waiting_for_tasks,
12747 gomp_team_barrier_done): Use BAR_* defines.
12748 * barrier.c (GOMP_barrier_cancel): New function.
12749 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
12750 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
12751 omp_proc_bind_spread): New params.
12752 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
12753 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
12754 omp_get_team_num, omp_is_initial_device): New externals.
12755 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
12757 (gomp_resolve_num_threads): Adjust for thread_limit now being in
12758 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12759 infinity. If not nested, just return minimum of max_num_threads
12760 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
12761 to the returned value. Otherwise, don't update atomically
12762 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
12763 (GOMP_parallel_end): Adjust for thread_limit now being in
12764 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
12765 infinity. Adjust threads_busy in the pool rather than
12766 gomp_remaining_threads_count. Remember team->nthreads and call
12767 gomp_team_end before adjusting threads_busy, if not nested
12768 afterwards, just set it to 1 non-atomically. Add ialias.
12769 (GOMP_parallel_start): Adjust gomp_team_start caller.
12770 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
12771 * testsuite/libgomp.c/affinity-1.c: New test.
12772 * testsuite/libgomp.c/atomic-15.c: New test.
12773 * testsuite/libgomp.c/atomic-16.c: New test.
12774 * testsuite/libgomp.c/atomic-17.c: New test.
12775 * testsuite/libgomp.c/cancel-for-1.c: New test.
12776 * testsuite/libgomp.c/cancel-for-2.c: New test.
12777 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
12778 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
12779 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
12780 * testsuite/libgomp.c/cancel-sections-1.c: New test.
12781 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
12782 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
12783 * testsuite/libgomp.c/depend-1.c: New test.
12784 * testsuite/libgomp.c/depend-2.c: New test.
12785 * testsuite/libgomp.c/depend-3.c: New test.
12786 * testsuite/libgomp.c/depend-4.c: New test.
12787 * testsuite/libgomp.c/for-1.c: New test.
12788 * testsuite/libgomp.c/for-1.h: New file.
12789 * testsuite/libgomp.c/for-2.c: New test.
12790 * testsuite/libgomp.c/for-2.h: New file.
12791 * testsuite/libgomp.c/for-3.c: New test.
12792 * testsuite/libgomp.c/pr58392.c: New test.
12793 * testsuite/libgomp.c/simd-1.c: New test.
12794 * testsuite/libgomp.c/simd-2.c: New test.
12795 * testsuite/libgomp.c/simd-3.c: New test.
12796 * testsuite/libgomp.c/simd-4.c: New test.
12797 * testsuite/libgomp.c/simd-5.c: New test.
12798 * testsuite/libgomp.c/simd-6.c: New test.
12799 * testsuite/libgomp.c/target-1.c: New test.
12800 * testsuite/libgomp.c/target-2.c: New test.
12801 * testsuite/libgomp.c/target-3.c: New test.
12802 * testsuite/libgomp.c/target-4.c: New test.
12803 * testsuite/libgomp.c/target-5.c: New test.
12804 * testsuite/libgomp.c/target-6.c: New test.
12805 * testsuite/libgomp.c/target-7.c: New test.
12806 * testsuite/libgomp.c/taskgroup-1.c: New test.
12807 * testsuite/libgomp.c/thread-limit-1.c: New test.
12808 * testsuite/libgomp.c/thread-limit-2.c: New test.
12809 * testsuite/libgomp.c/thread-limit-3.c: New test.
12810 * testsuite/libgomp.c/udr-1.c: New test.
12811 * testsuite/libgomp.c/udr-2.c: New test.
12812 * testsuite/libgomp.c/udr-3.c: New test.
12813 * testsuite/libgomp.c++/affinity-1.C: New test.
12814 * testsuite/libgomp.c++/atomic-10.C: New test.
12815 * testsuite/libgomp.c++/atomic-11.C: New test.
12816 * testsuite/libgomp.c++/atomic-12.C: New test.
12817 * testsuite/libgomp.c++/atomic-13.C: New test.
12818 * testsuite/libgomp.c++/atomic-14.C: New test.
12819 * testsuite/libgomp.c++/atomic-15.C: New test.
12820 * testsuite/libgomp.c++/cancel-for-1.C: New test.
12821 * testsuite/libgomp.c++/cancel-for-2.C: New test.
12822 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
12823 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
12824 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
12825 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
12826 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
12827 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
12828 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
12829 * testsuite/libgomp.c++/cancel-test.h: New file.
12830 * testsuite/libgomp.c++/for-9.C: New test.
12831 * testsuite/libgomp.c++/for-10.C: New test.
12832 * testsuite/libgomp.c++/for-11.C: New test.
12833 * testsuite/libgomp.c++/simd-1.C: New test.
12834 * testsuite/libgomp.c++/simd-2.C: New test.
12835 * testsuite/libgomp.c++/simd-3.C: New test.
12836 * testsuite/libgomp.c++/simd-4.C: New test.
12837 * testsuite/libgomp.c++/simd-5.C: New test.
12838 * testsuite/libgomp.c++/simd-6.C: New test.
12839 * testsuite/libgomp.c++/simd-7.C: New test.
12840 * testsuite/libgomp.c++/simd-8.C: New test.
12841 * testsuite/libgomp.c++/target-1.C: New test.
12842 * testsuite/libgomp.c++/target-2.C: New test.
12843 * testsuite/libgomp.c++/target-2-aux.cc: New file.
12844 * testsuite/libgomp.c++/target-3.C: New test.
12845 * testsuite/libgomp.c++/taskgroup-1.C: New test.
12846 * testsuite/libgomp.c++/udr-1.C: New test.
12847 * testsuite/libgomp.c++/udr-2.C: New test.
12848 * testsuite/libgomp.c++/udr-3.C: New test.
12849 * testsuite/libgomp.c++/udr-4.C: New test.
12850 * testsuite/libgomp.c++/udr-5.C: New test.
12851 * testsuite/libgomp.c++/udr-6.C: New test.
12852 * testsuite/libgomp.c++/udr-7.C: New test.
12853 * testsuite/libgomp.c++/udr-8.C: New test.
12854 * testsuite/libgomp.c++/udr-9.C: New test.
12856 2013-09-20 Jakub Jelinek <jakub@redhat.com>
12859 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
12862 2013-09-20 Alan Modra <amodra@gmail.com>
12864 * configure: Regenerate.
12866 2013-09-19 Jakub Jelinek <jakub@redhat.com>
12868 * testsuite/libgomp.c/sections-2.c: New test.
12870 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
12872 * testsuite/libgomp.fortran/strassen.f90:
12873 Add dg-skip-if aarch64_tiny.
12875 2013-06-20 Iain Sandoe <iain@codesourcery.com>
12876 Cesar Philippidis <cesar@codesourcery.com>
12878 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
12879 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
12880 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
12881 * testsuite/libgomp.fortran/fortran.exp: Likewise.
12882 * testsuite/libgomp.graphite/graphite.exp: Likewise.
12883 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
12884 Use dg-runtest rather than gfortran-dg-runtest.
12886 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
12888 * testsuite/libgomp.c/icv-2.c: Extend current handling of
12889 Linux-based x86 systems to cover all GNU systems.
12890 * testsuite/libgomp.c/lock-3.c: Likewise.
12891 * testsuite/libgomp.c/pr48591.c: Likewise.
12893 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
12895 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
12896 GNU/Hurd, as done for Linux-based systems.
12898 * config/posix/ptrlock.h: Fix comment.
12900 2013-05-27 Tobias Burnus <burnus@net-b.de>
12903 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
12904 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
12905 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
12906 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
12907 omp_destroy_nest_lock): Correct arguments to match the one in
12909 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
12910 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
12911 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
12912 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
12914 2013-05-16 Jakub Jelinek <jakub@redhat.com>
12916 * testsuite/libgomp.c/loop-13.c: New test.
12917 * testsuite/libgomp.c/loop-14.c: New test.
12918 * testsuite/libgomp.c/loop-15.c: New test.
12919 * testsuite/libgomp.c++/loop-13.C: New test.
12920 * testsuite/libgomp.c++/loop-14.C: New test.
12921 * testsuite/libgomp.c++/loop-15.C: New test.
12923 2013-02-06 Jakub Jelinek <jakub@redhat.com>
12925 PR middle-end/56217
12926 * testsuite/libgomp.c++/pr56217.C: New test.
12928 2013-02-01 Alan Modra <amodra@gmail.com>
12930 * task.c (GOMP_task, GOMP_taskwait): Comment.
12932 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
12933 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
12936 * config/linux/wait.h (do_spin): Use atomic load for addr.
12937 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
12938 for intptr and ptrlock.
12939 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
12942 2013-01-22 Alan Modra <amodra@gmail.com>
12946 * task.c (GOMP_task): Revert 2011-12-09 change.
12947 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
12948 barrier to read task->children..
12949 (gomp_barrier_handle_tasks): ..and matching atomic store with
12950 release barrier here when setting parent->children to NULL.
12952 2013-01-16 Jakub Jelinek <jakub@redhat.com>
12953 Tobias Burnus <burnus@net-b.de>
12956 * testsuite/libgomp.fortran/fortran.exp: Use
12957 -fintrinsic-modules-path= instead of
12958 -fintrinsic-modules-path.
12960 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
12962 Update copyright years.
12964 2012-12-19 Tobias Burnus <burnus@net-b.de>
12966 * testsuite/libgomp.fortran/fortran.exp: Set
12967 -fintrinsic-modules-path.
12969 2012-12-19 Tobias Burnus <burnus@net-b.de>
12971 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
12972 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
12974 2012-11-21 Jakub Jelinek <jakub@redhat.com>
12977 * team.c (gomp_free_thread): Decrease gomp_managed_threads
12978 if pool had any threads_used.
12980 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
12982 * testsuite/libgomp.c++/pr24455.C: Use
12983 -Wl,-undefined,dynamic_lookup on darwin.
12985 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
12987 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
12989 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
12991 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
12993 2012-10-23 Ian Bolton <ian.bolton@arm.com>
12994 Jim MacArthur <jim.macarthur@arm.com>
12995 Marcus Shawcroft <marcus.shawcroft@arm.com>
12996 Nigel Stephens <nigel.stephens@arm.com>
12997 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12998 Richard Earnshaw <rearnsha@arm.com>
12999 Sofiane Naci <sofiane.naci@arm.com>
13000 Stephen Thomas <stephen.thomas@arm.com>
13001 Tejas Belagod <tejas.belagod@arm.com>
13002 Yufeng Zhang <yufeng.zhang@arm.com>
13004 * configure.tgt: Add AArch64.
13006 2012-10-04 Jason Merrill <jason@redhat.com>
13008 * testsuite/libgomp.c++/tls-init1.C: New.
13010 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
13012 * configure: Regenerated.
13014 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
13016 * config/linux/mips/futex.h (sys_futex0): Change to static
13017 function with noinline, nomips16 attributes under MIPS16. Adjust
13018 asm statement to place 'li v0,SYS_futex' immediately before
13021 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
13023 * libgomp.texi (Library Index): Renamed from "Index" to prevent
13024 conflict with index.html on case-insensitive file systems.
13026 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
13028 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
13029 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
13031 2012-07-02 Richard Guenther <rguenther@suse.de>
13032 Michael Matz <matz@suse.de>
13033 Tobias Grosser <tobias@grosser.es>
13034 Sebastian Pop <sebpop@gmail.com>
13036 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
13037 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13038 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13039 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13041 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
13043 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
13045 2012-06-22 Richard Guenther <rguenther@suse.de>
13047 Merge from graphite branch
13048 2012-01-13 Tobias Grosser <tobias@grosser.es>
13050 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13051 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13053 2012-06-07 Jakub Jelinek <jakub@redhat.com>
13055 PR middle-end/53580
13056 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13057 use GOMP_barrier () call instead.
13058 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13059 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13060 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
13061 call GOMP_barrier instead.
13062 * testsuite/libgomp.fortran/vla5.f90: Likewise.
13064 2012-06-06 Jakub Jelinek <jakub@redhat.com>
13067 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
13068 argument to memset call.
13070 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
13072 * configure: Regenerated.
13074 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13076 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
13078 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
13081 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
13083 2012-03-22 Jakub Jelinek <jakub@redhat.com>
13085 PR middle-end/52547
13086 * testsuite/libgomp.c/pr52547.c: New test.
13088 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13090 * testsuite/lib/libgomp.exp: load fortran-modules.exp
13092 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13094 * configure.tgt (mips-sgi-irix6*): Remove.
13096 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13098 * configure.tgt (alpha*-dec-osf*): Remove.
13100 * config/osf/sem.h: Remove.
13101 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
13103 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
13105 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13107 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13110 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
13111 Remove ENABLE_SYMVERS_SOL2.
13112 * configure: Regenerate.
13113 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
13114 (PREPROCESS): New variable.
13115 (libgomp.ver): New target.
13116 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
13117 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
13118 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
13120 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
13121 * Makefile.in: Regenerate.
13123 2012-02-14 Walter Lee <walt@tilera.com>
13125 * configure.tgt: Handle tilegx and tilepro.
13126 * config/linux/tile/futex.h: New file.
13128 2012-02-08 Richard Guenther <rguenther@suse.de>
13130 PR tree-optimization/46886
13131 * testsuite/libgomp.c/pr46886.c: New testcase.
13133 2012-01-25 Matthias Klose <doko@ubuntu.com>
13135 * config/linux/arm: Remove empty directory.
13136 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
13138 2011-12-09 Alan Modra <amodra@gmail.com>
13141 * task.c (GOMP_taskwait): Don't access task->children outside of
13142 task_lock mutex region.
13143 (GOMP_task): Likewise.
13145 2011-12-06 Jakub Jelinek <jakub@redhat.com>
13148 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
13150 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13151 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13152 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13153 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13154 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13156 2011-12-02 Alan Modra <amodra@gmail.com>
13158 * config/linux/affinity.c: Use atomic rather than sync builtin.
13159 * config/linux/lock.c: Likewise.
13160 * config/linux/ptrlock.h: Likewise.
13161 * config/linux/ptrlock.c: Likewise.
13162 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
13163 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
13164 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
13165 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
13166 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
13167 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
13168 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
13169 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
13170 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
13171 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
13173 2011-11-30 Alan Modra <amodra@gmail.com>
13176 * config/linux/bar.h: Use atomic rather than sync builtins.
13177 * config/linux/bar.c: Likewise. Add missing acquire
13178 synchronisation on generation field.
13179 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
13182 2011-11-30 Alan Modra <amodra@gmail.com>
13184 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
13185 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
13186 * config/linux/mutex.h: Use atomic rather than sync builtins.
13187 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
13188 * config/linux/omp-lock.h: Comment fix.
13189 * config/linux/arm/mutex.h: Delete.
13190 * config/linux/powerpc/mutex.h: Delete.
13191 * config/linux/ia64/mutex.h: Delete.
13192 * config/linux/mips/mutex.h: Delete.
13194 2011-11-30 Alan Modra <amodra@gmail.com>
13197 * config/linux/sem.h: Rewrite.
13198 * config/linux/sem.c: Rewrite.
13200 2011-11-28 Richard Henderson <rth@redhat.com>
13202 * libgomp.h (enum memmodel): New.
13204 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
13206 * configure: Regenerate.
13208 2011-10-10 Matthias Klose <doko@ubuntu.com>
13210 * config/posix95: Remove empty directory.
13212 2011-08-26 Jakub Jelinek <jakub@redhat.com>
13214 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
13216 2011-08-19 Jakub Jelinek <jakub@redhat.com>
13219 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
13220 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
13222 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13224 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
13226 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13229 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
13231 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
13233 * config/linux/proc.h: New.
13234 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
13235 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
13236 (gomp_init_num_threads): Update call to cpuset_popcount.
13237 (get_num_procs): Ditto.
13238 * config/linux/affinity.c (gomp_init_affinity): Call
13239 gomp_cpuset_popcount.
13241 2011-08-02 Jakub Jelinek <jakub@redhat.com>
13245 * omp.h.in (omp_in_final): New prototype.
13246 * omp_lib.f90.in (omp_in_final): New interface.
13247 (omp_integer_kind, omp_logical_kind): Remove
13248 and replace all its uses in the module with 4.
13249 (openmp_version): Change to 201107.
13250 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
13251 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
13252 kind for the parameters.
13253 (omp_in_final): New external.
13254 (openmp_version): Change to 201107.
13255 * task.c (omp_in_final): New function.
13256 (gomp_init_task): Initialize final_task.
13257 (GOMP_task): Remove unused attribute from flags. Handle final
13259 (GOMP_taskyield): New function.
13260 (omp_in_final): Return true if if (false) or final (true) task
13261 or descendant of final (true).
13262 * fortran.c (omp_in_final_): New function.
13263 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
13264 (GOMP_3.0): Export GOMP_taskyield.
13265 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
13267 (parse_unsigned_long_list): New function.
13268 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
13269 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
13270 even if parse_affinity returned false.
13271 * config/linux/affinity.c (gomp_init_affinity): Handle
13272 gomp_cpu_affinity_len == 0.
13273 * libgomp_g.h (GOMP_taskyield): New prototype.
13274 * libgomp.h (struct gomp_task): Add final_task field.
13275 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
13276 * team.c (gomp_team_start): Override new task's nthreads_var icv
13277 if list form OMP_NUM_THREADS has been used and it has value for
13278 the new nesting level.
13280 * testsuite/libgomp.c/atomic-11.c: New test.
13281 * testsuite/libgomp.c/atomic-12.c: New test.
13282 * testsuite/libgomp.c/atomic-13.c: New test.
13283 * testsuite/libgomp.c/atomic-14.c: New test.
13284 * testsuite/libgomp.c/reduction-6.c: New test.
13285 * testsuite/libgomp.c/task-5.c: New test.
13286 * testsuite/libgomp.c++/atomic-2.C: New test.
13287 * testsuite/libgomp.c++/atomic-3.C: New test.
13288 * testsuite/libgomp.c++/atomic-4.C: New test.
13289 * testsuite/libgomp.c++/atomic-5.C: New test.
13290 * testsuite/libgomp.c++/atomic-6.C: New test.
13291 * testsuite/libgomp.c++/atomic-7.C: New test.
13292 * testsuite/libgomp.c++/atomic-8.C: New test.
13293 * testsuite/libgomp.c++/atomic-9.C: New test.
13294 * testsuite/libgomp.c++/task-8.C: New test.
13295 * testsuite/libgomp.c++/reduction-4.C: New test.
13296 * testsuite/libgomp.fortran/allocatable7.f90: New test.
13297 * testsuite/libgomp.fortran/allocatable8.f90: New test.
13298 * testsuite/libgomp.fortran/crayptr3.f90: New test.
13299 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
13300 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
13301 * testsuite/libgomp.fortran/pointer1.f90: New test.
13302 * testsuite/libgomp.fortran/pointer2.f90: New test.
13303 * testsuite/libgomp.fortran/task4.f90: New test.
13305 2011-08-02 Tobias Burnus <burnus@net-b.de>
13307 * libgomp.texi: Update OpenMP spec references to 3.1.
13308 (omp_in_final,OMP_PROC_BIND): New sections.
13309 (OMP_NUM_THREADS): Document that the value can be now a list.
13310 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
13312 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
13314 * config/linux/x86/futex.h: Check __x86_64__ instead of
13317 2011-07-29 Jakub Jelinek <jakub@redhat.com>
13319 PR middle-end/49897
13320 PR middle-end/49898
13321 * testsuite/libgomp.c/pr49897-1.c: New test.
13322 * testsuite/libgomp.c/pr49897-2.c: New test.
13323 * testsuite/libgomp.c/pr49898-1.c: New test.
13324 * testsuite/libgomp.c/pr49898-2.c: New test.
13326 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
13328 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
13329 for ia32 instead of ilp32.
13331 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
13332 * testsuite/libgomp.c/atomic-6.c: Likewise.
13334 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
13336 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
13337 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
13339 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13342 * config/osf/sem.h: New file.
13343 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
13345 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13348 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
13351 2011-07-15 Jakub Jelinek <jakub@redhat.com>
13353 * config/linux/wait.h (do_spin): New inline, largely copied
13354 from do_wait, just don't do futex_wait here, instead return true if
13356 (do_wait): Implement using do_spin.
13357 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
13359 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13360 __sync_bool_compare_and_swap, pass the oldval to
13361 gomp_mutex_lock_slow.
13362 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
13363 If all mutex contenders are just spinning and not sleeping, don't
13364 change state to 2 unnecessarily. Optimize the loop when state has
13365 already become 2 to use just one atomic operation per loop instead
13367 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
13369 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
13370 __sync_bool_compare_and_swap, pass the oldval to
13371 gomp_mutex_lock_slow.
13373 2011-06-22 Jakub Jelinek <jakub@redhat.com>
13376 * iter.c (gomp_iter_static_next): For chunk size 0
13377 only use n ceil/ nthreads size for the first
13378 n % nthreads threads in the team instead of
13379 all threads except for the last few ones which
13380 get less work or none at all.
13381 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
13382 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
13383 chunk argument, set run_sched_modifier to 0 for static
13384 resp. 1 for other kinds. If chunk argument is 0
13385 and not static, set value to 1.
13387 2011-05-19 Jakub Jelinek <jakub@redhat.com>
13390 * testsuite/libgomp.c++/pr49043.C: New test.
13393 * testsuite/libgomp.c++/pr48869.C: New test.
13395 2011-05-06 Jakub Jelinek <jakub@redhat.com>
13398 * fortran.c: Include limits.h.
13400 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
13402 (omp_set_num_threads_8_, omp_set_schedule_8_,
13403 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
13404 omp_get_team_size_8_): Use TO_INT macro.
13405 * testsuite/libgomp.fortran/pr48894.f90: New test.
13407 2011-04-13 Jakub Jelinek <jakub@redhat.com>
13409 PR middle-end/48591
13410 * testsuite/libgomp.c/pr48591.c: New test.
13412 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13415 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
13416 * configure: Regenerate.
13418 2011-02-27 Jakub Jelinek <jakub@redhat.com>
13421 * testsuite/libgomp.fortran/task3.f90: New test.
13423 2011-02-24 Tobias Burnus <burnus@net-b.de>
13425 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
13427 2011-02-23 Jakub Jelinek <jakub@redhat.com>
13430 * libgomp.texi (omp_get_wtime): Don't say time in the past
13431 must be Unix Epoch.
13433 2011-02-18 Jakub Jelinek <jakub@redhat.com>
13436 * testsuite/libgomp.fortran/fortran.exp: Check for both
13437 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
13438 but $blddir != "", still append ${blddir}/${lang_library_path}
13439 to ld_library_path.
13441 2011-02-16 Tobias Burnus <burnus@net-b.de>
13444 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
13445 of libquadmath.a before adding its libpath to ldflags.
13447 2011-02-14 Jakub Jelinek <jakub@redhat.com>
13450 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
13451 to FUTEX_WAIT futex syscall.
13452 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
13454 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13456 * configure: Regenerate.
13458 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
13461 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
13463 2011-01-16 Gerald Pfeifer
13465 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
13467 2010-12-14 Jakub Jelinek <jakub@redhat.com>
13470 * libgomp.fortran/allocatable6.f90: New test.
13472 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13474 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
13475 * configure: Regenerate.
13477 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
13481 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
13482 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
13483 * aclocal.m4: Regenerate.
13484 * configure: Regenerate.
13485 * Makefile.in: Regenerate.
13486 * testsuite/Makefile.in: Regenerate.
13488 2010-12-02 Jakub Jelinek <jakub@redhat.com>
13491 * libgomp.fortran/pr46753.f90: New test.
13494 * env.c (initialize_env): Default to spin count 300000
13495 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
13499 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
13500 at the end if sync builtins aren't supported.
13502 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13504 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
13506 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13508 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
13510 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
13512 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
13514 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13515 Tobias Burnus <burnus@net-b.de>
13519 * configure: Regenerate.
13521 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
13523 * config/linux/futex.h: New.
13524 * config/linux/arm/mutex.h: New.
13525 * configure.tgt (arm*-*-linux*): Add config path.
13527 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
13529 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13531 2010-09-23 Tobias Burnus <burnus@net-b.de>
13533 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
13534 Change Fortran datatype to LOGICAL.
13535 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
13536 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
13538 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13540 * configure: Regenerate.
13542 2010-07-26 Jakub Jelinek <jakub@redhat.com>
13544 * libgomp.texi: Add function keyword to a couple of Fortran
13545 interfaces, use integer instead of int for Fortran.
13547 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
13549 * libgomp.texi: Fix spelling and pasto problems throughout.
13550 Adjust prototypes to match code.
13552 2010-07-24 Tobias Burnus <burnus@net-b.de>
13554 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
13555 silence -fwhole-file warning.
13557 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13559 * configure.tgt (*-*-solaris2.[56]*): Removed.
13561 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13563 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
13564 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
13565 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
13566 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
13567 targetting solaris2*.
13568 * configure: Regenerate.
13569 * config.h.in: Regenerate.
13571 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
13572 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
13573 Add libgomp_version_dep.
13574 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
13576 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
13577 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
13578 * Makefile.in: Regenerate.
13580 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
13581 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13582 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
13583 to common block, protected by
13584 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
13586 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
13588 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
13590 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
13593 * configure: Regenerate.
13595 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13598 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13599 * configure: Regenerate.
13600 * Makefile.in: Regenerate.
13601 * testsuite/Makefile.in: Regenerate.
13603 2010-04-26 Jakub Jelinek <jakub@redhat.com>
13606 * testsuite/libgomp.c/pr43893.c: New test.
13607 * testsuite/libgomp.c++/pr43893.C: New test.
13609 2010-04-21 Jakub Jelinek <jakub@redhat.com>
13611 PR middle-end/43570
13612 * testsuite/libgomp.fortran/vla8.f90: New test.
13614 2010-04-20 Jakub Jelinek <jakub@redhat.com>
13617 * config/linux/affinity.c (gomp_init_affinity): Decrease
13618 gomp_available_cpus if affinity mask confines the process to fewer
13620 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
13621 non-NULL, just return gomp_available_cpus.
13624 * sections.c (gomp_sections_init): Initialize ws->mode.
13626 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
13628 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
13629 not unused bar variable.
13630 * configure: Regenerate.
13632 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13634 * Makefile.in: Regenerate.
13635 * aclocal.m4: Regenerate.
13636 * testsuite/Makefile.in: Regenerate.
13638 2010-03-22 Jakub Jelinek <jakub@redhat.com>
13641 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
13642 (initialize_env): Adjust callers.
13643 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
13644 when the argument is 0.
13646 * testsuite/libgomp.c/pr42942.c: New test.
13648 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
13650 PR middle-end/42644
13651 PR middle-end/42130
13652 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13653 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
13655 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13657 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
13658 * testsuite/libgomp.c++/task-6.C: Likewise.
13660 2010-01-28 Steve Ellcey <sje@cup.hp.com>
13662 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
13664 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
13666 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
13667 * configure: Regenerate.
13669 2010-01-26 Jakub Jelinek <jakub@redhat.com>
13672 * testsuite/libgomp.fortran/allocatable5.f90: New test.
13674 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
13676 * configure.ac: Test for executability of GFORTRAN.
13677 * configure: Regenerate.
13679 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13681 * configure: Regenerate.
13683 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
13686 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
13688 2010-01-03 Richard Guenther <rguenther@suse.de>
13690 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
13692 2009-12-23 Sebastian Pop <sebpop@gmail.com>
13694 * testsuite/libgomp.graphite/pr4118.c: New.
13696 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13698 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
13699 for darwin, protect the test with require-effective-target tls_runtime.
13700 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
13702 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13705 * testsuite/lib/libgomp.exp: Provide -B options to allow for
13706 link spec %s substitutions for static libraries.
13708 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
13711 * libgomp.graphite/force-parallel-2.c: Reduce array size.
13713 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13715 * Makefile.in: Regenerate.
13716 * configure: Regenerate.
13717 * testsuite/Makefile.in: Regenerate.
13719 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
13721 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
13722 settings for LC_ALL and LANG.
13724 2009-11-25 Jakub Jelinek <jakub@redhat.com>
13727 * testsuite/libgomp.fortran/pr42162.f90: New test.
13729 2009-11-13 Jakub Jelinek <jakub@redhat.com>
13731 PR middle-end/42029
13732 * testsuite/libgomp.c/pr42029.c: New test.
13734 2009-10-26 Jakub Jelinek <jakub@redhat.com>
13736 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
13737 *s. Accept ld version without text in ()s.
13738 * configure: Regenerated.
13740 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
13742 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
13744 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13747 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
13748 or a hyphen (happens with fortran language disabled).
13749 * configure: Regenerate.
13751 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13753 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
13754 use sed script portable to Solaris /bin/sed for extracting ld
13756 * configure: Regenerate.
13758 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
13760 * testsuite/libgomp.graphite/bounds.c: New test.
13762 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13764 * Makefile.am (libgomp_la_LINK): New.
13765 * Makefile.in: Regenerate.
13767 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13769 * configure.ac (AC_PREREQ): Bump to 2.64.
13771 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13773 * Makefile.am (install-html, install-pdf): Remove.
13774 * Makefile.in: Regenerate.
13776 * Makefile.in: Regenerate.
13777 * aclocal.m4: Regenerate.
13778 * config.h.in: Regenerate.
13779 * configure: Regenerate.
13780 * testsuite/Makefile.in: Regenerate.
13782 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13784 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
13785 * Makefile.in: Regenerate.
13787 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
13789 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
13790 * Makefile.in: Regenerate.
13792 2009-08-19 Tobias Burnus <burnus@net-b.de>
13795 omp_lib.h.in: Fix -std=f95 errors.
13797 2009-08-14 David Edelsohn <edelsohn@gnu.org>
13799 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
13800 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
13801 * testsuite/libgomp.graphite/graphite.exp: New.
13803 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
13805 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
13808 2009-08-04 David Daney <ddaney@caviumnetworks.com>
13810 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
13811 needed memory barrier semantics.
13812 * config/linux/mips/mutex.h: New file.
13814 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13816 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
13818 2009-07-16 Joseph Myers <joseph@codesourcery.com>
13820 * configure: Regenerate.
13822 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
13827 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
13828 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
13829 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
13831 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
13833 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
13834 options when choosing a multilib.
13836 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
13838 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
13839 ld_library_path. Use add_path. Add just find_libgcc_s to
13840 ld_library_path, not every libgcc multilib directory.
13841 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
13842 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
13843 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
13845 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
13847 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
13849 * Makefile.am (LTLDFLAGS): Define.
13851 * Makefile.in: Regenerate.
13853 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
13856 * testsuite/libgomp.fortran/fortran.exp: Don't link with
13857 libgfortranbegin, check existence of libgfortran.a instead of
13858 libgfortranbegin.a.
13860 2009-05-20 Jakub Jelinek <jakub@redhat.com>
13863 * team.c (gomp_thread_start): Destroy thr->release semaphore.
13864 (gomp_free_pool_helper): Likewise.
13866 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
13867 Jakub Jelinek <jakub@redhat.com>
13870 * testsuite/libgomp.fortran/workshare2.f90: New test.
13872 2009-04-09 Nick Clifton <nickc@redhat.com>
13874 * iter.c: Change copyright header to refer to version 3 of the
13875 GNU General Public License with version 3.1 of the GCC Runtime
13876 Library Exception and to point readers at the COPYING3 and
13877 COPYING3.RUNTIME files and the FSF's license web page.
13878 * alloc.c: Likewise.
13879 * barrier.c: Likewise.
13880 * config/bsd/proc.c: Likewise.
13881 * config/linux/affinity.c: Likewise.
13882 * config/linux/alpha/futex.h: Likewise.
13883 * config/linux/bar.c: Likewise.
13884 * config/linux/bar.h: Likewise.
13885 * config/linux/ia64/futex.h: Likewise.
13886 * config/linux/ia64/mutex.h: Likewise.
13887 * config/linux/lock.c: Likewise.
13888 * config/linux/mips/futex.h: Likewise.
13889 * config/linux/mutex.c: Likewise.
13890 * config/linux/mutex.h: Likewise.
13891 * config/linux/powerpc/futex.h: Likewise.
13892 * config/linux/proc.c: Likewise.
13893 * config/linux/ptrlock.c: Likewise.
13894 * config/linux/ptrlock.h: Likewise.
13895 * config/linux/s390/futex.h: Likewise.
13896 * config/linux/sem.c: Likewise.
13897 * config/linux/sem.h: Likewise.
13898 * config/linux/sparc/futex.h: Likewise.
13899 * config/linux/wait.h: Likewise.
13900 * config/linux/x86/futex.h: Likewise.
13901 * config/mingw32/proc.c: Likewise.
13902 * config/mingw32/time.c: Likewise.
13903 * config/posix/affinity.c: Likewise.
13904 * config/posix/bar.c: Likewise.
13905 * config/posix/bar.h: Likewise.
13906 * config/posix/lock.c: Likewise.
13907 * config/posix/mutex.h: Likewise.
13908 * config/posix/proc.c: Likewise.
13909 * config/posix/ptrlock.h: Likewise.
13910 * config/posix/sem.c: Likewise.
13911 * config/posix/sem.h: Likewise.
13912 * config/posix/time.c: Likewise.
13913 * config/posix95/lock.c: Likewise.
13914 * critical.c: Likewise.
13916 * error.c: Likewise.
13917 * fortran.c: Likewise.
13918 * iter_ull.c: Likewise.
13919 * libgomp.h: Likewise.
13920 * libgomp_f.h.in: Likewise.
13921 * libgomp_g.h: Likewise.
13922 * loop.c: Likewise.
13923 * loop_ull.c: Likewise.
13924 * omp.h.in: Likewise.
13925 * omp_lib.f90.in: Likewise.
13926 * omp_lib.h.in: Likewise.
13927 * ordered.c: Likewise.
13928 * parallel.c: Likewise.
13929 * sections.c: Likewise.
13930 * single.c: Likewise.
13931 * task.c: Likewise.
13932 * team.c: Likewise.
13933 * work.c: Likewise.
13935 2009-04-09 Jakub Jelinek <jakub@redhat.com>
13937 * testsuite/config/default.exp: Change copyright header to refer to
13938 version 3 of the GNU General Public License and to point readers
13939 at the COPYING3 file and the FSF's license web page.
13941 2009-04-08 Jakub Jelinek <jakub@redhat.com>
13943 PR middle-end/39573
13944 * libgomp.c++/pr39573.C: New test.
13946 2009-04-01 Jakub Jelinek <jakub@redhat.com>
13949 * testsuite/libgomp.c/pr39591-1.c: New test.
13950 * testsuite/libgomp.c/pr39591-2.c: New test.
13951 * testsuite/libgomp.c/pr39591-3.c: New test.
13953 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
13955 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
13956 * testsuite/libgomp.c/atomic-6.c: Ditto.
13958 2009-03-23 Jakub Jelinek <jakub@redhat.com>
13961 * testsuite/libgomp.c/loop-12.c: New test.
13962 * testsuite/libgomp.c/loop-11.c: New test.
13963 * testsuite/libgomp.c++/loop-11.C: New test.
13964 * testsuite/libgomp.c++/loop-12.C: New test.
13965 * testsuite/libgomp.c++/for-8.C: New test.
13967 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13969 * configure: Regenerate.
13971 2009-02-11 Jakub Jelinek <jakub@redhat.com>
13973 PR middle-end/39154
13974 * testsuite/libgomp.c/pr39154.c: New test.
13976 2009-01-30 Ian Lance Taylor <iant@google.com>
13978 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
13979 libgomp_ld_is_gold. Get gold version number.
13980 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
13981 * configure: Rebuild.
13983 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
13985 * testsuite/lib/libgomp.exp: Add -B option for targets that
13986 use libgfortran.a%s in their specs.
13988 2009-01-07 Jakub Jelinek <jakub@redhat.com>
13991 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
13992 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
13993 HAVE_AS_SYMVER_DIRECTIVE is not defined.
13994 * configure: Regenerated.
13995 * config.h.in: Likewise.
13997 2008-12-28 Jakub Jelinek <jakub@redhat.com>
14000 * testsuite/libgomp.c/pr38650.c: New test.
14001 * testsuite/libgomp.c++/pr38650.C: New test.
14003 2008-12-27 Jakub Jelinek <jakub@redhat.com>
14005 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
14007 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
14009 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
14011 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14013 * configure: Regenerate.
14015 2008-12-08 Jakub Jelinek <jakub@redhat.com>
14017 PR middle-end/36802
14018 * testsuite/libgomp.c/pr36802-1.c: New test.
14019 * testsuite/libgomp.c/pr36802-2.c: New test.
14020 * testsuite/libgomp.c/pr36802-3.c: New test.
14022 2008-12-01 Janis Johnson <janis187@us.ibm.com>
14025 * config/linux/powerpc/mutex.h: New.
14027 2008-12-01 Jakub Jelinek <jakub@redhat.com>
14030 * testsuite/libgomp.c++/for-7.C: New test.
14033 * testsuite/libgomp.c++/for-6.C: New test.
14035 2008-11-26 Janis Johnson <janis187@us.ibm.com>
14038 * testsuite/lib/libgomp.exp: Include new timeout library files.
14039 (libgomp_target_compile): Set timeout value from new proc.
14041 2008-11-13 Steve Ellcey <sje@cup.hp.com>
14044 * config/linux/ia64/mutex.h: New.
14046 2008-11-04 Tobias Burnus <burnus@net-b.de>
14049 * libgomp.texi (Runtime library routines, environment variables):
14050 Update for OpenMP version 3.0.
14052 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
14053 Steve Ellcey <sje@cup.hp.com>
14055 * configure: Regenerate for new libtool.
14056 * Makefile.in: Ditto.
14057 * testsuite/Makefile.in: Ditto.
14059 2008-09-19 Jakub Jelinek <jakub@redhat.com>
14060 Andreas Tobler <a.tobler@schweiz.org>
14062 * config/bsd/proc.c: New file.
14063 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
14064 * configure.ac: Check for header <sys/sysctl.h>
14065 * configure: Regenerate.
14066 * config.h.in: Likewise.
14068 2008-09-05 Janis Johnson <janis187@us.ibm.com>
14070 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
14072 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
14074 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
14075 * Makefile.in: Regenerated.
14076 * testsuite/Makefile.in: Regenerated.
14078 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
14080 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
14081 depend on blddir if blddir exists.
14082 (libgomp_target_compile): Likewise.
14083 * testsuite/libgomp.c++/c++.exp: Likewise.
14084 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14086 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14088 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
14089 Do not list GPL as Invariant Section.
14091 2008-07-28 Ilie Garbacea <ilie@mips.com>
14092 Chao-ying Fu <fu@mips.com>
14094 * configure.tgt: Enable futex for MIPS.
14095 * config/linux/mips/futex.h: New file.
14097 2008-07-16 Jakub Jelinek <jakub@redhat.com>
14099 * team.c (gomp_team_end): Free team immediately if it has
14102 2008-07-08 David Edelsohn <edelsohn@gnu.org>
14104 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
14105 * testsuite/libgomp.fortran/fortran.exp: Same.
14106 * testsuite/libgomp.c/c.exp: Same.
14107 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
14108 directory to library path first.
14110 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
14112 * env.c (parse_stacksize): Add cast to avoid warning.
14113 (parse_spincount): Likewise.
14115 2008-06-27 Jakub Jelinek <jakub@redhat.com>
14117 * testsuite/libgomp.c/loop-10.c: New test.
14118 * libgomp.c/loop-3.c (main): Add lastprivate clause.
14119 * libgomp.c++/loop-6.C (main): Likewise.
14122 * testsuite/libgomp.c/debug-1.c: New test.
14124 2008-06-19 Jakub Jelinek <jakub@redhat.com>
14126 * testsuite/libgomp.c/nqueens-1.c: New test.
14129 * testsuite/libgomp.c++/task-7.C: New function.
14131 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14133 * configure: Regenerate.
14135 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14137 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
14138 mutex when HAVE_SYNC_BUILTINS isn't defined.
14140 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14142 * libgomp.texi (omp_test_lock): Fix typo.
14144 2008-06-12 Tobias Burnus <burnus@net-b.de>
14146 * omp_lib.f90.in: Add "implicit none".
14148 2008-06-12 Jakub Jelinek <jakub@redhat.com>
14150 PR middle-end/36506
14151 * testsuite/libgomp.c/reduction-5.c: New test.
14153 2008-06-11 Jakub Jelinek <jakub@redhat.com>
14155 * libgomp.h (struct gomp_task): Add in_tied_task field.
14156 * task.c (gomp_init_task): Initialize it.
14157 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
14158 unconditionally. Don't call gomp_team_barrier_wake if
14159 current task is implicit or if(0) from implicit and number of
14160 running tasks is equal to nthreads - 1.
14163 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
14164 omp_get_team_size_8): Fix pastos.
14167 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
14168 * configure: Regenerated.
14169 * config.h.in: Regenerated.
14170 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
14173 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
14176 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
14177 (GOMP_loop_ull_dynamic_start): Likewise.
14178 (GOMP_loop_ull_guided_start): Likewise.
14179 (GOMP_loop_ull_ordered_static_start): Likewise.
14180 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
14181 (GOMP_loop_ull_ordered_guided_start): Likewise.
14183 2008-06-06 Jakub Jelinek <jakub@redhat.com>
14184 Richard Henderson <rth@redhat.com>
14185 Ulrich Drepper <drepper@redhat.com>
14186 Jakob Blomer <jakob.blomer@ira.uka.de>
14188 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
14189 Substitute also OMP_*LOCK_25*.
14190 * configure: Regenerated.
14191 * config.h.in: Regenerated.
14192 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
14193 ptrlock.c and task.c.
14194 * Makefile.in: Regenerated.
14195 * testsuite/Makefile.in: Regenerated.
14196 * task.c: New file.
14197 * loop_ull.c: New file.
14198 * iter_ull.c: New file.
14199 * libgomp.h: Include ptrlock.h.
14200 (enum gomp_task_kind): New type.
14201 (struct gomp_team): Add task_lock, task_queue, task_count,
14202 task_running_count, single_count fields. Add
14203 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
14204 Remove work_share_lock, generation_mask,
14205 oldest_live_gen, num_live_gen and init_work_shares fields, add
14206 work work_share_list_alloc, work_share_list_free and work_share_chunk
14207 fields. Change work_shares from pointer to pointers into an array.
14208 Change ordered_release field into gomp_sem_t ** from flexible array
14209 member. Add implicit_task and initial_work_shares fields.
14210 Move close to the end of the struct.
14211 (struct gomp_team_state): Add single_count, last_work_share,
14212 active_level and level fields, remove work_share_generation.
14213 (gomp_barrier_handle_tasks): New prototype.
14214 (gomp_finish_task): New inline function.
14215 (struct gomp_work_share): Move chunk_size, end, incr into
14216 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
14217 next_ll fields. Reshuffle fields. Add next_alloc,
14218 next_ws, next_free and inline_ordered_team_ids fields, change
14219 ordered_team_ids into pointer from flexible array member.
14220 Add mode field. Put lock and next into a different cache line
14221 from most of the write-once fields.
14222 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
14223 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
14224 gomp_iter_ull_guided_next): New prototypes.
14225 (gomp_new_icv): New prototype.
14226 (struct gomp_thread): Add thread_pool and task fields.
14227 (struct gomp_thread_pool): New type.
14228 (gomp_new_team): New prototype.
14229 (gomp_team_start): Change type of last argument.
14230 (gomp_new_work_share): Removed.
14231 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
14232 (gomp_work_share_init_done): New static inline.
14233 (gomp_throttled_spin_count_var, gomp_available_cpus,
14234 gomp_managed_threads): New extern decls.
14235 (gomp_init_task): New prototype.
14236 (gomp_spin_count_var): New extern var decl.
14237 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
14238 or no alias support, or if not PIC.
14239 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
14240 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
14241 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
14242 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
14243 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
14244 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
14245 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
14246 gomp_test_nest_lock_25): New prototypes.
14247 (omp_lock_symver, strong_alias): Define.
14248 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
14250 (gomp_end_task): New.
14251 (struct gomp_task_icv, gomp_global_icv): New.
14252 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
14253 (struct gomp_task): New.
14254 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14255 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14257 (gomp_schedule_type): Reorder enum to match
14259 * team.c (struct gomp_thread_start_data): Add thread_pool and task
14261 (gomp_thread_start): Add gomp_team_barrier_wait call.
14262 For non-nested case remove clearing of docked thread thr fields.
14263 Use pool fields instead of global gomp_* variables. Use
14264 gomp_barrier_wait_last when needed. Initialize ts.active_level.
14265 Create tasks for each member thread.
14266 (free_team): Only destroy team barrier, task_lock here and free it.
14267 (gomp_free_thread): Free last_team if non-NULL.
14268 (gomp_team_end): Call gomp_team_barrier_wait instead of
14269 gomp_barrier_wait. For nested case call one extra
14270 gomp_barrier_wait. Move here some destruction from free_team.
14271 Call free_team on pool->last_team if any, rather than freeing
14272 current team. Destroy work_share_list_free_lock ifndef
14273 HAVE_SYNC_BUILTINS.
14274 (gomp_new_icv): New function.
14275 (gomp_threads, gomp_threads_size, gomp_threads_used,
14276 gomp_threads_dock): Removed.
14277 (gomp_thread_destructor): New variable.
14278 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
14280 (gomp_team_start): Create new pool if current thread doesn't have
14281 one. Use pool fields instead of global gomp_* variables.
14282 Initialize thread_pool field for new threads. Clear single_count.
14283 Change last argument from ws to team, don't create
14284 new team, set ts.work_share to &team->work_shares[0] and clear
14285 ts.last_work_share. Don't clear ts.work_share_generation.
14286 If number of threads changed, adjust atomically gomp_managed_threads.
14287 Use gomp_init_task instead of gomp_new_task,
14288 set thr->task to the corresponding implicit_task array entry.
14289 Create tasks for each member thread. Initialize ts.level.
14290 (initialize_team): Call pthread_key_create on
14291 gomp_thread_destructor.
14292 (team_destructor): New function.
14293 (new_team): Removed.
14294 (gomp_new_team): New function.
14295 (free_team): Free gomp_work_share blocks chained through next_alloc,
14296 instead of freeing work_shares and destroying work_share_lock.
14297 (gomp_team_end): Call gomp_fini_work_share. If number of threads
14298 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
14299 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
14300 of gomp_barrier_wait.
14301 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
14302 instead of gomp_barrier_wait. Call gomp_work_share_init_done
14303 if gomp_work_share_start returned true. Don't unlock ws->lock.
14304 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
14305 of gomp_barrier_wait.
14306 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
14307 gomp_work_share_init_done if gomp_work_share_start returned true.
14308 Don't unlock ws->lock.
14309 * work.c: Include stddef.h.
14310 (free_work_share): Use work_share_list_free_lock instead
14311 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
14312 Call gomp_fini_work_share and then either free ws if orphaned, or
14313 put it into work_share_list_free list of the current team.
14314 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
14316 (gomp_work_share_start, gomp_work_share_end,
14317 gomp_work_share_end_nowait): Rewritten.
14318 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
14319 (openmp_version): Set to 200805.
14320 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14321 omp_sched_guided, omp_sched_auto): New parameters.
14322 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14323 omp_set_max_active_levels, omp_get_max_active_levels,
14324 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14325 omp_get_active_level): New interfaces.
14326 * omp_lib.h.in (openmp_version): Set to 200805.
14327 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
14328 omp_sched_guided, omp_sched_auto): New parameters.
14329 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14330 omp_set_max_active_levels, omp_get_max_active_levels,
14331 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14332 omp_get_active_level): New externals.
14333 * loop.c: Include limits.h.
14334 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
14336 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
14337 Likewise. Use gomp_icv.
14338 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
14339 ts.static_trip here.
14340 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
14341 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
14342 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
14343 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
14344 don't unlock ws->lock, otherwise lock it.
14345 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
14346 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
14347 (gomp_parallel_loop_start): Call gomp_new_team instead of
14348 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
14349 Adjust gomp_team_start caller. Pass 0 as second argument to
14350 gomp_resolve_num_threads.
14351 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
14352 If adding ws->chunk_size nthreads + 1 times after end won't
14353 overflow, set ws->mode to 1.
14354 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
14355 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
14356 GOMP_loop_ull_ordered_static_start,
14357 GOMP_loop_ull_ordered_dynamic_start,
14358 GOMP_loop_ull_ordered_guided_start,
14359 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
14360 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
14361 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
14362 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
14363 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
14365 * libgomp.map: Export lock routines also @@OMP_2.0.
14366 (GOMP_loop_ordered_dynamic_first,
14367 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
14368 GOMP_loop_ordered_static_first): Remove.
14369 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
14370 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
14371 GOMP_loop_ull_ordered_dynamic_next,
14372 GOMP_loop_ull_ordered_dynamic_start,
14373 GOMP_loop_ull_ordered_guided_next,
14374 GOMP_loop_ull_ordered_guided_start,
14375 GOMP_loop_ull_ordered_runtime_next,
14376 GOMP_loop_ull_ordered_runtime_start,
14377 GOMP_loop_ull_ordered_static_next,
14378 GOMP_loop_ull_ordered_static_start,
14379 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
14380 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
14381 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
14382 (omp_set_schedule, omp_get_schedule,
14383 omp_get_thread_limit, omp_set_max_active_levels,
14384 omp_get_max_active_levels, omp_get_level,
14385 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
14386 omp_set_schedule_, omp_set_schedule_8_,
14387 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14388 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14389 omp_get_max_active_levels_, omp_get_level_,
14390 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14391 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14392 New exports @@OMP_3.0.
14393 * omp.h.in (omp_sched_t): New type.
14394 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14395 omp_set_max_active_levels, omp_get_max_active_levels,
14396 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
14397 omp_get_active_level): New prototypes.
14398 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
14399 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
14400 gomp_thread_limit_var, gomp_remaining_threads_count,
14401 gomp_remaining_threads_lock): New variables.
14402 (parse_spincount): New function.
14403 (initialize_env): Call gomp_init_num_threads unconditionally.
14404 Initialize gomp_available_cpus. Call parse_spincount,
14405 initialize gomp_{,throttled_}spin_count_var
14406 depending on presence and value of OMP_WAIT_POLICY and
14407 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
14408 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
14409 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
14410 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
14411 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
14412 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
14413 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
14414 (gomp_global_icv): New.
14415 (parse_schedule): Use it. Parse "auto".
14416 (omp_set_num_threads): Use gomp_icv.
14417 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
14419 (omp_get_max_threads): Move from parallel.c.
14420 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
14421 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
14423 (parse_stacksize, parse_wait_policy): New functions.
14424 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
14425 both wrappers for compatibility and new locks.
14426 (omp_set_schedule, omp_get_schedule,
14427 omp_get_thread_limit, omp_set_max_active_levels,
14428 omp_get_max_active_levels, omp_get_level,
14429 omp_get_ancestor_thread_num, omp_get_team_size,
14430 omp_get_active_level): New ialias_redirect.
14431 (omp_set_schedule_, omp_set_schedule_8_,
14432 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
14433 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
14434 omp_get_max_active_levels_, omp_get_level_,
14435 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
14436 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
14438 * parallel.c: Include limits.h.
14439 (gomp_resolve_num_threads): Add count argument. Rewritten.
14440 (GOMP_parallel_start): Call gomp_new_team and pass that as last
14441 argument to gomp_team_start. Pass 0 as second argument to
14442 gomp_resolve_num_threads.
14443 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
14444 if gomp_thread_limit_var != ULONG_MAX.
14445 (omp_in_parallel): Implement using ts.active_level.
14446 (omp_get_max_threads): Move to env.c.
14447 (omp_get_level, omp_get_ancestor_thread_num,
14448 omp_get_team_size, omp_get_active_level): New functions,
14450 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
14451 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
14452 gomp_iter_dynamic_next instead of the _locked variant and don't take
14453 lock around it, otherwise acquire it before calling
14454 gomp_iter_dynamic_next_locked.
14455 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
14456 gomp_iter_dynamic_next instead of the _locked variant and don't take
14458 (GOMP_parallel_sections_start): Call gomp_new_team instead of
14459 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
14460 Adjust gomp_team_start caller. Pass count as second argument to
14461 gomp_resolve_num_threads, don't adjust num_threads after the call.
14463 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
14464 ws->chunk_size by incr.
14465 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
14467 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
14469 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
14470 (omp_check_defines): Check even the compat defines.
14471 * config/linux/ptrlock.c: New file.
14472 * config/linux/ptrlock.h: New file.
14473 * config/linux/wait.h: New file.
14474 * config/posix/ptrlock.c: New file.
14475 * config/posix/ptrlock.h: New file.
14476 * config/linux/bar.h (gomp_team_barrier_wait,
14477 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14478 (gomp_team_barrier_set_task_pending,
14479 gomp_team_barrier_clear_task_pending,
14480 gomp_team_barrier_set_waiting_for_tasks,
14481 gomp_team_barrier_waiting_for_tasks,
14482 gomp_team_barrier_done): New inlines.
14483 (gomp_barrier_t): Rewritten.
14484 (gomp_barrier_state_t): New typedef.
14485 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
14486 gomp_barrier_wait_start): Rewritten.
14487 (gomp_barrier_wait_end): Change second argument to
14488 gomp_barrier_state_t.
14489 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14491 * config/linux/bar.c: Include wait.h instead of libgomp.h and
14493 (gomp_barrier_wait_end): Rewritten.
14494 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14495 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
14496 * config/posix/bar.h (gomp_barrier_t): Add generation field.
14497 (gomp_barrier_state_t): New typedef.
14498 (gomp_team_barrier_wait,
14499 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
14500 (gomp_barrier_wait_start): Or all but low 2 bits from generation
14501 into the return value. Return gomp_barrier_state_t.
14502 (gomp_team_barrier_set_task_pending,
14503 gomp_team_barrier_clear_task_pending,
14504 gomp_team_barrier_set_waiting_for_tasks,
14505 gomp_team_barrier_waiting_for_tasks,
14506 gomp_team_barrier_done): New inlines.
14507 (gomp_barrier_wait_end): Change second argument to
14508 gomp_barrier_state_t.
14509 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
14511 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
14512 (gomp_barrier_wait_end): Change second argument to
14513 gomp_barrier_state_t.
14514 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
14515 gomp_team_barrier_wake): New functions.
14516 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
14518 (gomp_futex_wake, gomp_futex_wait): New variables.
14519 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
14520 * config/linux/lock.c: Rewrite to make locks task owned,
14521 for backwards compatibility provide the old entrypoints
14522 if symbol versioning. Include wait.h instead of libgomp.h and
14524 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
14525 * config/posix95/lock.c: Rewrite to make locks task owned,
14526 for backwards compatibility provide the old entrypoints
14527 if symbol versioning.
14528 * config/posix/lock.c: Rewrite to make locks task owned,
14529 for backwards compatibility provide the old entrypoints
14530 if symbol versioning.
14531 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
14532 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
14533 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
14534 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14535 (sys_futex0): Return error code.
14536 (futex_wake, futex_wait): If ENOSYS was returned, clear
14537 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14538 (cpu_relax, atomic_write_barrier): New static inlines.
14539 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14540 (futex_wake, futex_wait): If ENOSYS was returned, clear
14541 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14542 (cpu_relax, atomic_write_barrier): New static inlines.
14543 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14544 (sys_futex0): Return error code.
14545 (futex_wake, futex_wait): If ENOSYS was returned, clear
14546 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14547 (cpu_relax, atomic_write_barrier): New static inlines.
14548 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14549 (sys_futex0): Return error code.
14550 (futex_wake, futex_wait): If ENOSYS was returned, clear
14551 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14552 (cpu_relax, atomic_write_barrier): New static inlines.
14553 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14554 (sys_futex0): Return error code.
14555 (futex_wake, futex_wait): If ENOSYS was returned, clear
14556 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14557 (cpu_relax, atomic_write_barrier): New static inlines.
14558 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
14559 (sys_futex0): Return error code.
14560 (futex_wake, futex_wait): If ENOSYS was returned, clear
14561 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
14562 (cpu_relax, atomic_write_barrier): New static inlines.
14563 * config/linux/sem.c: Include wait.h instead of libgomp.h and
14565 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
14566 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
14567 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
14569 (omp_nest_lock_t): Change owner into void *, add lock field.
14570 * config/posix95/omp-lock.h: Include semaphore.h.
14571 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14572 (omp_lock_t): Use sem_t instead of mutex if semaphores
14574 (omp_nest_lock_t): Likewise. Change owner to void *.
14575 * config/posix/omp-lock.h: Include semaphore.h.
14576 (omp_lock_25_t, omp_nest_lock_25_t): New types.
14577 (omp_lock_t): Use sem_t instead of mutex if semaphores
14579 (omp_nest_lock_t): Likewise. Add owner field.
14581 2008-06-06 Jakub Jelinek <jakub@redhat.com>
14583 * testsuite/libgomp.c/collapse-1.c: New test.
14584 * testsuite/libgomp.c/collapse-2.c: New test.
14585 * testsuite/libgomp.c/collapse-3.c: New test.
14586 * testsuite/libgomp.c/icv-1.c: New test.
14587 * testsuite/libgomp.c/icv-2.c: New test.
14588 * testsuite/libgomp.c/lib-2.c: New test.
14589 * testsuite/libgomp.c/lock-1.c: New test.
14590 * testsuite/libgomp.c/lock-2.c: New test.
14591 * testsuite/libgomp.c/lock-3.c: New test.
14592 * testsuite/libgomp.c/loop-4.c: New test.
14593 * testsuite/libgomp.c/loop-5.c: New test.
14594 * testsuite/libgomp.c/loop-6.c: New test.
14595 * testsuite/libgomp.c/loop-7.c: New test.
14596 * testsuite/libgomp.c/loop-8.c: New test.
14597 * testsuite/libgomp.c/loop-9.c: New test.
14598 * testsuite/libgomp.c/nested-3.c: New test.
14599 * testsuite/libgomp.c/nestedfn-6.c: New test.
14600 * testsuite/libgomp.c/sort-1.c: New test.
14601 * testsuite/libgomp.c/task-1.c: New test.
14602 * testsuite/libgomp.c/task-2.c: New test.
14603 * testsuite/libgomp.c/task-3.c: New test.
14604 * testsuite/libgomp.c/task-4.c: New test.
14605 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
14606 to C++ testsuite default compiler options.
14607 * testsuite/libgomp.c++/collapse-1.C: New test.
14608 * testsuite/libgomp.c++/collapse-2.C: New test.
14609 * testsuite/libgomp.c++/ctor-10.C: New test.
14610 * testsuite/libgomp.c++/for-1.C: New test.
14611 * testsuite/libgomp.c++/for-2.C: New test.
14612 * testsuite/libgomp.c++/for-3.C: New test.
14613 * testsuite/libgomp.c++/for-4.C: New test.
14614 * testsuite/libgomp.c++/for-5.C: New test.
14615 * testsuite/libgomp.c++/loop-8.C: New test.
14616 * testsuite/libgomp.c++/loop-9.C: New test.
14617 * testsuite/libgomp.c++/loop-10.C: New test.
14618 * testsuite/libgomp.c++/task-1.C: New test.
14619 * testsuite/libgomp.c++/task-2.C: New test.
14620 * testsuite/libgomp.c++/task-3.C: New test.
14621 * testsuite/libgomp.c++/task-4.C: New test.
14622 * testsuite/libgomp.c++/task-5.C: New test.
14623 * testsuite/libgomp.c++/task-6.C: New test.
14624 * testsuite/libgomp.fortran/allocatable1.f90: New test.
14625 * testsuite/libgomp.fortran/allocatable2.f90: New test.
14626 * testsuite/libgomp.fortran/allocatable3.f90: New test.
14627 * testsuite/libgomp.fortran/allocatable4.f90: New test.
14628 * testsuite/libgomp.fortran/collapse1.f90: New test.
14629 * testsuite/libgomp.fortran/collapse2.f90: New test.
14630 * testsuite/libgomp.fortran/collapse3.f90: New test.
14631 * testsuite/libgomp.fortran/collapse4.f90: New test.
14632 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
14633 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
14634 * testsuite/libgomp.fortran/lib4.f90: New test.
14635 * testsuite/libgomp.fortran/lock-1.f90: New test.
14636 * testsuite/libgomp.fortran/lock-2.f90: New test.
14637 * testsuite/libgomp.fortran/nested1.f90: New test.
14638 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
14639 * testsuite/libgomp.fortran/strassen.f90: New test.
14640 * testsuite/libgomp.fortran/tabs1.f90: New test.
14641 * testsuite/libgomp.fortran/tabs2.f: New test.
14642 * testsuite/libgomp.fortran/task1.f90: New test.
14643 * testsuite/libgomp.fortran/task2.f90: New test.
14644 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
14645 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14646 * testsuite/libgomp.c/pr26943-2.c: Likewise.
14647 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14648 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14650 2008-05-23 Jakub Jelinek <jakub@redhat.com>
14653 * testsuite/libgomp.c++/ctor-11.C: New test.
14654 * testsuite/libgomp.c++/ctor-12.C: New test.
14656 2008-05-15 Janis Johnson <janis187@us.ibm.com>
14658 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
14660 2008-05-07 Jakub Jelinek <jakub@redhat.com>
14662 PR middle-end/36106
14663 * testsuite/libgomp.c/atomic-5.c: New test.
14664 * testsuite/libgomp.c/atomic-6.c: New test.
14665 * testsuite/libgomp.c/autopar-1.c: New test.
14667 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14669 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
14670 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
14671 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
14672 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
14673 * configure: Regenerate.
14674 * Makefile.in, testsuite/Makefile.in: Likewise.
14676 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
14679 * aclocal.m4: Regenerate.
14680 * configure: Regenerate.
14682 2008-03-18 Jakub Jelinek <jakub@redhat.com>
14684 PR middle-end/35611
14685 * testsuite/libgomp.c/atomic-4.c: New test.
14688 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
14689 (gomp_iter_guided_next): Likewise.
14690 * testsuite/libgomp.c/pr35625.c: New test.
14692 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14694 * aclocal.m4: Regenerate.
14695 * configure: Likewise.
14696 * Makefile.in: Likewise.
14697 * testsuite/Makefile.in: Likewise.
14699 2008-03-13 Jakub Jelinek <jakub@redhat.com>
14701 PR middle-end/35185
14702 * testsuite/libgomp.c++/pr35185.C: New test.
14704 2008-03-12 Jakub Jelinek <jakub@redhat.com>
14706 PR middle-end/35549
14707 * testsuite/libgomp.c/pr35549.c: New test.
14709 2008-03-06 Jakub Jelinek <jakub@redhat.com>
14711 * testsuite/libgomp.c/atomic-3.c: New test.
14713 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14716 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
14717 .F08 file suffixes.
14719 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
14722 * configure.ac: Add ACX_HEADER_STRING.
14723 * env.c: Include strings.h.
14724 * aclocal.m4: Regenerate.
14725 * config.h.in: Regenerate.
14726 * configure: Regenerate.
14727 * Makefile.in: Regenerate.
14728 * testsuite/Makefile.in: Regenerate.
14730 2008-02-15 Jakub Jelinek <jakub@redhat.com>
14732 PR middle-end/35196
14733 * testsuite/libgomp.c/pr35196.c: New test.
14735 PR middle-end/35130
14736 * testsuite/libgomp.fortran/pr35130.f90: New test.
14737 * testsuite/libgomp.c/pr35130.c: New test.
14739 2008-01-25 Jakub Jelinek <jakub@redhat.com>
14741 PR middle-end/33880
14742 * testsuite/libgomp.c/pr33880.c: New test.
14743 * testsuite/libgomp.fortran/pr33880.f90: New test.
14745 2008-01-24 David Edelsohn <edelsohn@gnu.org>
14747 * configure: Regenerate.
14749 2008-01-08 Jakub Jelinek <jakub@redhat.com>
14751 * configure.ac: Move futex checking into ../config/futex.m4.
14752 * configure: Rebuilt.
14753 * aclocal.m4: Rebuilt.
14754 * Makefile.in: Rebuilt.
14756 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
14757 2007-10-15 ../config/tls.m4 change.
14759 2007-12-19 Jakub Jelinek <jakub@redhat.com>
14762 * testsuite/libgomp.c/pr34513.c: New test.
14763 * testsuite/libgomp.c++/pr34513.C: New test.
14765 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
14768 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
14770 2007-12-04 Jakub Jelinek <jakub@redhat.com>
14772 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
14774 2007-12-03 Jakub Jelinek <jakub@redhat.com>
14776 * testsuite/libgomp.c/private-1.c: New test.
14778 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
14779 Paolo Bonzini <bonzini@gnu.org>
14781 * Makefile.am: Use space as vpath separator. Use 'vpath %'
14782 instead of 'VPATH ='.
14783 * Makefile.in: Regenerate.
14785 2007-11-23 Matthias Klose <doko@ubuntu.com>
14787 * configure.ac: Adjust makeinfo version check.
14788 * configure: Regenerate.
14790 2007-11-10 Jakub Jelinek <jakub@redhat.com>
14793 * testsuite/libgomp.fortran/pr34020.f90: New test.
14795 2007-11-06 Jakub Jelinek <jakub@redhat.com>
14798 * testsuite/libgomp.c++/atomic-1.C: New test.
14800 2007-10-25 Jakub Jelinek <jakub@redhat.com>
14803 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
14804 Make x and y integers rather than (implicit) reals. Add private (j)
14805 clause to the last omp parallel.
14807 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
14809 * configure: Regenerate following changes to ../config/tls.m4.
14811 2007-09-28 Jakub Jelinek <jakub@redhat.com>
14813 * testsuite/libgomp.fortran/stack.f90: New test.
14815 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
14817 * config/mingw32/proc.c: New file.
14819 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
14821 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
14822 (main): Use __get_cpuid to get i386 target fetaures.
14823 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
14824 (main): Use __get_cpuid to get x86_64 target fetaures.
14826 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
14829 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
14830 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
14832 2007-07-12 Jakub Jelinek <jakub@redhat.com>
14835 * testsuite/libgomp.fortran/pr32550.f90: New test.
14836 * testsuite/libgomp.fortran/crayptr2.f90: New test.
14838 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
14840 * aclocal.m4: Regenerated.
14842 2007-07-05 Tobias Burnus <burnus@net-b.de>
14845 * testsuite/libgomp.fortran/pr32359.f90: New.
14847 2007-07-02 Jakub Jelinek <jakub@redhat.com>
14850 * sections.c (GOMP_parallel_sections_start): Only decrease
14851 number of threads to COUNT if dyn_var is true.
14852 * testsuite/libgomp.c/pr32468.c: New test.
14854 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14857 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
14859 2007-06-21 Jakub Jelinek <jakub@redhat.com>
14861 PR middle-end/32362
14862 * testsuite/libgomp.c/pr32362-1.c: New test.
14863 * testsuite/libgomp.c/pr32362-2.c: New test.
14864 * testsuite/libgomp.c/pr32362-3.c: New test.
14866 2007-06-07 Jakub Jelinek <jakub@redhat.com>
14868 * team.c (gomp_team_start): Fix setting up thread_attr
14871 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
14873 * configure: Regenerate.
14875 2007-05-23 Steve Ellcey <sje@cup.hp.com>
14877 * Makefile.in: Regenerate.
14878 * configure: Regenerate.
14879 * aclocal.m4: Regenerate.
14880 * testsuite/Makefile.in: Regenerate.
14882 2007-05-04 Jakub Jelinek <jakub@redhat.com>
14884 * config/linux/proc.c: New file.
14887 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
14889 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
14891 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
14893 2007-04-16 Matthias Klose <doko@debian.org>
14895 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
14896 flags if not building with -m64.
14897 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
14898 flag for i?86-*-* targets, if current target matches -m64.
14900 2007-04-14 Steve Ellcey <sje@cup.hp.com>
14902 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
14903 * Makefile.in: Regenerate.
14905 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14908 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
14910 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14912 2007-04-04 Jakub Jelinek <jakub@redhat.com>
14914 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
14916 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
14917 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
14918 (parse_affinity): New function.
14919 (initialize_env): Call it and gomp_init_affinity.
14920 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
14921 create new pthread_attr_t and call gomp_init_thread_affinity
14922 on it for each thread before passing the attribute to pthread_create.
14923 * config/linux/affinity.c: New file.
14924 * config/posix/affinity.c: New file.
14925 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
14926 * configure: Rebuilt.
14927 * config.h.in: Rebuilt.
14928 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
14929 * Makefile.in: Rebuilt.
14931 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
14933 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
14935 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
14936 and use it if found.
14938 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
14940 * testsuite/config/default.exp: New file.
14941 * testsuite/lib/libgomp.exp: New file.
14942 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
14943 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
14944 load_lib *, load_gcc_lib *): Move to libgomp.exp.
14945 (libgomp_load): Remove.
14946 * testsuite/lib/libgomp.exp (libgomp_init): Compute
14947 always_ld_library_path, not ld_library_path. Set additional_flags
14948 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
14949 (target_compile): Do not call libgomp_init. Append lang_library_path
14950 and lang_link_flags to options.
14951 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
14952 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
14954 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
14955 always_ld_library_path. Set LD_LIBRARY_PATH here.
14956 * testsuite/libgomp.fortran/fortran.exp: Ditto.
14957 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
14958 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
14960 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
14961 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
14962 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
14963 * testsuite/libgomp.c/pr29947-1.c: Ditto.
14964 * testsuite/libgomp.c/atomic-10.c: Ditto.
14966 2007-03-21 Jakub Jelinek <jakub@redhat.com>
14968 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
14969 dg-final cleanup-modules line.
14970 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
14971 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
14972 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
14973 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
14974 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
14975 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
14976 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
14978 2007-03-18 Andreas Schwab <schwab@suse.de>
14980 * acinclude.m4: Adjust regular expression for ld version
14982 * configure: Regenerate.
14984 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
14986 * Makefile.am: Add install-pdf target as copied from
14987 automake v1.10 rules.
14988 * Makefile.in: Regenerate
14990 2007-02-07 Jakub Jelinek <jakub@redhat.com>
14993 * configure: Regenerate.
14996 * testsuite/libgomp.c++/pr30703.C: New test.
14998 2007-02-02 Jakub Jelinek <jakub@redhat.com>
15001 2006-07-05 Eric Christopher <echristo@apple.com>
15002 * configure.ac: Depend addition of -pthread on host OS.
15003 * configure: Regenerate.
15005 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15007 * libgomp.texi: Fix spacing after abbreviations.
15009 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
15012 * configure.ac: Add check for makeinfo
15013 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
15014 if an appropriate version of makeinfo is found.
15015 * aclocal.m4: Regenerated.
15016 * configure: Regenerated.
15017 * Makefile.in: Regenerated.
15018 * testsuite/Makefile.in: Regenerated.
15020 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
15023 * libgomp.texi: More about implementation-dependent settings.
15025 2007-01-26 Tobias Burnus <burnus@net-b.de>
15027 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
15029 2007-01-24 Jakub Jelinek <jakub@redhat.com>
15031 PR middle-end/30494
15032 * testsuite/libgomp.c/pr30494.c: New test.
15034 2007-01-15 Tom Tromey <tromey@redhat.com>
15036 * configure: Rebuilt.
15037 * configure.ac: Fixed comment.
15039 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
15041 * libgomp.texi: Document implementation specific default values of
15042 environment variables.
15044 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
15047 * libgomp.texi: New file.
15048 * configure.ac: Add --enable-generated-files-in-srcdir option.
15049 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
15051 * Makefile.in: Regenerated.
15052 * config.h.in: Regenerated.
15053 * testsuite/Makefile.in: Regenerated.
15056 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
15059 * env.c (omp_set_num_threads): Set illegal thread count to 1.
15061 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
15063 * configure: Regenerate.
15065 2006-12-04 Jakub Jelinek <jakub@redhat.com>
15068 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
15069 start if there shouldn't be any loop iterations.
15070 (gomp_loop_ordered_static_start): Remove start == end test.
15071 * testsuite/libgomp.c/pr29947-1.c: New test.
15072 * testsuite/libgomp.c/pr29947-2.c: New test.
15074 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15076 * configure.tgt: Force initial-exec TLS model on Linux only.
15078 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
15080 * configure: Regenerated.
15082 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
15084 * env.c (parse_schedule): Reject out of range values.
15085 (parse_unsigned_long): Reject out of range, negative or zero values.
15087 2006-10-29 Jakub Jelinek <jakub@redhat.com>
15090 * testsuite/libgomp.fortran/pr29629.f90: New test.
15092 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
15095 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
15096 * config/posix95: New directory.
15097 * config/posix95/omp-lock.h: New file.
15098 * config/posix95/lock.c: Likewise.
15100 2006-10-14 Geoffrey Keating <geoffk@apple.com>
15102 * aclocal.m4: Regenerate.
15103 * configure: Regenerate.
15105 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15107 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
15110 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15112 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
15114 * configure: Regenerate.
15115 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
15117 2006-09-26 Jakub Jelinek <jakub@redhat.com>
15119 PR middle-end/25261
15120 PR middle-end/28790
15121 * testsuite/libgomp.c/nestedfn-4.c: New test.
15122 * testsuite/libgomp.c/nestedfn-5.c: New test.
15123 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
15126 * testsuite/libgomp.fortran/condinc1.f: New test.
15127 * testsuite/libgomp.fortran/condinc2.f: New test.
15128 * testsuite/libgomp.fortran/condinc3.f90: New test.
15129 * testsuite/libgomp.fortran/condinc4.f90: New test.
15130 * testsuite/libgomp.fortran/condinc1.inc: New file.
15132 2006-09-18 Tom Tromey <tromey@redhat.com>
15134 * configure: Rebuilt.
15136 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
15139 PR preprocessor/14634
15140 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
15142 * configure: Regenerate.
15144 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
15146 * testsuite/libgomp.fortran/reduction3.f90: Change
15147 -2147483648 to -huge(i)-1 to avoid overflow.
15148 * testsuite/libgomp.fortran/reduction4.f90: Change
15149 Z'ffffffff' to not(0) to avoid overflow.
15151 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
15154 * Makefile.am (libsubincludedir): New.
15155 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
15156 * Makefile.in: Regenerate.
15158 2006-08-17 Jakub Jelinek <jakub@redhat.com>
15161 * env.c: Include ctype.h.
15162 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
15163 leading and/or trailing whitespace and compare strings case
15166 2006-07-16 Jakub Jelinek <jakub@redhat.com>
15169 * testsuite/libgomp.fortran/pr28390.f: New test.
15171 2006-07-05 Eric Christopher <echristo@apple.com>
15173 * configure.ac: Depend addition of -pthread on host OS.
15174 * configure: Regenerate.
15176 2006-06-21 Jakub Jelinek <jakub@redhat.com>
15178 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
15179 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
15182 2006-06-20 Jakub Jelinek <jakub@redhat.com>
15186 * configure.ac: If neither --enable-linux-futex nor
15187 --disable-linux-futex is passed, determine the default by checking
15188 for compiling and/or running against NPTL. With --enable-linux-futex,
15189 check if SYS_gettid and SYS_futex are defined.
15190 * configure: Rebuilt.
15192 2006-06-14 Richard Henderson <rth@redhat.com>
15195 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
15196 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
15198 2006-06-09 Richard Henderson <rth@redhat.com>
15200 * env.c (gomp_nthreads_var): Change to unsigned long.
15201 (gomp_run_sched_chunk): Likewise.
15202 (parse_unsigned_long): Rename from parse_num_threads and generalize.
15203 (initialize_env): Initialize gomp_thread_attr.
15204 * libgomp.h (gomp_nthreads_var): Update decl.
15205 (gomp_run_sched_chunk): Likewise.
15206 (gomp_thread_attr): Declare.
15207 * team.c (gomp_thread_attr): Export.
15208 (initialize_team): Don't initialize it.
15210 2006-06-09 Jakub Jelinek <jakub@redhat.com>
15213 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
15214 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
15216 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15218 * config/mingw32/time.c: New file.
15219 * configure.tgt: Use it.
15221 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
15223 * Makefile.am: Add install-html target. Add install-html to .PHONY
15224 * Makefile.in: Regenerate.
15226 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15229 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
15230 * testsuite/libgomp.c/critical-1.c: Likewise.
15231 * testsuite/libgomp.c/loop-1.c: Likewise.
15232 * testsuite/libgomp.c/loop-2.c: Likewise.
15233 * testsuite/libgomp.c/single-1.c: Likewise.
15234 * testsuite/libgomp.c/ordered-1.c: Likewise.
15235 * testsuite/libgomp.c/ordered-2.c: Likewise.
15237 2006-05-15 Jakub Jelinek <jakub@redhat.com>
15239 PR middle-end/27416
15240 * libgomp.fortran/pr27416-1.f90: New test.
15242 2006-05-03 Jakub Jelinek <jakub@redhat.com>
15245 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
15246 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
15248 2006-05-02 Jakub Jelinek <jakub@redhat.com>
15251 * testsuite/libgomp.c/pr26943-1.c: New test.
15252 * testsuite/libgomp.c/pr26943-2.c: New test.
15253 * testsuite/libgomp.c/pr26943-3.c: New test.
15254 * testsuite/libgomp.c/pr26943-4.c: New test.
15255 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
15256 * testsuite/libgomp.c++/pr26943.C: New test.
15258 2006-05-02 Jakub Jelinek <jakub@redhat.com>
15260 PR middle-end/27337
15261 * testsuite/libgomp.c++/pr27337.C: New test.
15263 2006-04-26 Jakub Jelinek <jakub@redhat.com>
15266 * testsuite/libgomp.c/pr26171.c: New test.
15268 2006-04-25 Richard Henderson <rth@redhat.com>
15271 * configure.ac: Use GCC_CHECK_TLS.
15272 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
15273 * Makefile.in, aclocal.m4, configure: Regenerate.
15275 2006-04-10 Matthias Klose <doko@debian.org>
15277 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
15278 directory names containing underscores.
15280 2006-03-21 Jakub Jelinek <jakub@redhat.com>
15283 * testsuite/libgomp.c++/pr26691.C: New test.
15285 2006-03-13 Jakub Jelinek <jakub@redhat.com>
15287 * testsuite/libgomp.fortran/retval2.f90: New test.
15289 2006-03-09 Diego Novillo <dnovillo@redhat.com>
15291 * testsuite/libgomp.c++: New directory.
15293 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
15295 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
15296 * config/posix/sem.c: Implement the above.
15298 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
15300 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
15301 define HAVE_BROKEN_POSIX_SEMAPHORES.
15302 * configure: Rebuilt.
15303 * config.h.in: Rebuilt.
15305 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
15308 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
15309 for the other pthread check.
15310 * configure: Regenerate.
15311 * config.h.in: Regenerate.
15313 2006-02-15 Jakub Jelinek <jakub@redhat.com>
15317 * Makefile.am (fincludedir): New variable.
15318 (nodist_include_HEADERS): Remove Fortran files.
15319 (nodist_finclude_HEADERS): New variable.
15320 * Makefile.in: Regenerated.
15322 2006-02-13 Jakub Jelinek <jakub@redhat.com>
15324 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
15325 Remove tests for returning assumed character length arrays.
15327 2006-02-12 Roger Sayle <roger@eyesopen.com>
15328 John David Anglin <dave@hiauly1.hia.nrc.ca>
15331 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
15333 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
15335 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
15337 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
15339 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
15340 part of LD_LIBRARY_PATH manually.
15342 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
15345 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
15348 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
15351 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
15352 * configure.ac (PERL): Don't set.
15353 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
15354 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
15355 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
15356 * omp.h.in: Wrap the new configure substitutions with @ characters.
15357 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
15358 * aclocal.m4, configure, Makefile.in: Regenerate.
15359 * mkomp_h.pl: Delete.
15361 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
15364 * configure.ac: Use GCC_HEADER_STDINT.
15365 * libgomp.h: Include gstdint.h.
15366 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
15367 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
15369 2006-01-24 Richard Henderson <rth@redhat.com>
15372 * configure.ac: Add AM_MAINTAINER_MODE.
15373 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
15375 2006-01-24 Diego Novillo <dnovillo@redhat.com>
15377 * Makefile.in: Regenerate.
15378 * testsuite/Makefile.in: Regenerate.
15379 * aclocal.m4: Regenerate.
15381 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
15383 * config/posix/proc.c: Conditional include of sys/loadavg.h for
15385 * configure.ac: Add check for loadavg.h.
15386 (link_gomp): Adjust comment.
15387 * configure: Regenerate.
15388 * config.h.in: Regenerate.
15390 2006-01-21 Steve Ellcey <sje@cup.hp.com>
15393 * configure.ac: Remove check for alloca.h.
15394 * configure: Regenerate.
15395 * config.h.in: Regenerate.
15396 * libgomp.h: define gomp_alloca to be __builtin_alloca.
15397 * team.c: Remove use of alloca.h.
15398 Call gomp_alloca instead of alloca.
15400 2006-01-20 Steve Ellcey <sje@cup.hp.com>
15403 * team.c: Add include of alloca.h.
15404 * configure.ac: Add check for alloca.h.
15405 * configure: Regenerate.
15406 * config.h.in: Regenerate.
15408 2006-01-17 Jakub Jelinek <jakub@redhat.com>
15411 * testsuite/libgomp.fortran/pr25219.f90: New test.
15413 2005-12-05 Uros Bizjak <uros@kss-loka.si>
15415 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
15416 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
15417 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15418 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15419 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
15420 testsuite/libgomp.fortran/threadprivate1.f90,
15421 testsuite/libgomp.fortran/threadprivate2.f90,
15422 testsuite/libgomp.fortran/threadprivate3.f90,
15423 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15424 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15425 testsuite/libgomp.fortran/omp_parse3.f90: Change required
15426 effective-target to TLS runtime.
15428 * testsuite/libgomp.fortran/pr25162.f: Require
15429 effective-target TLS runtime.
15431 2005-12-01 Jakub Jelinek <jakub@redhat.com>
15433 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
15434 * testsuite/libgomp.c/nestedfn-3.c: New test.
15436 2005-11-30 Jakub Jelinek <jakub@redhat.com>
15439 * testsuite/libgomp.fortran/pr25162.f: New test.
15441 2005-11-28 Jakub Jelinek <jakub@redhat.com>
15443 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
15444 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
15446 2005-11-25 Jakub Jelinek <jakub@redhat.com>
15448 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
15449 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
15450 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
15451 single.c, team.c, work.c, config/linux/alpha/futex.h,
15452 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
15453 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
15454 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
15455 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
15456 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
15457 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
15458 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
15461 2005-11-18 Jakub Jelinek <jakub@redhat.com>
15463 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
15464 to nodist_noinst_HEADERS.
15465 * Makefile.in: Rebuilt.
15467 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
15468 add integer count field.
15469 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
15470 omp_nest_lock_t type change.
15471 (omp_init_nest_lock): Likewise. Initialize count to 0.
15472 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
15474 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
15476 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
15477 Increment count if successful and return the new nesting level.
15478 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
15479 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
15480 * testsuite/libgomp.c/lib-1.c: New test.
15481 * testsuite/libgomp.fortran/lib1.f90: New test.
15482 * testsuite/libgomp.fortran/lib2.f: New test.
15483 * testsuite/libgomp.fortran/lib3.f: New test.
15485 2005-11-17 Richard Henderson <rth@redhat.com>
15488 * Makefile.am (nodist_toolexeclib_HEADERS): New.
15489 * configure.ac (link_gomp): New. Substitute it.
15490 (AC_CONFIG_FILES): Add libgomp.spec.
15491 * libgomp.spec.in: New file.
15492 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
15493 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
15495 2005-11-18 Jakub Jelinek <jakub@redhat.com>
15497 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
15498 reduction(-:var) behaving the same as reduction(+:var).
15499 * testsuite/libgomp.c/reduction-4.c: New test.
15501 2005-11-15 Uros Bizjak <uros@kss-loka.si>
15503 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
15504 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
15505 testsuite/libgomp.c/copyin-3.c,
15506 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
15507 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
15508 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
15509 testsuite/libgomp.c++/pr24455.C,
15510 testsuite/libgomp.fortran/threadprivate1.f90,
15511 testsuite/libgomp.fortran/threadprivate2.f90,
15512 testsuite/libgomp.fortran/threadprivate3.f90,
15513 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
15514 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
15515 testsuite/libgomp.fortran/omp_parse3.f90: Require
15516 effective-target TLS.
15518 2005-11-14 Diego Novillo <dnovillo@redhat.com>
15522 2005-11-13 Jakub Jelinek <jakub@redhat.com>
15525 * team.c (initialize_team): Pass NULL rather than free as
15526 pthread_key_create destructor. Initialize thread specific data
15527 pointer in initial thread to a static local variable rather than
15530 2005-11-11 Uros Bizjak <uros@kss-loka.si>
15532 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
15533 its location to ld_library_path.
15535 2005-11-10 Diego Novillo <dnovillo@redhat.com>
15537 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
15539 2005-11-10 Diego Novillo <dnovillo@redhat.com>
15541 * testsuite/libgomp.c: Rename from libgomp.dg.
15543 2005-11-09 Diego Novillo <dnovillo@redhat.com>
15545 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
15546 threadprivate variable 'i'.
15548 2005-11-09 Jakub Jelinek <jakub@redhat.com>
15550 * config/linux/s390/futex.h: New file.
15551 * configure.tgt: Use it.
15553 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
15554 before the parallel.
15556 2005-11-08 Jakub Jelinek <jakub@redhat.com>
15559 * testsuite/libgomp.c++/master-1.C: New test.
15561 2005-11-07 Jakub Jelinek <jakub@redhat.com>
15563 * testsuite/libgomp.dg/copyin-3.c: New test.
15565 2005-11-07 Jakub Jelinek <jakub@redhat.com>
15567 * testsuite/libgomp.fortran/retval1.f90: New test.
15568 * testsuite/libgomp.fortran/vla7.f90: New test.
15570 2005-11-06 Jakub Jelinek <jakub@redhat.com>
15572 * testsuite/libgomp.fortran/vla2.f90: New test.
15573 * testsuite/libgomp.fortran/vla3.f90: New test.
15574 * testsuite/libgomp.fortran/vla4.f90: New test.
15575 * testsuite/libgomp.fortran/vla5.f90: New test.
15576 * testsuite/libgomp.fortran/vla6.f90: New test.
15578 2005-11-01 Jakub Jelinek <jakub@redhat.com>
15580 * config/linux/sparc/futex.h: New file.
15581 * configure.tgt: Use it.
15582 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
15584 * critical.c: Include stdlib.h.
15585 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
15586 ignoring return value.
15587 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
15588 LIBGOMP_CHECK_SYNC_BUILTINS check.
15589 * configure: Rebuilt.
15591 2005-10-31 Jakub Jelinek <jakub@redhat.com>
15593 * testsuite/libgomp.fortran/vla1.f90: New test.
15595 2005-10-31 Richard Henderson <rth@redhat.com>
15597 * testsuite/libgomp.fortran/character2.f90: Fix race condition
15598 setting 's' in different threads.
15600 2005-10-31 Jakub Jelinek <jakub@redhat.com>
15602 * libgomp.h (attribute_hidden, ialias): Define.
15603 * config/posix/proc.c (omp_get_num_procs): Add ialias.
15604 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
15605 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
15606 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15607 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15608 omp_test_lock, omp_test_nest_lock): Likewise.
15609 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
15610 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
15611 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
15612 omp_test_lock, omp_test_nest_lock): Likewise.
15613 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
15614 omp_get_dynamic, omp_get_nested): Likewise.
15615 * parallel.c (omp_get_num_threads, omp_get_max_threads,
15616 omp_get_thread_num, omp_in_parallel): Likewise.
15617 * fortran.c (ialias_redirect): Define.
15618 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
15619 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
15620 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
15621 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
15622 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
15623 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
15624 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
15625 omp_get_wtime): Add ialias_redirect.
15627 2005-10-30 Jakub Jelinek <jakub@redhat.com>
15629 * fortran.c: Include stdlib.h.
15631 2005-10-29 Jakub Jelinek <jakub@redhat.com>
15633 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
15634 * Makefile.in: Regenerated.
15636 2005-10-28 Jakub Jelinek <jakub@redhat.com>
15638 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
15639 * libgomp_f.h.in (omp_check_defines): New function.
15640 * env.c: Include libgomp_f.h.
15641 (initialize_env): Call omp_check_defines.
15643 * testsuite/libgomp.dg/copyin-2.c: New test.
15644 * testsuite/libgomp.c++/copyin-2.C: New test.
15645 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
15647 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
15648 * testsuite/libgomp.fortran/sharing2.f90: New test.
15650 * testsuite/libgomp.dg/copyin-1.c: New test.
15651 * testsuite/libgomp.c++/copyin-1.C: New test.
15653 2005-10-26 Jakub Jelinek <jakub@redhat.com>
15655 * testsuite/libgomp.fortran/crayptr1.f90: New test.
15657 * testsuite/libgomp.fortran/workshare1.f90: New test.
15659 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
15661 * libgomp.fortran/sharing1.f90: New test.
15663 2005-10-24 Jakub Jelinek <jakub@redhat.com>
15666 * testsuite/libgomp.c++/loop-7.C: New test.
15668 * testsuite/libgomp.dg/nestedfn-2.c: New test.
15670 * testsuite/libgomp.dg/nestedfn-1.c: New test.
15671 * testsuite/libgomp.fortran/reduction6.f90: New test.
15672 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
15674 2005-10-23 Richard Henderson <rth@redhat.com>
15676 * testsuite/libgomp.c++/ctor-1.C: New.
15677 * testsuite/libgomp.c++/ctor-2.C: New.
15678 * testsuite/libgomp.c++/ctor-3.C: New.
15679 * testsuite/libgomp.c++/ctor-4.C: New.
15680 * testsuite/libgomp.c++/ctor-5.C: New.
15681 * testsuite/libgomp.c++/ctor-6.C: New.
15682 * testsuite/libgomp.c++/ctor-7.C: New.
15683 * testsuite/libgomp.c++/ctor-8.C: New.
15684 * testsuite/libgomp.c++/ctor-9.C: New.
15686 2005-10-21 Diego Novillo <dnovillo@redhat.com>
15689 * testsuite/libgomp.c++/pr24455-1.C: New test.
15690 * testsuite/libgomp.c++/pr24455.C: New test.
15691 * testsuite/libgomp.dg/pr24455-1.c: New test.
15692 * testsuite/libgomp.dg/pr24455.c: New test.
15694 2005-10-20 Richard Henderson <rth@redhat.com>
15696 * testsuite/libgomp.c++/loop-6.C: New.
15697 * testsuite/libgomp.dg/loop-3.c: New.
15699 2005-10-20 Jakub Jelinek <jakub@redhat.com>
15701 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
15702 explicitly private.
15703 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
15706 2005-10-19 Diego Novillo <dnovillo@redhat.com>
15708 * testsuite/libgomp.fortran/jacobi.f: New test.
15710 2005-10-19 Richard Henderson <rth@redhat.com>
15712 * configure.tgt (i?86-linux): Default to with_arch instead of
15713 CFLAGS. Add -mtune to match target_cpu.
15714 (x86_64-linux): Tune to i686.
15716 * fortran.c (omp_test_nest_lock_): Fix typo.
15718 2005-10-19 Jakub Jelinek <jakub@redhat.com>
15720 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
15721 gomp_ordered_sync): Do nothing if team->nthreads == 1.
15722 * testsuite/libgomp.dg/ordered-3.c: New test.
15724 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
15725 Remove volatile keyword.
15727 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
15728 in COMMON block to avoid warnings on 64-bit targets.
15730 2005-10-18 Diego Novillo <dnovillo@redhat.com>
15732 * testsuite/libgomp.dg/shared-3.c: New test.
15734 2005-10-18 Jakub Jelinek <jakub@redhat.com>
15736 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
15737 * testsuite/libgomp.fortran/reduction5.f90: New test.
15739 2005-10-18 Jakub Jelinek <jakub@redhat.com>
15741 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
15743 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
15744 flush loop now that __sync_synchronize has proper memory barrier.
15745 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
15746 Add -ffixed-form to dg-options.
15748 2005-10-17 Diego Novillo <dnovillo@redhat.com>
15750 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
15751 from subdirectories.
15752 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
15753 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
15754 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
15755 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
15756 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
15757 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
15758 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
15759 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
15760 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
15761 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
15762 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
15763 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
15764 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
15765 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
15766 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
15767 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
15768 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
15769 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
15770 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
15771 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
15772 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
15773 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
15774 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
15775 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
15776 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
15778 2005-10-17 Jakub Jelinek <jakub@redhat.com>
15780 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
15781 lang_library_path exists. Use find instead of glob to gather tests.
15782 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
15784 2005-10-17 Diego Novillo <dnovillo@redhat.com>
15786 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
15787 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
15788 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
15789 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
15790 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
15791 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
15792 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
15793 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
15794 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
15795 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
15796 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
15797 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
15798 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
15800 2005-10-15 Jakub Jelinek <jakub@redhat.com>
15802 * testsuite/libgomp.dg/vla-1.c: New test.
15804 * testsuite/libgomp.fortran/reference2.f90: New test.
15806 * testsuite/libgomp.fortran/character2.f90: Remove explicit
15807 declaration of omp_get_thread_num.
15808 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
15811 * testsuite/libgomp.fortran/reduction1.f90: New test.
15812 * testsuite/libgomp.fortran/reduction2.f90: New test.
15813 * testsuite/libgomp.fortran/reduction3.f90: New test.
15814 * testsuite/libgomp.fortran/reduction4.f90: New test.
15816 2005-10-13 Richard Henderson <rth@redhat.com>
15818 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
15819 * Makefile.in: Regenerate.
15820 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
15821 * libgomp.h: Include bar.h.
15822 (struct gomp_barrier): Remove.
15823 (struct gomp_team): Add barrier. Replace master_barrier with
15824 master_release. Replace threads with ordered_release.
15825 (struct gomp_thread): Replace barrier with release.
15826 * ordered.c (gomp_ordered_first): Update for ordered_release change.
15827 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
15828 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
15829 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
15830 (GOMP_single_copy_end): Likewise.
15831 * team.c (gomp_threads_dock): New.
15832 (gomp_barrier_init, gomp_barrier_destroy): Remove.
15833 (gomp_thread_start): Use gomp_barrier_wait.
15834 (new_team, free_team): Update for gomp_team changes.
15835 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
15836 (gomp_team_end): Use gomp_barrier_wait.
15837 (initialize_team): Update for gomp_thread changes.
15838 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
15839 (gomp_work_share_end_nowait): Use atomic ops when available.
15840 * config/linux/bar.c, config/linux/bar.h: New files.
15841 * config/posix/bar.c, config/posix/bar.h: New files.
15843 2005-10-13 Jakub Jelinek <jakub@redhat.com>
15845 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
15846 * testsuite/libgomp.dg/single-2.c: New test.
15848 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
15849 lang_link_flags): Unset, so that they aren't inherited from previously
15852 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
15854 2005-10-12 Richard Henderson <rth@redhat.com>
15856 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
15857 (libgomp_init): Use lang_test_file, lang_library_path, and
15858 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
15860 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
15861 (lang_test_file, lang_link_flags): New.
15862 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
15864 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
15865 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
15866 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
15867 testsuite/libgomp.c++/parallel-1.C,
15868 testsuite/libgomp.c++/reduction-1.C,
15869 testsuite/libgomp.c++/reduction-2.C,
15870 testsuite/libgomp.c++/reduction-3.C,
15871 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
15872 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
15873 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
15874 New files, largely cribbed from the C testsuite.
15876 2005-10-12 Jakub Jelinek <jakub@redhat.com>
15878 * testsuite/libgomp.fortran/character1.f90: New test.
15879 * testsuite/libgomp.fortran/character2.f90: New test.
15881 * testsuite/libgomp.dg/nested-1.c: New test.
15882 * testsuite/libgomp.dg/nested-2.c: New test.
15883 * testsuite/libgomp.fortran/do1.f90: New test.
15884 * testsuite/libgomp.fortran/do2.f90: New test.
15886 * testsuite/libgomp.fortran/reference1.f90: New test.
15888 2005-10-11 Jakub Jelinek <jakub@redhat.com>
15890 * testsuite/libgomp.dg/reduction-1.c: New test.
15891 * testsuite/libgomp.dg/reduction-2.c: New test.
15892 * testsuite/libgomp.dg/reduction-3.c: New test.
15894 2005-10-10 Jakub Jelinek <jakub@redhat.com>
15896 * testsuite/libgomp.dg/atomic-1.c: New test.
15897 * testsuite/libgomp.dg/atomic-2.c: New test.
15899 2005-10-09 Richard Henderson <rth@redhat.com>
15901 * critical.c (atomic_lock): New.
15902 (initialize_critical): Initialize it.
15903 (GOMP_atomic_start, GOMP_atomic_end): New.
15904 * libgomp.map: Export them.
15905 * libgomp_g.h: Declare them.
15907 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
15909 2005-10-02 Richard Henderson <rth@redhat.com>
15911 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
15912 to XCFLAGS instead of CFLAGS.
15914 2005-09-30 Richard Henderson <rth@redhat.com>
15916 * configure.ac: Determine whether -pthread or -lpthread is needed.
15917 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
15918 * Makefile.in, configure: Rebuild.
15920 2005-09-28 Richard Henderson <rth@redhat.com>
15922 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
15923 * testsuite/libgomp.dg/omp-single-3.c: New test.
15925 2005-09-28 Diego Novillo <dnovillo@redhat.com>
15927 * testsuite/libgomp.dg/omp-single-2.c: New test.
15928 * testsuite/libgomp.dg/shared-2.c: Fix return code.
15930 2005-09-27 Richard Henderson <rth@redhat.com>
15932 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
15933 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
15935 2005-09-27 Jakub Jelinek <jakub@redhat.com>
15937 * testsuite/libgomp.dg/omp-loop03.c: New test.
15939 2005-09-27 Diego Novillo <dnovillo@redhat.com>
15941 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
15943 2005-09-27 Diego Novillo <dnovillo@redhat.com>
15945 * testsuite/libgomp.dg/omp-single-1.c: New test.
15946 * testsuite/libgomp.dg/shared-1.c: Return 0.
15947 Add prototype for abort.
15948 * testsuite/libgomp.dg/shared-2.c: Likewise.
15950 2005-09-26 Jakub Jelinek <jakub@redhat.com>
15952 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
15955 2005-09-26 Diego Novillo <dnovillo@redhat.com>
15957 * testsuite/libgomp.dg/shared-1.c: New test.
15958 * testsuite/libgomp.dg/shared-2.c: New test.
15960 2005-09-24 Richard Henderson <rth@redhat.com>
15962 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
15964 2005-09-24 Richard Henderson <rth@redhat.com>
15966 * iter.c (gomp_iter_static_next): Round up when computing number
15967 of iterations. Don't bother distributing a remainder equally.
15969 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
15970 Don't call srand. Zero b before testing.
15973 2005-09-24 Jakub Jelinek <jakub@redhat.com>
15975 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
15976 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
15978 2005-09-23 Jakub Jelinek <jakub@redhat.com>
15980 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
15981 without !$omp end do, followed immediately by subroutine end.
15983 2005-09-23 Diego Novillo <dnovillo@redhat.com>
15985 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
15987 2005-09-22 Richard Henderson <rth@redhat.com>
15989 * critical.c (GOMP_critical_name_start): Change argument to void**.
15990 Reuse the pointer space if the mutex fits.
15991 (GOMP_critical_name_end): Likewise.
15992 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
15993 * libgomp_g.h (GOMP_critical_name_start): Update decl.
15994 (GOMP_critical_name_end): Likewise.
15995 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
15996 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
15998 2005-09-20 Richard Henderson <rth@redhat.com>
16000 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16001 (create_lock_lock): New.
16002 (initialize_critical): Initialize it.
16003 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
16004 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
16006 2005-09-20 Diego Novillo <dnovillo@redhat.com>
16008 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
16010 2005-09-20 Diego Novillo <dnovillo@redhat.com>
16012 * testsuite/libgomp.dg/omp-loop01.c: New test.
16013 * testsuite/libgomp.dg/omp-loop02.c: New test.
16015 2005-09-20 Jakub Jelinek <jakub@redhat.com>
16017 * configure.ac (AC_PROG_FC): Add.
16018 (USE_FORTRAN): New automake conditional.
16019 * configure: Rebuilt.
16020 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
16021 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
16022 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
16023 Add rules to build them.
16024 * Makefile.in: Rebuilt.
16025 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
16026 OMP_NEST_LOCK_KIND.
16027 * libgomp.map: Add Fortran wrappers.
16028 * libgomp_f.h.in: New file.
16029 * omp_lib.h.in: New file.
16030 * omp_lib.f90.in: New file.
16031 * fortran.c: New file.
16032 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
16033 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
16034 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
16035 libgfortran has been built.
16036 * testsuite/libgomp.fortran/fortran.exp: New file.
16037 * testsuite/libgomp.fortran/omp_cond1.f: New test.
16038 * testsuite/libgomp.fortran/omp_cond2.f: New test.
16039 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
16040 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
16041 * testsuite/libgomp.fortran/omp_hello.f: New test.
16042 * testsuite/libgomp.fortran/omp_orphan.f: New test.
16043 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
16044 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
16045 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
16046 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
16047 * testsuite/libgomp.fortran/omp_reduction.f: New test.
16048 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
16049 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
16051 2005-08-30 Richard Henderson <rth@redhat.com>
16053 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
16054 function for when aliases are not usable.
16055 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
16056 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16057 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
16058 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
16059 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
16060 GOMP_loop_ordered_guided_next): Likewise.
16061 * ordered.c (GOMP_ordered_start): Likewise.
16063 2005-08-01 Diego Novillo <dnovillo@redhat.com>
16065 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
16066 * testsuite/libgomp.dg/omp_hello.c: Fix return code
16067 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
16068 * testsuite/libgomp.dg/omp_orphan.c: Likewise
16069 * testsuite/libgomp.dg/omp_reduction.c: Likewise
16070 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
16071 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
16072 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
16073 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
16075 2005-07-07 Eric Christopher <echristo@redhat.com>
16076 Diego Novillo <dnovillo@redhat.com>
16078 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
16079 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
16081 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
16082 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
16083 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
16084 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
16085 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
16086 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
16087 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
16089 2005-06-13 Diego Novillo <dnovillo@redhat.com>
16091 * TOPLEVEL.patch: Remove.
16093 2005-05-16 Richard Henderson <rth@redhat.com>
16095 * configure.ac: Test for clock_gettime.
16096 * config.h.in, configure: Rebuild.
16097 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
16098 (omp_get_wtime): Use clock_gettime if available.
16099 (omp_get_wtick): Use clock_getres if available.
16101 2005-05-11 Richard Henderson <rth@redhat.com>
16103 * config/linux/ia64/futex.h: New file.
16104 * configure.tgt: Use it.
16106 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
16108 2005-05-07 Richard Henderson <rth@redhat.com>
16110 * config/linux/powerpc/futex.h: New file.
16111 * configure.tgt: Use it.
16113 * config/linux/i486/futex.h: Merge ...
16114 * config/linux/x86_64/futex.h: ... into ...
16115 * config/linux/x86/futex.h: ... here.
16116 * configure.tgt: Update to match.
16118 2005-05-06 Richard Henderson <rth@redhat.com>
16120 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
16121 * config/linux/i486/futex.h: Likewise.
16122 * config/linux/x86_64/futex.h: Likewise.
16124 * config/linux/lock.c: New file.
16125 * config/linux/omp-lock.h: New file.
16127 * critical.c, env.h: Don't include omp.h
16128 * config/posix/lock.c: Include libgomp.h instead of omp.h.
16129 * config/posix/time.c: Likewise.
16130 * config/posix/omp-lock.h: New file.
16131 * libgomp.h: Include omp-lock.h and omp.h.
16132 * Makefile.am (nodist_include_HEADERS): New.
16134 * configure.ac (PERL): New.
16135 * mkomp_h.pl: New file.
16136 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
16138 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
16140 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
16141 build directory. Re-add -march=i486 hack.
16143 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
16144 (libgomp_link_flags): Remove.
16145 (libgomp_initialized): Remove.
16146 (libgomp_init): Don't protect from reinitialization. Copy code
16147 from libstdc++ for getting the multilib set correctly.
16149 2005-05-05 Richard Henderson <rth@redhat.com>
16151 * config/linux/alpha/futex.h: New file.
16152 * configure.tgt (alpha*-*-linux*): Use it.
16154 * config/posix/mutex.c: New file.
16155 * config/posix/sem.c: Use libgomp.h.
16157 * configure.tgt (x86_64-linux): Also test CC for -m32.
16158 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
16160 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
16163 * Makefile.am (SUBDIRS): New.
16164 (libgomp_la_LDFLAGS): Add -lpthread.
16165 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
16166 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
16168 * libgomp_g.h: New file.
16169 * libgomp.h: Split out all public declarations to libgomp_g.h.
16170 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
16171 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
16172 * config/linux/sem.h: Likewise.
16173 * config/posix/sem.h: Likewise.
16175 * Makefile.am (AM_LDFLAGS): New.
16176 (libgomp_version_script): Split out from ...
16177 (libgomp_la_LDFLAGS): ... here.
16178 (libgomp_version_info): New.
16179 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
16180 (LIBGOMP_ENABLE): New.
16181 (LIBGOMP_CHECK_LINKER_FEATURES): New.
16182 (LIBGOMP_ENABLE_SYMVERS): New.
16183 * configure.ac (AC_INIT): Version 1.0.
16184 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
16185 (enable-linux-futex): Likewise. Rename from enable-futex.
16186 (libtool_VERSION): New.
16187 (LIBGOMP_ENABLE_SYMVERS): Use it.
16188 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
16189 * Makefile.in, aclocal.m4, configure: Rebuild.
16191 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
16192 (gomp_mutex_unlock_slow): Fix typo.
16193 * config/linux/sem.c: Similarly.
16194 (gomp_sem_post_slow): Fix typo.
16195 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
16196 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
16197 [__PIC__] (sys_futex0): Don't use tmp output in asm.
16199 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
16200 (libgomp_la_LDFLAGS): Add top_srcdir to path.
16201 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
16202 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
16203 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
16204 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
16205 LDFLAGS. Pull enable_futex check to top-level.
16206 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
16207 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
16209 First attempt at real configury.
16210 * Makefile, config.h: Remove file.
16211 * Makefile.am, Makefile.in: New file.
16212 * acinclude.m4 aclocal.m4: New file.
16213 * configure.ac, configure.tgt, configure: New file.
16215 * config/posix/lock.c: Rename from sys-lock.c.
16216 * config/posix/mutex.h: Rename from sys-mutex.h.
16217 * config/posix/sem.c: Rename from sys-sem.c.
16218 * config/posix/sem.h: Rename from sys-sem.h.
16219 * config/posix/proc.c: Rename from sys-proc.c.
16220 * config/posix/time.c: Rename from sys-proc.c.
16222 * config/linux/mutex.c: New file.
16223 * config/linux/mutex.h: New file.
16224 * config/linux/sem.c: New file.
16225 * config/linux/sem.h: New file.
16226 * config/linux/i486/futex.h: New file.
16227 * config/linux/x86_64/futex.h: New file.
16229 2005-05-04 Richard Henderson <rth@redhat.com>
16231 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
16232 * libgomp.h: Declare them.
16233 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
16234 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
16236 2005-05-04 Richard Henderson <rth@redhat.com>
16238 * libgomp-1 code drop
16240 2005-05-04 Richard Henderson <rth@redhat.com>
16242 * iter.c (gomp_iter_static_next): Return tri-state on 0.
16243 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
16244 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
16245 (gomp_iter_static_next): Update.
16246 (gomp_ordered_static_next): Update.
16247 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
16248 (gomp_loop_ordered_static_start): Likewise. Exit early for a
16249 totally empty range.
16250 (gomp_loop_ordered_static_next): Refine test for calling
16251 gomp_ordered_static_next.
16252 * testsuite/ordered-1.c: Add case for more threads than iterations.
16254 * iter.c (gomp_iter_runtime_next_locked): Remove.
16255 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
16256 gomp_loop_guided_start, gomp_loop_ordered_static_start,
16257 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
16258 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
16259 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
16260 gomp_loop_ordered_guided_next): Downcase name, make static, add
16261 an external alias with the old name.
16262 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
16263 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
16264 switch and call one of the above static functions.
16265 * libgomp.h: Update.
16267 * work.c (gomp_work_share_start): Lock the mutex for !first too.
16268 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
16269 GOMP_loop_guided_start, GOMP_loop_runtime_start,
16270 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16271 GOMP_loop_ordered_guided_start): Update to match.
16272 * sections.c (GOMP_sections_start): Likewise.
16273 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
16275 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16276 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
16277 Use bounds check instead of modulus.
16278 (gomp_ordered_sync): Split out of GOMP_ordered_start.
16279 (gomp_ordered_last): Don't sync with ordered_owner here.
16280 (gomp_ordered_next): Likewise.
16281 (gomp_ordered_static_loop_next): Likewise.
16282 * loop.c, libgomp.h: Update to match.
16284 * libgomp.h (GOMP_barrier): Declare.
16286 * testsuite/barrier-1.c: New file.
16287 * testsuite/critical-1.c: New file.
16288 * testsuite/ordered-2.c: New file.
16289 * testsuite/ordered-1.c: New file.
16290 * testsuite/sections-1.c: New file.
16291 * testsuite/single-1.c: New file.
16292 * testsuite/Makefile (TESTS): Add them.
16294 2005-05-04 Richard Henderson <rth@redhat.com>
16296 * libgomp.h (struct gomp_work_share): Add ordered_owner.
16297 * loop.c (GOMP_loop_static_start): If not the startup thread,
16298 acquire the mutex to wait for initialization complete.
16299 (GOMP_loop_ordered_static_start): Likewise.
16300 (GOMP_loop_ordered_runtime_start): Likewise.
16301 (GOMP_loop_ordered_static_first): Remove.
16302 (GOMP_loop_ordered_dynamic_first): Remove.
16303 (GOMP_loop_ordered_guided_first): Remove.
16304 (GOMP_loop_ordered_runtime_first): Remove.
16305 * ordered.c (gomp_ordered_loop_first): Post to own release when
16306 we're the first thread.
16307 (gomp_ordered_loop_last): Wait on release if not owner.
16308 (gomp_ordered_loop_next): Likewise.
16309 (gomp_ordered_static_loop_init): New.
16310 (gomp_ordered_static_loop_next): Use ordered_owner.
16311 (GOMP_ordered_start): Likewise.
16312 * work.c (gomp_new_work_share): Initialize ordered_owner.
16314 2005-05-03 Richard Henderson <rth@redhat.com>
16316 * Makefile (OPT): New.
16319 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
16320 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
16321 * libgomp.h, libgomp.map, NOTES: Update to match.
16323 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
16324 Add initialized and thr members.
16325 (gomp_thread_start): Pause when initially spawned to wait for
16326 the whole team to be created.
16327 (gomp_team_start): Release team members at the end.
16329 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
16330 (f_foo_1): Use GOMP_loop_end.
16331 (f_foo_2): Use GOMP_loop_end_nowait.
16333 * testsuite/loop-2.c: New file.
16334 * testsuite/Makefile (TESTS): Add it.
16336 2005-05-03 Richard Henderson <rth@redhat.com>
16338 * iter.c (gomp_iter_static_next): Fix overflow check typo.
16339 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
16340 * team.c (new_team): Initialize oldest_live_gen to 1 if no
16341 initial work_share.
16343 * testsuite/Makefile: New file.
16344 * testsuite/loop-1.c: New file.
16346 2005-05-03 Richard Henderson <rth@redhat.com>
16348 Initial implementation and checkin.
16350 Copyright (C) 2005-2021 Free Software Foundation, Inc.
16352 Copying and distribution of this file, with or without modification,
16353 are permitted in any medium without royalty provided the copyright
16354 notice and this notice are preserved.