1 2023-11-05 Jakub Jelinek <jakub@redhat.com>
3 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
6 2023-10-31 Thomas Schwinge <thomas@codesourcery.com>
8 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
9 'acc_map_data' variant.
11 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
13 * oacc-parallel.c (GOACC_data_start): Handle
14 'GOACC_FLAG_LOCAL_DEVICE'.
15 (GOACC_parallel_keyed): Simplify accordingly.
16 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
18 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
20 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
21 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
22 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
23 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
24 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
26 2023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
28 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
29 GOACC_FLAG_LOCAL_DEVICE case.
30 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
32 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
34 * Makefile.am: Handle Darwin rpaths.
35 * Makefile.in: Regenerate.
36 * configure: Regenerate.
37 * configure.ac: Handle Darwin rpaths
39 2023-10-20 Andrew Stubbs <ams@codesourcery.com>
41 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
42 (isa_hsa_name): Recognise gfx1030.
44 * team.c (defined): Remove s_endpgm.
46 2023-10-20 Tobias Burnus <tobias@codesourcery.com>
48 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
51 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
53 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
54 improve wording especially for Fortran; mention -fopenmp-simd.
55 (Enabling OpenACC): Minor cleanup; remove conditional compilation
58 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
60 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
61 Actually document what the function does.
62 (GCC_ACC_NOTIFY): Remove unused env var.
64 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
66 * libgomp.texi: Replace most future tense by present tense.
68 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
70 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
71 dg-additional-options "-fdump-tree-gimple"; fix scan.
73 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
75 * libgomp.texi: Fix some typos.
76 (Memory Management Routines): Document remaining 5.x routines.
77 (Memory allocation): Make clear when the section applies.
79 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
81 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
82 supports the allocate directive for stack variables.
83 * testsuite/libgomp.fortran/allocate-5.f90: New test.
84 * testsuite/libgomp.fortran/allocate-6.f90: New test.
85 * testsuite/libgomp.fortran/allocate-7.f90: New test.
86 * testsuite/libgomp.fortran/allocate-8.f90: New test.
88 2023-10-12 Tobias Burnus <tobias@codesourcery.com>
90 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
92 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
93 clarify MANDATORY behavior.
95 2023-10-12 Zhang, Jun <jun.zhang@intel.com>
97 * env.c (initialize_env): Use do_adjust_default_spincount.
98 * config/linux/x86/spincount.h: New file.
100 2023-10-08 Tobias Burnus <tobias@codesourcery.com>
102 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
104 2023-10-06 Tobias Burnus <tobias@codesourcery.com>
106 * libgomp.texi (Device Memory Routines): New.
108 2023-10-04 Tobias Burnus <tobias@codesourcery.com>
110 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
111 and that other target archs have no 'arch'/'isa' traits implemented.
113 2023-09-20 Tobias Burnus <tobias@codesourcery.com>
115 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
116 implemented for C only.
117 * testsuite/libgomp.c/allocate-4.c: New test.
118 * testsuite/libgomp.c/allocate-5.c: New test.
119 * testsuite/libgomp.c/allocate-6.c: New test.
121 2023-09-20 Jakub Jelinek <jakub@redhat.com>
124 * libgomp.texi: Mark decl attribute was added to the C++ attribute
125 syntax as implemented.
127 2023-09-19 Jakub Jelinek <jakub@redhat.com>
130 * env.c (initialize_env): Don't dereference environ if it is NULL.
133 2023-09-18 Richard Biener <rguenther@suse.de>
135 PR tree-optimization/111294
136 * team.c (gomp_team_start): Assert alloca size to avoid false
137 positive alloc-size diagnostic.
139 2023-09-12 Thomas Schwinge <thomas@codesourcery.com>
140 Chung-Lin Tang <cltang@codesourcery.com>
144 * configure.ac: Revert earlier changes, instead
145 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
146 * Makefile.in: Regenerate.
147 * configure: Likewise.
148 * testsuite/Makefile.in: Likewise.
149 * testsuite/lib/libgomp.exp (libgomp_init): Remove
150 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
151 If '--with-build-sysroot=[...]' was specified, use it for
153 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
154 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
155 (SYSROOT_CFLAGS_FOR_TARGET): Set.
156 * testsuite/libgomp.c++/c++.exp (lang_source_re)
157 (lang_include_flags): Set for build-tree testing.
158 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
159 (lang_include_flags): Likewise.
161 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
163 * libgomp.texi (Memory Management Routines): New; add documentation for
164 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
165 omp_get_default_allocator.
166 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
168 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
170 * target.c (gomp_unload_device): Remove tailing whitespace.
172 2023-09-04 Tobias Burnus <tobias@codesourcery.com>
173 Thomas Schwinge <thomas@codesourcery.com>
175 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
177 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
179 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
181 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
183 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
184 * testsuite/libgomp.fortran/imperfect1.f90: New.
185 * testsuite/libgomp.fortran/imperfect2.f90: New.
186 * testsuite/libgomp.fortran/imperfect3.f90: New.
187 * testsuite/libgomp.fortran/imperfect4.f90: New.
188 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
189 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
190 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
191 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
193 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
195 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
196 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
197 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
198 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
199 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
200 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
201 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
202 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
203 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
204 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
206 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
208 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
209 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
210 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
211 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
212 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
213 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
214 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
215 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
216 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
217 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
218 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
219 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
220 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
222 2023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
224 * testsuite/lib/libgomp.exp: Add effective target.
225 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
228 2023-08-22 Tobias Burnus <tobias@codesourcery.com>
230 * libgomp.texi (OpenMP 5.2 status): Add depobj with
231 destroy-var argument as 'N'. Mark defaultmap with
232 'all' category as 'Y'.
234 2023-08-19 Tobias Burnus <tobias@codesourcery.com>
237 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
239 2023-08-17 Tobias Burnus <tobias@codesourcery.com>
242 * allocator.c (gomp_init_libnuma): Call numa_available; if
243 not available or not returning 0, disable libnuma usage.
245 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
247 * configure: Regenerate.
249 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
251 * configure: Regenerate.
253 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
255 * configure: Regenerate.
257 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
259 * configure: Regenerate.
261 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
263 * configure: Regenerate.
265 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
267 * configure: Regenerate.
269 2023-07-29 Tobias Burnus <tobias@codesourcery.com>
271 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
272 GOMP_OFFLOAD_CAP_SHARED_MEM.
273 (omp_target_memcpy_rect_copy): Likewise for lock condition.
274 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
276 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
277 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
278 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
280 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
282 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
283 GOMP_OFFLOAD_memcpy3d): New prototypes.
284 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
286 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
287 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
288 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
289 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
290 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
291 GOMP_OFFLOAD_memcpy3d): New.
292 * target.c (omp_target_memcpy_rect_worker):
293 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
294 Permit all device-to-device copyies; invoke new plugins for
295 2D and 3D copying when available.
296 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
297 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
298 * testsuite/libgomp.fortran/target-12.f90: Likewise.
299 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
301 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
303 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
304 (Tasking Routines): Document omp_in_explicit_task.
305 (Implementation-defined ICV Initialization): Use @ref not @code.
307 2023-07-20 Tobias Burnus <tobias@codesourcery.com>
309 * libgomp.texi (OpenMP Runtime Library Routines):
310 Split long list by adding sections and moving routines there.
311 (OMP_ALLOCATORS): Fix typo.
313 2023-07-19 Tobias Burnus <tobias@codesourcery.com>
316 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
317 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
319 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
320 test file; tests are in non-rectangular-loop-1.f90.
321 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
322 testcase to use a non-constant step to retain the 'sorry' test.
323 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
325 2023-07-17 Tobias Burnus <tobias@codesoucery.com>
326 Chung-Lin Tang <cltang@codesourcery.com>
328 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
329 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
331 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
333 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
334 the traits. Add crossref to 'Memory allocation'.
335 (Memory allocation): Refer to OMP_ALLOCATOR for the available
336 traits and allocators/mem spaces; document the default value
337 for the pool_size trait.
339 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
341 * allocator.c (omp_init_allocator): Check whether symbol from
342 dlopened libnuma is available before using libnuma for
345 2023-07-13 David Edelsohn <dje.gcc@gmail.com>
347 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
348 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
349 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
351 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
353 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
354 'Memory allocation' section which contains the full status.
355 (TR11): Remove differently worded duplicated entry.
357 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
359 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
360 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
361 add GOMP_MEMKIND_LIBNUMA.
362 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
363 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
364 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
365 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
367 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
368 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
369 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
370 updated for libnuma usage.
371 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
372 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
374 2023-07-11 Tobias Burnus <tobias@codesourcery.com>
376 * allocator.c (omp_init_allocator): Use malloc for
377 omp_high_bw_mem_space when the memkind lib is unavailable
378 instead of returning omp_null_allocator.
379 * libgomp.texi (OpenMP 5.0): Fix typo.
380 (Memory allocation with libmemkind): Document implementation
383 2023-06-22 Tobias Burnus <tobias@codesourcery.com>
385 * libgomp.texi: Use @var for ICV vars.
386 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
387 document which ICV is set and which scope the ICV has; extend/cleanup
389 (Implementation-defined ICV Initialization): New.
390 (nvptx): Document the implementation-defined used per-warp stack size.
392 2023-06-19 Thomas Schwinge <thomas@codesourcery.com>
394 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
397 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
399 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
400 as expected dg-output.
402 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
405 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
406 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
407 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
408 * testsuite/libgomp.c/target-19.c: Update expected value.
409 * testsuite/libgomp.c++/target-18.C: Likewise.
410 * testsuite/libgomp.c++/target-19.C: Likewise.
411 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
412 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
413 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
415 2023-06-16 Tobias Burnus <tobias@codesourcery.com>
417 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
418 gomp_init_targets_once was called before using default-device-var.
419 * testsuite/libgomp.c/target-55.c: New test.
420 * testsuite/libgomp.c/target-55a.c: New test.
422 2023-06-15 Tobias Burnus <tobias@codesourcery.com>
424 * env.c (gomp_def_allocator_envvar): New var.
425 (parse_allocator): Handle OpenMP 5.1 syntax.
427 (omp_display_env): Output gomp_def_allocator_envvar
428 for an allocator with traits.
429 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
430 OMP_DISPLAY_AFFINITY): New.
431 * testsuite/libgomp.c/allocator-1.c: New test.
432 * testsuite/libgomp.c/allocator-2.c: New test.
433 * testsuite/libgomp.c/allocator-3.c: New test.
434 * testsuite/libgomp.c/allocator-4.c: New test.
435 * testsuite/libgomp.c/allocator-5.c: New test.
436 * testsuite/libgomp.c/allocator-6.c: New test.
438 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
440 * target.c (resolve_device): Align a
441 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
442 * testsuite/libgomp.c/target-51.c: Adjust.
444 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
446 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
448 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
450 * testsuite/libgomp.c/simd-math-1.c: Remove
451 '-foffload-options=-lm'.
452 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
454 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
457 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
459 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
460 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
463 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
465 * testsuite/libgomp.c/target-51.c: Fix typo.
467 2023-06-14 Tobias Burnus <tobias@codesourcery.com>
469 * env.c (gomp_default_icv_values): Init default_device_var to
470 an nonconforming value - INT_MIN.
471 (initialize_env): After env-var parsing, set default_device_var to
472 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
473 (omp_display_env): If default_device_var is INT_MIN, call
474 gomp_init_targets_once.
475 * icv-device.c (omp_get_default_device): Likewise.
476 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
477 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
478 * target.c (resolve_device): Improve error message device-num < 0
479 with 'mandatory' and no no-host devices available.
480 (gomp_target_init): Set default-device-var if INT_MIN.
481 * testsuite/libgomp.c/target-48.c: New test.
482 * testsuite/libgomp.c/target-49.c: New test.
483 * testsuite/libgomp.c/target-50.c: New test.
484 * testsuite/libgomp.c/target-50a.c: New test.
485 * testsuite/libgomp.c/target-51.c: New test.
486 * testsuite/libgomp.c/target-52.c: New test.
487 * testsuite/libgomp.c/target-53.c: New test.
488 * testsuite/libgomp.c/target-54.c: New test.
490 2023-06-13 Tobias Burnus <tobias@codesourcery.com>
493 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
494 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
496 2023-06-12 Tobias Burnus <tobias@codesourcery.com>
498 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
499 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
500 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
502 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
503 changed error message.
504 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
505 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
506 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
507 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
508 extend testcase to check that data is copied when needed.
509 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
510 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
512 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
513 Tobias Burnus <tobias@codesourcery.com>
515 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
516 also for non-offload_device targets; check that it runs
517 successfully for those and for all until a checkpoint for all
518 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
519 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
520 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
521 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
522 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
523 add missing vars to map clause.
525 2023-06-06 Tobias Burnus <tobias@codesourcery.com>
527 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
528 unified_address requirement as supported.
529 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
530 'unified_address' from the not-supported requirements.
532 2023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
533 Tobias Burnus <tobias@codesourcery.com>
535 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
536 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
537 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
539 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
540 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
541 Emit runtime error if memory region not present.
542 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
543 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
544 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
545 * testsuite/libgomp.fortran/target-present-1.f90: New test.
546 * testsuite/libgomp.fortran/target-present-2.f90: New test.
547 * testsuite/libgomp.fortran/target-present-3.f90: New test.
549 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
552 * testsuite/lib/libgomp.exp: 'flock' through stdout.
553 * testsuite/flock: New.
554 * configure.ac (FLOCK): Point to that if no 'flock' available, but
556 * configure: Regenerate.
558 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
560 * configure.ac (PERL): Remove.
561 * configure: Regenerate.
562 * Makefile.in: Likewise.
563 * testsuite/Makefile.in: Likewise.
565 2023-06-01 Tobias Burnus <tobias@codesourcery.com>
567 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
569 2023-05-26 Tobias Burnus <tobias@codesourcery.com>
571 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
573 2023-05-21 Tobias Burnus <tobias@codesourcery.com>
576 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
577 * config/nvptx/target.c (GOMP_teams4): Likewise.
578 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
579 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
580 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
581 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
583 2023-05-19 Jakub Jelinek <jakub@redhat.com>
586 * configure.ac (link_gomp): Include also $DL_LIBS.
587 * configure: Regenerated.
589 2023-05-17 Tobias Burnus <tobias@codesourcery.com>
591 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
593 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
594 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
595 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
596 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
598 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
601 * configure.ac: Look for 'flock'.
602 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
603 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
604 * testsuite/lib/libgomp.exp: ... but here, instead.
605 (libgomp_load): Override for parallel testing.
606 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
607 * configure: Regenerate.
608 * Makefile.in: Regenerate.
609 * testsuite/Makefile.in: Regenerate.
611 2023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
612 Thomas Schwinge <thomas@codesourcery.com>
615 * testsuite/Makefile.am (PWD_COMMAND): New variable.
616 (%/site.exp): New target.
617 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
618 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
619 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
621 (check_DEJAGNU_libgomp_targets): New variables.
622 ($(check_DEJAGNU_libgomp_targets)): New target.
623 ($(check_DEJAGNU_libgomp_targets)): New dependency.
624 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
625 * testsuite/Makefile.in: Regenerate.
626 * testsuite/lib/libgomp.exp: For parallel testing,
627 'load_file ../libgomp-test-support.exp'.
629 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
632 * configure.ac: 'AC_SUBST(CXX)'.
633 * configure: Regenerate.
634 * Makefile.in: Likewise.
635 * testsuite/Makefile.in: Likewise.
636 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
637 (GFORTRAN_UNDER_TEST): Set.
638 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
639 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
640 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
641 * testsuite/libgomp.fortran/fortran.exp: Use
642 'GFORTRAN_UNDER_TEST'.
643 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
645 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
648 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
650 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
651 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
652 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
653 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
655 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
656 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
657 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
660 2023-05-12 Tobias Burnus <tobias@codesourcery.com>
663 * testsuite/libgomp.c++/target-map-class-1.C: New test.
664 * testsuite/libgomp.c++/target-map-class-2.C: New test.
666 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
668 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
669 'lang_library_path' into a list of 'lang_library_paths'.
670 * testsuite/libgomp.c++/c++.exp: Adjust.
671 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
672 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
674 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
676 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
678 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
679 at 'lang_test_file_found'.
680 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
681 'return' early if not able to test. Simplify 'ld_library_path' setup.
682 * testsuite/libgomp.fortran/fortran.exp: Likewise.
683 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
684 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
686 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
688 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
690 * testsuite/libgomp.fortran/fortran.exp: Likewise.
691 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
692 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
694 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
696 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
697 * testsuite/libgomp.c/c.exp: Likewise.
698 * testsuite/libgomp.fortran/fortran.exp: Likewise.
699 * testsuite/libgomp.graphite/graphite.exp: Likewise.
700 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
701 * testsuite/libgomp.oacc-c/c.exp: Likewise.
702 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
704 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
706 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
707 * testsuite/libgomp.fortran/fortran.exp: Likewise.
708 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
709 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
710 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
712 * testsuite/libgomp.oacc-c/c.exp: Likewise.
713 * testsuite/libgomp.graphite/graphite.exp: Likewise.
714 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
715 'lang_test_file_found' instead of 'lang_test_file'.
717 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
719 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
721 * testsuite/libgomp.c++/c++.exp: Likewise.
722 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
724 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
726 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
727 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
729 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
731 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
732 of 'libstdcxx_includes'.
733 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
735 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
737 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
738 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
739 * libgomp.h (gomp_target_rev): Adjust.
740 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
741 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
742 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
743 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
744 (rev_off_host_to_dev_cpy): Remove.
745 (GOMP_OFFLOAD_run): Adjust.
747 2023-05-04 Julian Brown <julian@codesourcery.com>
750 * testsuite/libgomp.fortran/pr109622.f90: Move test...
751 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
752 vector length warning.
753 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
754 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
755 missing copyin/copyout variable. Ignore vector length warnings.
756 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
757 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
758 vector length warnings.
759 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
761 2023-04-28 Julian Brown <julian@codesourcery.com>
764 * testsuite/libgomp.fortran/pr109622.f90: New test.
765 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
766 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
768 2023-04-25 Tobias Burnus <tobias@codesourcery.com>
770 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
771 * testsuite/libgomp.c/scan-23.c: New test.
772 * testsuite/libgomp.fortran/scan-2.f90: New test.
774 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
776 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
777 weak_undefined options.
779 2023-03-24 Tobias Burnus <tobias@codesourcery.com>
781 * libgomp.texi (Offload-Target Specifics): Grammar fix.
783 2023-03-24 Thomas Schwinge <thomas@codesourcery.com>
786 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
789 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
792 * target.c (gomp_map_vars_internal): Allow for
793 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
794 * oacc-parallel.c (GOACC_parallel_keyed): Pass
795 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
796 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
797 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
799 (gomp_offload_free): Remove.
800 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
801 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
802 (cuda_free_argmem): Remove.
803 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
806 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
808 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
809 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
812 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
814 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
815 'GOMP_MAP_IF_PRESENT'.
816 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
817 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
818 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
819 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
820 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
822 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
824 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
826 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
829 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
831 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
832 another aspect of OpenACC 'async' semantics.
834 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
836 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
838 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
839 Verify 'acc_ev_alloc', 'acc_ev_free'.
841 2023-03-09 Hongyu Wang <hongyu.wang@intel.com>
844 * env.c (wait_policy): Initialize to -1.
845 (initialize_icvs): Initialize icvs->wait_policy to -1.
846 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
848 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
850 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
852 2023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
853 Paul-Antoine Arras <pa@codesourcery.com>
855 * testsuite/libgomp.c/simd-math-1.c: New testcase.
857 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
860 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
861 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
863 2023-02-22 Thomas Schwinge <thomas@codesourcery.com>
865 * testsuite/libgomp.fortran/alloc-10.f90: Use
866 '-Wno-complain-wrong-lang'.
867 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
868 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
869 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
870 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
871 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
872 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
873 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
874 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
875 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
876 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
878 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
880 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
881 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
882 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
883 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
886 2023-02-16 Jakub Jelinek <jakub@redhat.com>
888 * libgomp.texi: Fix typos - theads -> threads.
890 2023-02-16 Jakub Jelinek <jakub@redhat.com>
892 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
893 comment typo and improve its wording.
895 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
897 * target.c (gomp_target_rev): Dereference ptr
898 to get device address.
899 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
900 for unallocated allocatable.
902 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
904 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
906 (GOMP_target_enter_exit_data): If the next map item is
907 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
908 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
910 2023-02-09 Tobias Burnus <tobias@codesourcery.com>
913 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
914 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
915 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
916 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
917 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
918 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
920 2023-02-07 Thomas Schwinge <thomas@codesourcery.com>
922 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
923 offloading compilation.
925 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
927 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
928 freeing not allocated memory.
929 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
931 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
933 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
935 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
936 reverse-offload requirement.
938 2023-02-02 Andrew Stubbs <ams@codesourcery.com>
940 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
941 (DEFAULT_TEAM_ARENA_SIZE): New define.
942 (struct heap): Move to this file.
943 (struct kernargs_abi): Likewise.
944 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
946 * libgomp.h: Include libgomp-gcn.h.
947 (TEAM_ARENA_SIZE): Remove.
948 (team_malloc): Update the error message.
949 * plugin/plugin-gcn.c (struct kernargs): Move common content to
951 (struct agent_info): Rename team arenas to ephemeral memories.
952 (struct team_arena_list): Rename ....
953 (struct ephemeral_memories_list): to this.
954 (struct heap): Delete.
955 (team_arena_size): New variable.
956 (stack_size): New variable.
957 (print_kernel_dispatch): Update debug messages.
958 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
960 (get_team_arena): Rename ...
961 (configure_ephemeral_memories): ... to this, and set up stacks.
962 (release_team_arena): Rename ...
963 (release_ephemeral_memories): ... to this.
964 (destroy_team_arenas): Rename ...
965 (destroy_ephemeral_memories): ... to this.
966 (create_kernel_dispatch): Add num_threads parameter.
967 Adjust for kernargs_abi refactor and ephemeral memories.
968 (release_kernel_dispatch): Adjust for ephemeral memories.
969 (run_kernel): Pass thread-count to create_kernel_dispatch.
970 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
971 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
973 2023-02-02 Tobias Burnus <tobias@codesourcery.com>
975 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
977 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
979 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
980 usage, remove unused -fdump-tree-original.
981 * testsuite/libgomp.fortran/allocate-4.f90: New.
983 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
985 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
986 (GCN): Add item about 'omp requires'.
987 (nvptx): Likewise; add item about reverse offload.
989 2023-01-27 Tobias Burnus <tobias@codesourcery.com>
992 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
994 2023-01-23 Tobias Burnus <tobias@codesourcery.com>
996 * libgomp.texi (OpenMP 5.0): Set non-rectangular
997 loop nest back to 'P' as Fortran support is incomplete.
999 2023-01-19 Jakub Jelinek <jakub@redhat.com>
1001 PR middle-end/108459
1002 * testsuite/libgomp.c/pr108459.c: New test.
1004 2023-01-17 Martin Liska <mliska@suse.cz>
1006 * Makefile.in: Regenerate.
1007 * configure: Regenerate.
1009 2023-01-07 LIU Hao <lh_mouse@126.com>
1011 PR middle-end/108300
1012 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1015 2023-01-05 Jakub Jelinek <jakub@redhat.com>
1018 * testsuite/libgomp.c++/pr108286.C: New test.
1020 2023-01-02 Jakub Jelinek <jakub@redhat.com>
1022 * libgomp.texi: Bump @copying's copyright year.
1024 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1027 * config/nvptx/bar.c (generation_to_barrier): Remove.
1028 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1029 (GOMP_WAIT_H): Remove.
1030 (#include "../linux/bar.c"): Remove.
1031 (gomp_barrier_wait_end): New function.
1032 (gomp_barrier_wait): Likewise.
1033 (gomp_barrier_wait_last): Likewise.
1034 (gomp_team_barrier_wait_end): Likewise.
1035 (gomp_team_barrier_wait): Likewise.
1036 (gomp_team_barrier_wait_final): Likewise.
1037 (gomp_team_barrier_wait_cancel_end): Likewise.
1038 (gomp_team_barrier_wait_cancel): Likewise.
1039 (gomp_team_barrier_cancel): Likewise.
1040 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1041 (gomp_barrier_init): Remove init of waiters, lock fields.
1042 (gomp_team_barrier_wake): Remove prototype, add new static inline
1045 2022-12-21 Jakub Jelinek <jakub@redhat.com>
1048 * testsuite/libgomp.c++/pr108180.C: New test.
1050 2022-12-16 Tobias Burnus <tobias@codesourcery.com>
1052 PR libfortran/108056
1053 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1054 accidentally added file.
1056 2022-12-15 Tobias Burnus <tobias@codesourcery.com>
1058 PR libfortran/108056
1059 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1061 2022-12-14 Julian Brown <julian@codesourcery.com>
1063 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1066 2022-12-10 Tobias Burnus <tobias@codesourcery.com>
1068 * libgomp.h (struct target_mem_desc): Predeclare; move
1069 below after 'reverse_splay_tree_node' and add rev_array
1071 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1072 (reverse_splay_tree_node, reverse_splay_tree,
1073 reverse_splay_tree_key): New typedef.
1074 (struct gomp_device_descr): Add mem_map_rev member.
1075 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1076 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1077 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1078 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1079 splay_tree_callback but returning int not void.
1080 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1081 taking splay_tree_callback_stop as argument.
1082 * splay-tree.c (splay_tree_foreach_internal_lazy,
1083 splay_tree_foreach_lazy): New; but early exit if callback returns
1085 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1086 (gomp_map_lookup_rev): New.
1087 (gomp_load_image_to_device): Handle reverse-offload function
1089 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1090 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1091 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1092 gomp_map_cdata_lookup): New auxiliary structs and functions for
1094 (gomp_target_rev): Implement reverse offloading and its mapping.
1095 (gomp_target_init): Init current_device.mem_map_rev.root.
1096 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1097 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1098 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1099 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1100 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1101 mapping of on-device allocated variables.
1103 2022-12-09 Tobias Burnus <tobias@codesourcery.com>
1105 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1106 item about 'align'; mark clause as 'Y' and directive as 'N'.
1107 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1108 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1110 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1112 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1113 allow processing of device-specific values.
1114 (omp_set_teams_thread_limit): Likewise.
1116 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1117 (omp_set_teams_thread_limit): Likewise.
1119 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1121 (omp_set_teams_thread_limit): Likewise.
1122 * icv.c (omp_set_teams_thread_limit): Removed.
1123 (omp_get_teams_thread_limit): Likewise.
1125 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1126 to the limitation of the number of teams.
1127 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1128 the number of teams by twice the number of compute units.
1129 (parse_target_attributes): Limit the number of teams on gcn offload
1131 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1133 (gomp_load_image_to_device): Added a size check for the ICVs struct
1135 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1136 copy back the ICV values from device to host.
1137 (GOMP_target_ext): Update the number of teams and threads in the kernel
1138 args also considering device-specific values.
1139 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1140 of OMP_TEAMS_THREAD_LIMIT from the environment.
1141 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1142 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1143 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1144 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1145 * testsuite/libgomp.fortran/icv-5.f90: New test.
1146 * testsuite/libgomp.fortran/icv-6.f90: New test.
1148 2022-12-06 Tobias Burnus <tobias@codesourcery.com>
1150 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1151 (TR11): Add missing '@tab N @tab'.
1153 2022-11-30 Tobias Burnus <tobias@codesourcery.com>
1155 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1157 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1159 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1160 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1161 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1162 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1163 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1164 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1165 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1167 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
1169 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1171 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1173 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1174 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1175 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1176 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1178 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1180 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1181 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1182 as valid and the code having no reverse-offload code.
1183 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1185 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1187 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1188 and status for Technical Report (TR) 11.
1190 2022-11-21 Tobias Burnus <tobias@codesourcery.com>
1192 * config/gcn/libgomp-gcn.h (struct output):
1193 Remove 'msg_u64' from the union, change
1194 value_u64[2] to value_u64[6].
1195 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1196 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1199 2022-11-19 Tobias Burnus <tobias@codesourcery.com>
1201 * config/gcn/libgomp-gcn.h: New file; contains
1202 struct output, declared previously in plugin-gcn.c.
1203 * config/gcn/target.c: Include it.
1204 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1205 (GOMP_target_ext): Handle reverse offload.
1206 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1207 (struct kernargs): Replace struct def by the one
1208 from libgomp-gcn.h for output_data.
1209 (process_reverse_offload): New.
1210 (console_output): Call it.
1212 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
1213 Andrew Stubbs <ams@codesourcery.com>
1215 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1216 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1218 2022-11-14 Martin Liska <mliska@suse.cz>
1221 2022-11-14 Martin Liska <mliska@suse.cz>
1223 * doc/amd-radeon-gcn.rst: New file.
1224 * doc/conf.py: New file.
1225 * doc/copyright.rst: New file.
1226 * doc/cuda-streams-usage.rst: New file.
1227 * doc/enabling-openacc.rst: New file.
1228 * doc/enabling-openmp.rst: New file.
1229 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1230 * doc/first-invocation-openacc-library-api.rst: New file.
1231 * doc/funding.rst: New file.
1232 * doc/general-public-license-3.rst: New file.
1233 * doc/gnu-free-documentation-license.rst: New file.
1234 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1235 * doc/index.rst: New file.
1236 * doc/indices-and-tables.rst: New file.
1237 * doc/introduction.rst: New file.
1238 * doc/memory-allocation-with-libmemkind.rst: New file.
1239 * doc/nvptx.rst: New file.
1240 * doc/offload-target-specifics.rst: New file.
1241 * doc/openacc-environment-variables.rst: New file.
1242 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1243 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1244 * doc/openacc-environment-variables/accproflib.rst: New file.
1245 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1246 * doc/openacc-introduction.rst: New file.
1247 * doc/openacc-library-and-environment-variables.rst: New file.
1248 * doc/openacc-library-interoperability.rst: New file.
1249 * doc/openacc-profiling-interface.rst: New file.
1250 * doc/openacc-runtime-library-routines.rst: New file.
1251 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1252 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1253 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1254 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1255 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1256 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1257 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1258 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1259 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1260 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1261 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1262 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1263 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1264 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1265 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1266 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1267 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1268 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1269 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1270 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1271 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1272 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1273 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1274 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1275 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1276 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1277 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1278 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1279 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1280 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1281 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1282 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1283 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1284 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1285 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1286 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1287 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1288 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1289 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1290 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1291 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1292 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1293 * doc/openmp-context-selectors.rst: New file.
1294 * doc/openmp-environment-variables.rst: New file.
1295 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1296 * doc/openmp-environment-variables/gompdebug.rst: New file.
1297 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1298 * doc/openmp-environment-variables/gompspincount.rst: New file.
1299 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1300 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1301 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1302 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1303 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1304 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1305 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1306 * doc/openmp-environment-variables/ompnested.rst: New file.
1307 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1308 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1309 * doc/openmp-environment-variables/ompplaces.rst: New file.
1310 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1311 * doc/openmp-environment-variables/ompschedule.rst: New file.
1312 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1313 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1314 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1315 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1316 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1317 * doc/openmp-implementation-specifics.rst: New file.
1318 * doc/openmp-implementation-status.rst: New file.
1319 * doc/openmp-implementation-status/openmp-45.rst: New file.
1320 * doc/openmp-implementation-status/openmp-50.rst: New file.
1321 * doc/openmp-implementation-status/openmp-51.rst: New file.
1322 * doc/openmp-implementation-status/openmp-52.rst: New file.
1323 * doc/openmp-runtime-library-routines.rst: New file.
1324 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1325 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1326 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1327 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1328 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1329 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1330 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1331 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1332 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1333 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1334 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1335 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1336 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1337 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1338 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1339 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1340 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1341 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1342 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1343 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1344 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1345 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1346 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1347 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1348 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1349 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1350 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1351 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1352 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1353 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1354 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1355 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1356 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1357 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1358 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1359 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1360 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1361 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1362 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1363 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1364 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1365 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1366 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1367 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1368 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1369 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1370 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1371 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1372 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1373 * doc/reporting-bugs.rst: New file.
1374 * doc/the-libgomp-abi.rst: New file.
1375 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1376 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1377 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1378 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1380 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1381 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1382 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1383 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1384 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1385 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1386 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1387 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1388 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1389 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1390 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1392 2022-11-14 Martin Liska <mliska@suse.cz>
1395 2022-11-14 Martin Liska <mliska@suse.cz>
1397 * Makefile.in: Support Sphinx based documentation.
1399 2022-11-14 Martin Liska <mliska@suse.cz>
1402 2022-11-14 Martin Liska <mliska@suse.cz>
1404 * libgomp.texi: Removed.
1406 2022-11-14 Martin Liska <mliska@suse.cz>
1409 2022-11-14 Martin Liska <mliska@suse.cz>
1411 * Makefile.in: Support --with-sphinx-build.
1412 * configure.ac: Likewise..
1413 * configure: Regenerate.
1415 2022-11-14 Martin Liska <mliska@suse.cz>
1418 2022-11-09 Martin Liska <mliska@suse.cz>
1420 * Makefile.in: Build info pages conditionally.
1422 2022-11-14 Martin Liska <mliska@suse.cz>
1425 2022-11-14 Martin Liska <mliska@suse.cz>
1427 * doc/amd-radeon-gcn.rst:
1428 Add trailing newline.
1429 * doc/copyright.rst:
1430 Add trailing newline.
1431 * doc/cuda-streams-usage.rst:
1432 Add trailing newline.
1433 * doc/enabling-openacc.rst:
1434 Add trailing newline.
1435 * doc/enabling-openmp.rst:
1436 Add trailing newline.
1437 * doc/first-invocation-nvidia-cublas-library-api.rst:
1438 Add trailing newline.
1439 * doc/first-invocation-openacc-library-api.rst:
1440 Add trailing newline.
1442 Add trailing newline.
1443 * doc/general-public-license-3.rst:
1444 Add trailing newline.
1445 * doc/gnu-free-documentation-license.rst:
1446 Add trailing newline.
1447 * doc/implementation-status-and-implementation-defined-behavior.rst:
1448 Add trailing newline.
1450 Add trailing newline.
1451 * doc/indices-and-tables.rst:
1452 Add trailing newline.
1453 * doc/introduction.rst:
1454 Add trailing newline.
1455 * doc/memory-allocation-with-libmemkind.rst:
1456 Add trailing newline.
1458 Add trailing newline.
1459 * doc/offload-target-specifics.rst:
1460 Add trailing newline.
1461 * doc/openacc-environment-variables.rst:
1462 Add trailing newline.
1463 * doc/openacc-environment-variables/accdevicenum.rst:
1464 Add trailing newline.
1465 * doc/openacc-environment-variables/accdevicetype.rst:
1466 Add trailing newline.
1467 * doc/openacc-environment-variables/accproflib.rst:
1468 Add trailing newline.
1469 * doc/openacc-environment-variables/gccaccnotify.rst:
1470 Add trailing newline.
1471 * doc/openacc-introduction.rst:
1472 Add trailing newline.
1473 * doc/openacc-library-and-environment-variables.rst:
1474 Add trailing newline.
1475 * doc/openacc-library-interoperability.rst:
1476 Add trailing newline.
1477 * doc/openacc-profiling-interface.rst:
1478 Add trailing newline.
1479 * doc/openacc-runtime-library-routines.rst:
1480 Add trailing newline.
1481 * doc/openacc-runtime-library-routines/accasynctest.rst:
1482 Add trailing newline.
1483 * doc/openacc-runtime-library-routines/accasynctestall.rst:
1484 Add trailing newline.
1485 * doc/openacc-runtime-library-routines/accattach.rst:
1486 Add trailing newline.
1487 * doc/openacc-runtime-library-routines/acccopyin.rst:
1488 Add trailing newline.
1489 * doc/openacc-runtime-library-routines/acccopyout.rst:
1490 Add trailing newline.
1491 * doc/openacc-runtime-library-routines/acccreate.rst:
1492 Add trailing newline.
1493 * doc/openacc-runtime-library-routines/accdelete.rst:
1494 Add trailing newline.
1495 * doc/openacc-runtime-library-routines/accdetach.rst:
1496 Add trailing newline.
1497 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1498 Add trailing newline.
1499 * doc/openacc-runtime-library-routines/accfree.rst:
1500 Add trailing newline.
1501 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1502 Add trailing newline.
1503 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1504 Add trailing newline.
1505 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1506 Add trailing newline.
1507 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1508 Add trailing newline.
1509 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1510 Add trailing newline.
1511 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1512 Add trailing newline.
1513 * doc/openacc-runtime-library-routines/accgetproperty.rst:
1514 Add trailing newline.
1515 * doc/openacc-runtime-library-routines/acchostptr.rst:
1516 Add trailing newline.
1517 * doc/openacc-runtime-library-routines/accinit.rst:
1518 Add trailing newline.
1519 * doc/openacc-runtime-library-routines/accispresent.rst:
1520 Add trailing newline.
1521 * doc/openacc-runtime-library-routines/accmalloc.rst:
1522 Add trailing newline.
1523 * doc/openacc-runtime-library-routines/accmapdata.rst:
1524 Add trailing newline.
1525 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1526 Add trailing newline.
1527 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1528 Add trailing newline.
1529 * doc/openacc-runtime-library-routines/accondevice.rst:
1530 Add trailing newline.
1531 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1532 Add trailing newline.
1533 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1534 Add trailing newline.
1535 * doc/openacc-runtime-library-routines/accproflookup.rst:
1536 Add trailing newline.
1537 * doc/openacc-runtime-library-routines/accprofregister.rst:
1538 Add trailing newline.
1539 * doc/openacc-runtime-library-routines/accprofunregister.rst:
1540 Add trailing newline.
1541 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
1542 Add trailing newline.
1543 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
1544 Add trailing newline.
1545 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
1546 Add trailing newline.
1547 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
1548 Add trailing newline.
1549 * doc/openacc-runtime-library-routines/accshutdown.rst:
1550 Add trailing newline.
1551 * doc/openacc-runtime-library-routines/accunmapdata.rst:
1552 Add trailing newline.
1553 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
1554 Add trailing newline.
1555 * doc/openacc-runtime-library-routines/accupdateself.rst:
1556 Add trailing newline.
1557 * doc/openacc-runtime-library-routines/accwait.rst:
1558 Add trailing newline.
1559 * doc/openacc-runtime-library-routines/accwaitall.rst:
1560 Add trailing newline.
1561 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
1562 Add trailing newline.
1563 * doc/openacc-runtime-library-routines/accwaitasync.rst:
1564 Add trailing newline.
1565 * doc/openmp-context-selectors.rst:
1566 Add trailing newline.
1567 * doc/openmp-environment-variables.rst:
1568 Add trailing newline.
1569 * doc/openmp-environment-variables/gompcpuaffinity.rst:
1570 Add trailing newline.
1571 * doc/openmp-environment-variables/gompdebug.rst:
1572 Add trailing newline.
1573 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
1574 Add trailing newline.
1575 * doc/openmp-environment-variables/gompspincount.rst:
1576 Add trailing newline.
1577 * doc/openmp-environment-variables/gompstacksize.rst:
1578 Add trailing newline.
1579 * doc/openmp-environment-variables/ompcancellation.rst:
1580 Add trailing newline.
1581 * doc/openmp-environment-variables/ompdefaultdevice.rst:
1582 Add trailing newline.
1583 * doc/openmp-environment-variables/ompdisplayenv.rst:
1584 Add trailing newline.
1585 * doc/openmp-environment-variables/ompdynamic.rst:
1586 Add trailing newline.
1587 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
1588 Add trailing newline.
1589 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
1590 Add trailing newline.
1591 * doc/openmp-environment-variables/ompnested.rst:
1592 Add trailing newline.
1593 * doc/openmp-environment-variables/ompnumteams.rst:
1594 Add trailing newline.
1595 * doc/openmp-environment-variables/ompnumthreads.rst:
1596 Add trailing newline.
1597 * doc/openmp-environment-variables/ompplaces.rst:
1598 Add trailing newline.
1599 * doc/openmp-environment-variables/ompprocbind.rst:
1600 Add trailing newline.
1601 * doc/openmp-environment-variables/ompschedule.rst:
1602 Add trailing newline.
1603 * doc/openmp-environment-variables/ompstacksize.rst:
1604 Add trailing newline.
1605 * doc/openmp-environment-variables/omptargetoffload.rst:
1606 Add trailing newline.
1607 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
1608 Add trailing newline.
1609 * doc/openmp-environment-variables/ompthreadlimit.rst:
1610 Add trailing newline.
1611 * doc/openmp-environment-variables/ompwaitpolicy.rst:
1612 Add trailing newline.
1613 * doc/openmp-implementation-specifics.rst:
1614 Add trailing newline.
1615 * doc/openmp-implementation-status.rst:
1616 Add trailing newline.
1617 * doc/openmp-implementation-status/openmp-45.rst:
1618 Add trailing newline.
1619 * doc/openmp-implementation-status/openmp-50.rst:
1620 Add trailing newline.
1621 * doc/openmp-implementation-status/openmp-51.rst:
1622 Add trailing newline.
1623 * doc/openmp-implementation-status/openmp-52.rst:
1624 Add trailing newline.
1625 * doc/openmp-runtime-library-routines.rst:
1626 Add trailing newline.
1627 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
1628 Add trailing newline.
1629 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
1630 Add trailing newline.
1631 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
1632 Add trailing newline.
1633 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
1634 Add trailing newline.
1635 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
1636 Add trailing newline.
1637 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
1638 Add trailing newline.
1639 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
1640 Add trailing newline.
1641 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
1642 Add trailing newline.
1643 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
1644 Add trailing newline.
1645 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
1646 Add trailing newline.
1647 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
1648 Add trailing newline.
1649 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
1650 Add trailing newline.
1651 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
1652 Add trailing newline.
1653 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
1654 Add trailing newline.
1655 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
1656 Add trailing newline.
1657 * doc/openmp-runtime-library-routines/ompgetnested.rst:
1658 Add trailing newline.
1659 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
1660 Add trailing newline.
1661 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
1662 Add trailing newline.
1663 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
1664 Add trailing newline.
1665 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
1666 Add trailing newline.
1667 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
1668 Add trailing newline.
1669 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
1670 Add trailing newline.
1671 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
1672 Add trailing newline.
1673 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
1674 Add trailing newline.
1675 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
1676 Add trailing newline.
1677 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
1678 Add trailing newline.
1679 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
1680 Add trailing newline.
1681 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
1682 Add trailing newline.
1683 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
1684 Add trailing newline.
1685 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
1686 Add trailing newline.
1687 * doc/openmp-runtime-library-routines/ompinfinal.rst:
1688 Add trailing newline.
1689 * doc/openmp-runtime-library-routines/ompinitlock.rst:
1690 Add trailing newline.
1691 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
1692 Add trailing newline.
1693 * doc/openmp-runtime-library-routines/ompinparallel.rst:
1694 Add trailing newline.
1695 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
1696 Add trailing newline.
1697 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
1698 Add trailing newline.
1699 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
1700 Add trailing newline.
1701 * doc/openmp-runtime-library-routines/ompsetlock.rst:
1702 Add trailing newline.
1703 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
1704 Add trailing newline.
1705 * doc/openmp-runtime-library-routines/ompsetnested.rst:
1706 Add trailing newline.
1707 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
1708 Add trailing newline.
1709 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
1710 Add trailing newline.
1711 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
1712 Add trailing newline.
1713 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
1714 Add trailing newline.
1715 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
1716 Add trailing newline.
1717 * doc/openmp-runtime-library-routines/omptestlock.rst:
1718 Add trailing newline.
1719 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
1720 Add trailing newline.
1721 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
1722 Add trailing newline.
1723 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
1724 Add trailing newline.
1725 * doc/reporting-bugs.rst:
1726 Add trailing newline.
1727 * doc/the-libgomp-abi.rst:
1728 Add trailing newline.
1729 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
1730 Add trailing newline.
1731 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
1732 Add trailing newline.
1733 * doc/the-libgomp-abi/implementing-critical-construct.rst:
1734 Add trailing newline.
1735 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1736 Add trailing newline.
1737 * doc/the-libgomp-abi/implementing-flush-construct.rst:
1738 Add trailing newline.
1739 * doc/the-libgomp-abi/implementing-for-construct.rst:
1740 Add trailing newline.
1741 * doc/the-libgomp-abi/implementing-master-construct.rst:
1742 Add trailing newline.
1743 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
1744 Add trailing newline.
1745 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
1746 Add trailing newline.
1747 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
1748 Add trailing newline.
1749 * doc/the-libgomp-abi/implementing-private-clause.rst:
1750 Add trailing newline.
1751 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
1752 Add trailing newline.
1753 * doc/the-libgomp-abi/implementing-sections-construct.rst:
1754 Add trailing newline.
1755 * doc/the-libgomp-abi/implementing-single-construct.rst:
1756 Add trailing newline.
1757 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
1758 Add trailing newline.
1760 2022-11-14 Martin Liska <mliska@suse.cz>
1763 2022-11-09 Martin Liska <mliska@suse.cz>
1765 * Makefile.in: Add missing HAS_SPHINX_BUILD.
1767 2022-11-14 Martin Liska <mliska@suse.cz>
1770 2022-11-14 Martin Liska <mliska@suse.cz>
1772 * doc/conf.py: Add newline at last line.
1774 2022-11-14 Martin Liska <mliska@suse.cz>
1777 2022-11-14 Martin Liska <mliska@suse.cz>
1780 * configure: Regenerate.
1781 * configure.ac: Always set sphinx-build.
1783 2022-11-13 Martin Liska <mliska@suse.cz>
1786 * configure: Regenerate.
1787 * configure.ac: Always set sphinx-build.
1789 2022-11-12 Jakub Jelinek <jakub@redhat.com>
1792 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
1793 unsigned long. Change type of upper from unsigned to unsigned long.
1795 2022-11-10 Martin Liska <mliska@suse.cz>
1797 * doc/conf.py: Add newline at last line.
1799 2022-11-09 Martin Liska <mliska@suse.cz>
1801 * Makefile.in: Add missing HAS_SPHINX_BUILD.
1803 2022-11-09 Martin Liska <mliska@suse.cz>
1805 * doc/amd-radeon-gcn.rst:
1806 Add trailing newline.
1807 * doc/copyright.rst:
1808 Add trailing newline.
1809 * doc/cuda-streams-usage.rst:
1810 Add trailing newline.
1811 * doc/enabling-openacc.rst:
1812 Add trailing newline.
1813 * doc/enabling-openmp.rst:
1814 Add trailing newline.
1815 * doc/first-invocation-nvidia-cublas-library-api.rst:
1816 Add trailing newline.
1817 * doc/first-invocation-openacc-library-api.rst:
1818 Add trailing newline.
1820 Add trailing newline.
1821 * doc/general-public-license-3.rst:
1822 Add trailing newline.
1823 * doc/gnu-free-documentation-license.rst:
1824 Add trailing newline.
1825 * doc/implementation-status-and-implementation-defined-behavior.rst:
1826 Add trailing newline.
1828 Add trailing newline.
1829 * doc/indices-and-tables.rst:
1830 Add trailing newline.
1831 * doc/introduction.rst:
1832 Add trailing newline.
1833 * doc/memory-allocation-with-libmemkind.rst:
1834 Add trailing newline.
1836 Add trailing newline.
1837 * doc/offload-target-specifics.rst:
1838 Add trailing newline.
1839 * doc/openacc-environment-variables.rst:
1840 Add trailing newline.
1841 * doc/openacc-environment-variables/accdevicenum.rst:
1842 Add trailing newline.
1843 * doc/openacc-environment-variables/accdevicetype.rst:
1844 Add trailing newline.
1845 * doc/openacc-environment-variables/accproflib.rst:
1846 Add trailing newline.
1847 * doc/openacc-environment-variables/gccaccnotify.rst:
1848 Add trailing newline.
1849 * doc/openacc-introduction.rst:
1850 Add trailing newline.
1851 * doc/openacc-library-and-environment-variables.rst:
1852 Add trailing newline.
1853 * doc/openacc-library-interoperability.rst:
1854 Add trailing newline.
1855 * doc/openacc-profiling-interface.rst:
1856 Add trailing newline.
1857 * doc/openacc-runtime-library-routines.rst:
1858 Add trailing newline.
1859 * doc/openacc-runtime-library-routines/accasynctest.rst:
1860 Add trailing newline.
1861 * doc/openacc-runtime-library-routines/accasynctestall.rst:
1862 Add trailing newline.
1863 * doc/openacc-runtime-library-routines/accattach.rst:
1864 Add trailing newline.
1865 * doc/openacc-runtime-library-routines/acccopyin.rst:
1866 Add trailing newline.
1867 * doc/openacc-runtime-library-routines/acccopyout.rst:
1868 Add trailing newline.
1869 * doc/openacc-runtime-library-routines/acccreate.rst:
1870 Add trailing newline.
1871 * doc/openacc-runtime-library-routines/accdelete.rst:
1872 Add trailing newline.
1873 * doc/openacc-runtime-library-routines/accdetach.rst:
1874 Add trailing newline.
1875 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1876 Add trailing newline.
1877 * doc/openacc-runtime-library-routines/accfree.rst:
1878 Add trailing newline.
1879 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1880 Add trailing newline.
1881 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1882 Add trailing newline.
1883 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1884 Add trailing newline.
1885 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1886 Add trailing newline.
1887 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1888 Add trailing newline.
1889 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1890 Add trailing newline.
1891 * doc/openacc-runtime-library-routines/accgetproperty.rst:
1892 Add trailing newline.
1893 * doc/openacc-runtime-library-routines/acchostptr.rst:
1894 Add trailing newline.
1895 * doc/openacc-runtime-library-routines/accinit.rst:
1896 Add trailing newline.
1897 * doc/openacc-runtime-library-routines/accispresent.rst:
1898 Add trailing newline.
1899 * doc/openacc-runtime-library-routines/accmalloc.rst:
1900 Add trailing newline.
1901 * doc/openacc-runtime-library-routines/accmapdata.rst:
1902 Add trailing newline.
1903 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1904 Add trailing newline.
1905 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1906 Add trailing newline.
1907 * doc/openacc-runtime-library-routines/accondevice.rst:
1908 Add trailing newline.
1909 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1910 Add trailing newline.
1911 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1912 Add trailing newline.
1913 * doc/openacc-runtime-library-routines/accproflookup.rst:
1914 Add trailing newline.
1915 * doc/openacc-runtime-library-routines/accprofregister.rst:
1916 Add trailing newline.
1917 * doc/openacc-runtime-library-routines/accprofunregister.rst:
1918 Add trailing newline.
1919 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
1920 Add trailing newline.
1921 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
1922 Add trailing newline.
1923 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
1924 Add trailing newline.
1925 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
1926 Add trailing newline.
1927 * doc/openacc-runtime-library-routines/accshutdown.rst:
1928 Add trailing newline.
1929 * doc/openacc-runtime-library-routines/accunmapdata.rst:
1930 Add trailing newline.
1931 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
1932 Add trailing newline.
1933 * doc/openacc-runtime-library-routines/accupdateself.rst:
1934 Add trailing newline.
1935 * doc/openacc-runtime-library-routines/accwait.rst:
1936 Add trailing newline.
1937 * doc/openacc-runtime-library-routines/accwaitall.rst:
1938 Add trailing newline.
1939 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
1940 Add trailing newline.
1941 * doc/openacc-runtime-library-routines/accwaitasync.rst:
1942 Add trailing newline.
1943 * doc/openmp-context-selectors.rst:
1944 Add trailing newline.
1945 * doc/openmp-environment-variables.rst:
1946 Add trailing newline.
1947 * doc/openmp-environment-variables/gompcpuaffinity.rst:
1948 Add trailing newline.
1949 * doc/openmp-environment-variables/gompdebug.rst:
1950 Add trailing newline.
1951 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
1952 Add trailing newline.
1953 * doc/openmp-environment-variables/gompspincount.rst:
1954 Add trailing newline.
1955 * doc/openmp-environment-variables/gompstacksize.rst:
1956 Add trailing newline.
1957 * doc/openmp-environment-variables/ompcancellation.rst:
1958 Add trailing newline.
1959 * doc/openmp-environment-variables/ompdefaultdevice.rst:
1960 Add trailing newline.
1961 * doc/openmp-environment-variables/ompdisplayenv.rst:
1962 Add trailing newline.
1963 * doc/openmp-environment-variables/ompdynamic.rst:
1964 Add trailing newline.
1965 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
1966 Add trailing newline.
1967 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
1968 Add trailing newline.
1969 * doc/openmp-environment-variables/ompnested.rst:
1970 Add trailing newline.
1971 * doc/openmp-environment-variables/ompnumteams.rst:
1972 Add trailing newline.
1973 * doc/openmp-environment-variables/ompnumthreads.rst:
1974 Add trailing newline.
1975 * doc/openmp-environment-variables/ompplaces.rst:
1976 Add trailing newline.
1977 * doc/openmp-environment-variables/ompprocbind.rst:
1978 Add trailing newline.
1979 * doc/openmp-environment-variables/ompschedule.rst:
1980 Add trailing newline.
1981 * doc/openmp-environment-variables/ompstacksize.rst:
1982 Add trailing newline.
1983 * doc/openmp-environment-variables/omptargetoffload.rst:
1984 Add trailing newline.
1985 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
1986 Add trailing newline.
1987 * doc/openmp-environment-variables/ompthreadlimit.rst:
1988 Add trailing newline.
1989 * doc/openmp-environment-variables/ompwaitpolicy.rst:
1990 Add trailing newline.
1991 * doc/openmp-implementation-specifics.rst:
1992 Add trailing newline.
1993 * doc/openmp-implementation-status.rst:
1994 Add trailing newline.
1995 * doc/openmp-implementation-status/openmp-45.rst:
1996 Add trailing newline.
1997 * doc/openmp-implementation-status/openmp-50.rst:
1998 Add trailing newline.
1999 * doc/openmp-implementation-status/openmp-51.rst:
2000 Add trailing newline.
2001 * doc/openmp-implementation-status/openmp-52.rst:
2002 Add trailing newline.
2003 * doc/openmp-runtime-library-routines.rst:
2004 Add trailing newline.
2005 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2006 Add trailing newline.
2007 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2008 Add trailing newline.
2009 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2010 Add trailing newline.
2011 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2012 Add trailing newline.
2013 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2014 Add trailing newline.
2015 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2016 Add trailing newline.
2017 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2018 Add trailing newline.
2019 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2020 Add trailing newline.
2021 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2022 Add trailing newline.
2023 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2024 Add trailing newline.
2025 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2026 Add trailing newline.
2027 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2028 Add trailing newline.
2029 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2030 Add trailing newline.
2031 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2032 Add trailing newline.
2033 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2034 Add trailing newline.
2035 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2036 Add trailing newline.
2037 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2038 Add trailing newline.
2039 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2040 Add trailing newline.
2041 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2042 Add trailing newline.
2043 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2044 Add trailing newline.
2045 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2046 Add trailing newline.
2047 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2048 Add trailing newline.
2049 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2050 Add trailing newline.
2051 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2052 Add trailing newline.
2053 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2054 Add trailing newline.
2055 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2056 Add trailing newline.
2057 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2058 Add trailing newline.
2059 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2060 Add trailing newline.
2061 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2062 Add trailing newline.
2063 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2064 Add trailing newline.
2065 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2066 Add trailing newline.
2067 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2068 Add trailing newline.
2069 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2070 Add trailing newline.
2071 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2072 Add trailing newline.
2073 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2074 Add trailing newline.
2075 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2076 Add trailing newline.
2077 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2078 Add trailing newline.
2079 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2080 Add trailing newline.
2081 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2082 Add trailing newline.
2083 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2084 Add trailing newline.
2085 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2086 Add trailing newline.
2087 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2088 Add trailing newline.
2089 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2090 Add trailing newline.
2091 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2092 Add trailing newline.
2093 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2094 Add trailing newline.
2095 * doc/openmp-runtime-library-routines/omptestlock.rst:
2096 Add trailing newline.
2097 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2098 Add trailing newline.
2099 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2100 Add trailing newline.
2101 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2102 Add trailing newline.
2103 * doc/reporting-bugs.rst:
2104 Add trailing newline.
2105 * doc/the-libgomp-abi.rst:
2106 Add trailing newline.
2107 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2108 Add trailing newline.
2109 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2110 Add trailing newline.
2111 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2112 Add trailing newline.
2113 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2114 Add trailing newline.
2115 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2116 Add trailing newline.
2117 * doc/the-libgomp-abi/implementing-for-construct.rst:
2118 Add trailing newline.
2119 * doc/the-libgomp-abi/implementing-master-construct.rst:
2120 Add trailing newline.
2121 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2122 Add trailing newline.
2123 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2124 Add trailing newline.
2125 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2126 Add trailing newline.
2127 * doc/the-libgomp-abi/implementing-private-clause.rst:
2128 Add trailing newline.
2129 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2130 Add trailing newline.
2131 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2132 Add trailing newline.
2133 * doc/the-libgomp-abi/implementing-single-construct.rst:
2134 Add trailing newline.
2135 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2136 Add trailing newline.
2138 2022-11-09 Martin Liska <mliska@suse.cz>
2140 * Makefile.in: Build info pages conditionally.
2142 2022-11-09 Martin Liska <mliska@suse.cz>
2144 * Makefile.in: Support --with-sphinx-build.
2145 * configure.ac: Likewise..
2146 * configure: Regenerate.
2148 2022-11-09 Martin Liska <mliska@suse.cz>
2150 * libgomp.texi: Removed.
2152 2022-11-09 Martin Liska <mliska@suse.cz>
2154 * Makefile.in: Support Sphinx based documentation.
2156 2022-11-09 Martin Liska <mliska@suse.cz>
2158 * doc/amd-radeon-gcn.rst: New file.
2159 * doc/conf.py: New file.
2160 * doc/copyright.rst: New file.
2161 * doc/cuda-streams-usage.rst: New file.
2162 * doc/enabling-openacc.rst: New file.
2163 * doc/enabling-openmp.rst: New file.
2164 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2165 * doc/first-invocation-openacc-library-api.rst: New file.
2166 * doc/funding.rst: New file.
2167 * doc/general-public-license-3.rst: New file.
2168 * doc/gnu-free-documentation-license.rst: New file.
2169 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2170 * doc/index.rst: New file.
2171 * doc/indices-and-tables.rst: New file.
2172 * doc/introduction.rst: New file.
2173 * doc/memory-allocation-with-libmemkind.rst: New file.
2174 * doc/nvptx.rst: New file.
2175 * doc/offload-target-specifics.rst: New file.
2176 * doc/openacc-environment-variables.rst: New file.
2177 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2178 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2179 * doc/openacc-environment-variables/accproflib.rst: New file.
2180 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2181 * doc/openacc-introduction.rst: New file.
2182 * doc/openacc-library-and-environment-variables.rst: New file.
2183 * doc/openacc-library-interoperability.rst: New file.
2184 * doc/openacc-profiling-interface.rst: New file.
2185 * doc/openacc-runtime-library-routines.rst: New file.
2186 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2187 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2188 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2189 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2190 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2191 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2192 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2193 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2194 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2195 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2196 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2197 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2198 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2199 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2200 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2201 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2202 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2203 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2204 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2205 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2206 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2207 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2208 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2209 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2210 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2211 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2212 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2213 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2214 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2215 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2216 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2217 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2218 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2219 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2220 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2221 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2222 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2223 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2224 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2225 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2226 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2227 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2228 * doc/openmp-context-selectors.rst: New file.
2229 * doc/openmp-environment-variables.rst: New file.
2230 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2231 * doc/openmp-environment-variables/gompdebug.rst: New file.
2232 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2233 * doc/openmp-environment-variables/gompspincount.rst: New file.
2234 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2235 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2236 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2237 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2238 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2239 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2240 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2241 * doc/openmp-environment-variables/ompnested.rst: New file.
2242 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2243 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2244 * doc/openmp-environment-variables/ompplaces.rst: New file.
2245 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2246 * doc/openmp-environment-variables/ompschedule.rst: New file.
2247 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2248 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2249 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2250 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2251 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2252 * doc/openmp-implementation-specifics.rst: New file.
2253 * doc/openmp-implementation-status.rst: New file.
2254 * doc/openmp-implementation-status/openmp-45.rst: New file.
2255 * doc/openmp-implementation-status/openmp-50.rst: New file.
2256 * doc/openmp-implementation-status/openmp-51.rst: New file.
2257 * doc/openmp-implementation-status/openmp-52.rst: New file.
2258 * doc/openmp-runtime-library-routines.rst: New file.
2259 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2260 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2261 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2262 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2263 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2264 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2265 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2266 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2267 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2268 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2269 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2270 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2271 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2272 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2273 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2274 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2275 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2276 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2277 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2278 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2279 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2280 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2281 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2282 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2283 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2284 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2285 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2286 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2287 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2288 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2289 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2290 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2291 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2292 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2293 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2294 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2295 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2296 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2297 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2298 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2299 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2300 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2301 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2302 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2303 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2304 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2305 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2306 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2307 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2308 * doc/reporting-bugs.rst: New file.
2309 * doc/the-libgomp-abi.rst: New file.
2310 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2311 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2312 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2313 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2315 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2316 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2317 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2318 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2319 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2320 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2321 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2322 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2323 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2324 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2325 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2327 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2329 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2330 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2332 * plugin/configfrag.ac <enable_offload_targets>
2333 [*-intelmic-* | *-intelmicemul-*]: Remove.
2334 * configure: Regenerate.
2335 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2337 (offload_target_to_openacc_device_type)
2338 [$offload_target = *-intelmic*]: Remove.
2339 (check_effective_target_offload_device_intel_mic)
2340 (check_effective_target_offload_device_any_intel_mic): Remove.
2341 * testsuite/libgomp.c-c++-common/on_device_arch.h
2342 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2343 (any_device_arch_intel_mic): Remove.
2344 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2345 'offload_device_any_intel_mic' XFAIL.
2346 * testsuite/libgomp.fortran/target10.f90: Likewise.
2348 2022-11-03 Tobias Burnus <tobias@codesourcery.com>
2350 * testsuite/libgomp.fortran/target-11.f90: New test.
2351 * testsuite/libgomp.fortran/target-13.f90: New test.
2353 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2357 * oacc-mem.c (goacc_enter_data_internal): Support
2358 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2359 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2361 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2363 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2366 * oacc-mem.c (goacc_enter_data_internal): Support
2367 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2368 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2370 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2373 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2375 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2378 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2380 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2383 2022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2384 Thomas Schwinge <thomas@codesourcery.com>
2386 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2388 2022-10-28 Julian Brown <julian@codesourcery.com>
2389 Thomas Schwinge <thomas@codesourcery.com>
2392 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2393 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2394 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2395 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2396 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2398 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2400 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2401 'ptx_dev->rev_data'.
2403 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
2405 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2406 'static' for this variable.
2407 * config/nvptx/libgomp-nvptx.h: New file.
2408 * config/nvptx/target.c: Include it.
2409 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2410 (GOMP_REV_OFFLOAD_VAR): Declare var.
2411 (GOMP_target_ext): Handle reverse offload.
2412 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2413 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2414 * target.c (gomp_target_rev): ... this new stub function.
2415 * libgomp.h (gomp_target_rev): Declare.
2416 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2417 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2418 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2419 (struct ptx_device): Add rev_data member.
2420 (nvptx_open_device): Remove async_engines query, last used in
2421 r10-304-g1f4c5b9b; add unified-address assert check.
2422 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2424 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2425 offload functions exist. Make offload var available
2427 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2428 (GOMP_OFFLOAD_run): Handle reverse offload.
2430 2022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2432 PR tree-optimization/107195
2434 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2437 2022-10-20 Tobias Burnus <tobias@codesourcery.com>
2439 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2441 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2442 on_device_arch_gcn): New.
2443 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2444 requires-4.c but using heap-allocated memory.
2446 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2449 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2451 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2453 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2454 '-foffload-options' syntax.
2456 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
2458 * testsuite/libgomp.fortran/task-7.f90: New test.
2459 * testsuite/libgomp.fortran/task-8.f90: New test.
2460 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2461 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2462 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2463 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2464 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2466 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2468 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2469 in deprecation bullet.
2471 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2473 * omp.h.in (omp_in_explicit_task): Declare.
2474 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2475 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2476 * libgomp.map (OMP_5.2): New symbol version, export
2477 omp_in_explicit_task and omp_in_explicit_task_.
2478 * task.c (omp_in_explicit_task): New function.
2479 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2480 (omp_in_explicit_task_): New function.
2481 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2482 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2483 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2484 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2486 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2488 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2489 from within explicit task.
2490 * target.c (GOMP_target_ext): Likewise.
2491 * testsuite/libgomp.c/task-7.c: New test.
2492 * testsuite/libgomp.c/task-8.c: New test.
2493 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2494 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2496 2022-10-12 Martin Liska <mliska@suse.cz>
2498 * configure: Regenerate.
2500 2022-10-11 Olivier Hainque <hainque@adacore.com>
2501 Olivier Hainque <hainque@adacore.com>
2503 * configure: Regenerate.
2505 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
2507 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2509 2022-10-04 Jakub Jelinek <jakub@redhat.com>
2511 * libgomp.texi (Support begin/end declare target syntax in C/C++):
2512 Mark as implemented.
2514 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
2517 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2519 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
2521 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2522 for C/C++. Remove duplicated 'begin declare target' entry.
2524 2022-09-24 Jakub Jelinek <jakub@redhat.com>
2527 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2529 2022-09-14 Julian Brown <julian@codesourcery.com>
2531 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2532 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2533 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2534 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2535 test to here, make "run" test.
2537 2022-09-13 Jakub Jelinek <jakub@redhat.com>
2540 * env.c (get_icv_member_addr): Cast false to void * before assigning
2541 it to icv_addr[1], and comment the whole assignment out.
2543 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
2545 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
2548 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
2550 * libgomp.texi (Offload-Target Specifics: nvptx): Document
2551 that reverse offload requires >= -march=sm_35.
2552 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
2554 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2555 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
2556 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
2557 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
2558 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
2560 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
2562 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
2563 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
2565 2022-09-12 Jakub Jelinek <jakub@redhat.com>
2568 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
2569 (main): Avoid tests for which corresponding non-_ALL suffixed variable
2570 is in the environment, or for OMP_NUM_TEAMS on the device
2571 OMP_NUM_TEAMS_DEV_?.
2573 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
2575 * env.c (initialize_env): Include libiberty environ.h.
2577 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
2579 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
2580 function address table '$offload_func_table' if rev_fn_table
2583 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
2585 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
2586 .offload_func_table to populate rev_fn_table when requested.
2588 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
2590 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
2591 'uint64_t **rev_fn_table' argument.
2592 * oacc-host.c (host_load_image): Likewise.
2593 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
2595 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2596 * target.c (gomp_load_image_to_device): Update call but pass
2599 2022-09-09 Jakub Jelinek <jakub@redhat.com>
2602 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
2603 char * for dest[1] initialization from params[1]. Formatting fixes.
2605 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
2608 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
2610 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
2612 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
2613 section; move OpenMP Context Selectors from ...
2614 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
2617 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
2619 * config/gcn/icv-device.c (omp_get_default_device): Return device-
2621 (omp_get_max_teams): Added for GCN devices.
2622 (omp_set_num_teams): Likewise.
2624 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
2626 (omp_get_max_teams): Added for NVPTX devices.
2627 (omp_set_num_teams): Likewise.
2629 * env.c (struct gomp_icv_list): New struct to store entries of initial
2631 (struct gomp_offload_icv_list): New struct to store entries of device-
2632 specific ICV values that are copied to the device and back.
2633 (struct gomp_default_icv_values): New struct to store default values of
2634 ICVs according to the OpenMP standard.
2635 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
2636 (print_env_var_error): Function that prints an error for invalid values
2638 (parse_unsigned_long_1): Removed getenv. Generalized.
2639 (parse_unsigned_long): Likewise.
2640 (parse_int_1): Likewise.
2641 (parse_int): Likewise.
2642 (parse_int_secure): Likewise.
2643 (parse_unsigned_long_list): Likewise.
2644 (parse_target_offload): Likewise.
2645 (parse_bind_var): Likewise.
2646 (parse_stacksize): Likewise.
2647 (parse_boolean): Likewise.
2648 (parse_wait_policy): Likewise.
2649 (parse_allocator): Likewise.
2650 (omp_display_env): Extended to output different variants of environment
2652 (print_schedule): New helper function for omp_display_env which prints
2653 the values of run_sched_var.
2654 (print_proc_bind): New helper function for omp_display_env which prints
2655 the values of proc_bind_var.
2656 (enum gomp_parse_type): Collection of types used for parsing environment
2658 (ENTRY): Preprocess string lengths of environment variables.
2659 (OMP_VAR_CNT): Preprocess table size.
2660 (OMP_HOST_VAR_CNT): Likewise.
2661 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
2663 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
2664 (gomp_set_icv_flag): Sets a flag for a particular ICV.
2665 (print_device_specific_icvs): New helper function for omp_display_env to
2666 print device specific ICV values.
2667 (get_device_num): New helper function for parse_device_specific.
2668 Extracts the device number from an environment variable name.
2669 (get_icv_member_addr): Gets the memory address for a particular member
2671 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
2672 (initialize_icvs): New function to initialize a gomp_initial_icvs
2674 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
2675 (startswith): Checks if a string starts with a given prefix.
2676 (initialize_env): Extended to parse the new syntax of environment
2678 * icv-device.c (omp_get_max_teams): Added.
2680 (omp_set_num_teams): Likewise.
2681 * icv.c (omp_set_num_teams): Moved to icv-device.c.
2682 (omp_get_max_teams): Likewise.
2684 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
2685 (GOMP_ADDITIONAL_ICVS): New target-side struct that
2686 holds the designated ICVs of the target device.
2687 * libgomp.h (enum gomp_icvs): Collection of ICVs.
2688 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
2690 (enum gomp_env_suffix): Collection of possible suffixes of environment
2692 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
2694 (struct gomp_default_icv):New struct to hold ICVs for which we need
2695 to store initial values.
2696 (struct gomp_icv_list): Definition of a linked list that is used for
2697 storing ICVs for the devices and also for _DEV, _ALL, and without
2699 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
2701 (struct gomp_offload_icv_list): Definition of a linked list that holds
2702 device-specific ICVs that are copied to devices.
2703 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
2704 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
2705 * libgomp.texi: Updated.
2706 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
2707 further ICVs from the offload image.
2708 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2709 * target.c (gomp_get_offload_icv_item): Get a list item of
2710 gomp_offload_icv_list.
2711 (get_gomp_offload_icvs): New. Returns the ICV values
2712 depending on the device num and the variable hierarchy.
2713 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
2714 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
2715 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
2716 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
2717 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
2718 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
2719 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
2721 2022-09-08 Jakub Jelinek <jakub@redhat.com>
2723 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
2725 * testsuite/libgomp.c/doacross-4.c: New test.
2726 * testsuite/libgomp.c/doacross-5.c: New test.
2727 * testsuite/libgomp.c/doacross-6.c: New test.
2728 * testsuite/libgomp.c/doacross-7.c: New test.
2730 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
2732 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
2734 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
2736 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
2737 refer to 'requires'.
2738 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
2739 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
2740 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
2741 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
2743 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2745 PR middle-end/106548
2746 * testsuite/libgomp.c/linear-2.c: New test.
2748 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2750 * splay-tree.h: Fix splay_* macro unsetting if
2751 splay_tree_prefix is defined.
2753 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
2755 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
2757 2022-07-29 Jakub Jelinek <jakub@redhat.com>
2759 PR middle-end/106449
2760 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
2762 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
2764 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
2766 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
2768 PR middle-end/101551
2769 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
2770 'offloading_enabled' diagnostics issue.
2772 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
2774 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
2775 '_Pragma' diagnostics verification.
2777 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
2779 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
2780 improved warning locations.
2781 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
2783 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
2785 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
2786 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
2787 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2788 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2789 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2791 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2793 * target.c (GOMP_offload_register, GOMP_offload_unregister):
2794 Denote as legacy entry points.
2795 * testsuite/lib/libgomp.exp
2796 (check_effective_target_offload_target_any): New proc.
2797 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
2798 'offload_target_any'.
2799 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2800 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2801 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2803 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2805 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
2806 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2808 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2810 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
2812 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
2814 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
2816 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
2818 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
2819 Jakub Jelinek <jakub@redhat.com>
2821 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
2823 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
2824 Chung-Lin Tang <cltang@codesourcery.com>
2825 Thomas Schwinge <thomas@codesourcery.com>
2827 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
2828 omp_requires_mask arg.
2829 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
2830 return -1 when device available but omp_requires_mask != 0.
2831 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
2832 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
2834 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
2835 goacc_attach_host_thread_to_device, acc_get_num_devices,
2836 acc_set_device_num, get_property_any): Likewise.
2837 * target.c (omp_requires_mask): New global var.
2838 (gomp_requires_to_name): New.
2839 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
2840 (gomp_target_init): Handle omp_requires_mask.
2841 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
2842 (OpenMP 5.1): Add a missed item.
2843 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
2844 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
2845 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
2846 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
2847 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
2848 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
2849 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
2850 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
2851 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
2852 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
2853 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
2854 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
2855 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
2856 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
2857 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
2858 * testsuite/libgomp.fortran/requires-1.f90: New test.
2860 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
2862 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
2863 with fromto as implemented.
2865 2022-06-28 Martin Liska <mliska@suse.cz>
2867 * acinclude.m4: Fix typo in mold linker detection.
2868 * Makefile.in: Regenerate.
2869 * configure: Regenerate.
2871 2022-06-21 Jakub Jelinek <jakub@redhat.com>
2872 Paul Iannetta <piannetta@kalrayinc.com>
2875 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
2877 2022-06-17 Martin Liska <mliska@suse.cz>
2879 * libgomp.texi: Add table header for new features of
2882 2022-06-15 Jakub Jelinek <jakub@redhat.com>
2884 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
2885 q to ddress of an automatic variable. Use -5 instead of -1 in
2886 omp_get_mapped_ptr call. Add test with omp_initial_device.
2887 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
2888 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
2889 Renumber stop arguments afterwards.
2891 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2893 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
2894 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
2896 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
2897 * target.c (resolve_device): Add remapped argument, handle
2898 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
2899 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
2900 if remapped, otherwise treat omp_initial_device that way. For
2901 omp_invalid_device, always emit gomp_fatal, even when
2902 OMP_TARGET_OFFLOAD isn't mandatory.
2903 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
2904 GOMP_target_update, GOMP_target_update_ext,
2905 GOMP_target_enter_exit_data): Pass true as remapped argument to
2907 (omp_target_alloc, omp_target_free, omp_target_is_present,
2908 omp_target_memcpy_check, omp_target_associate_ptr,
2909 omp_target_disassociate_ptr, omp_get_mapped_ptr,
2910 omp_target_is_accessible): Pass false as remapped argument to
2911 resolve_device. Treat omp_initial_device the same as
2912 gomp_get_num_devices (). Don't bypass resolve_device calls if
2913 device_num is negative.
2914 (omp_pause_resource): Treat omp_initial_device the same as
2915 gomp_get_num_devices (). Call resolve_device.
2916 * icv-device.c (omp_set_default_device): Always set to device_num
2917 even when it is negative.
2918 * libgomp.texi: Document that Conforming device numbers,
2919 omp_initial_device and omp_invalid_device is implemented.
2920 * testsuite/libgomp.c/target-41.c (main): Add test with
2922 * testsuite/libgomp.c/target-45.c: New test.
2923 * testsuite/libgomp.c/target-46.c: New test.
2924 * testsuite/libgomp.c/target-47.c: New test.
2925 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
2926 test with omp_initial_device. Use -5 instead of -1 for negative value
2928 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
2929 Likewise. Reorder stop numbers.
2931 2022-06-10 Jakub Jelinek <jakub@redhat.com>
2933 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
2934 rather than "libmemkind.so".
2936 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
2938 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
2939 * plugin/configfrag.ac (--with-cuda-driver)
2940 (--with-cuda-driver-include, --with-cuda-driver-lib)
2941 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
2942 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
2944 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
2945 (cuda_driver_lib): Remove.
2946 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
2947 * Makefile.in: Regenerate.
2948 * configure: Likewise.
2949 * testsuite/Makefile.in: Likewise.
2951 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2953 * config/linux/allocator.c: Fix up #include directive.
2955 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2957 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
2958 (enum gomp_memkind_kind): New type.
2959 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
2961 (struct gomp_memkind_data): New type.
2962 (memkind_data, memkind_data_once): New variables.
2963 (gomp_init_memkind, gomp_get_memkind): New functions.
2964 (omp_init_allocator): Initialize data.memkind, don't fail for
2965 omp_high_bw_mem_space if libmemkind supports it.
2966 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
2967 memkind support of LIBGOMP_USE_MEMKIND is defined.
2968 * config/linux/allocator.c: New file.
2970 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
2972 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
2973 * testsuite/libgomp.fortran/scope-2.f90: New test.
2975 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2977 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
2979 2022-05-31 Jakub Jelinek <jakub@redhat.com>
2981 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
2982 scope construct with allocate clause.
2983 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
2984 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
2986 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
2988 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
2989 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
2990 explicit 'to' and 'enter' clause.
2991 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
2993 2022-05-28 Jakub Jelinek <jakub@redhat.com>
2996 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
2997 defined(HAVE__ALIGNED_MALLOC) case.
2998 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
2999 handling as last option before fallback instead of first.
3000 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3003 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3005 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3007 * testsuite/libgomp.c/target-41.c: Likewise.
3009 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
3011 * libgomp.texi (Other new OpenMP 5.1 features): Add
3012 'begin declare target'.
3013 (Other new OpenMP 5.2 features): New.
3015 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3017 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3018 is the last task taskwait depend depends on, wake it up.
3019 Similarly if it is the last child of a taskgroup, use atomic
3020 store instead of decrement and awak taskgroup wait if any.
3021 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3023 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3025 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3026 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3027 (gcn_gfx90a_s): New.
3028 (isa_hsa_name): Support gfx90a.
3029 (isa_code): Likewise.
3031 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
3034 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3035 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3037 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3040 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3041 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3042 * task.c (empty_task): New function.
3043 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3044 (gomp_task_run_post_handle_depend): Declare.
3045 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3047 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3048 (GOMP_taskwait_depend_nowait): New function.
3049 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3051 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3054 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3055 Support attach for GOMP_MAP_FIRSTPRIVATE.
3056 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3057 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3058 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3060 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3062 * libgomp.map: Added omp_target_memcpy_async and
3063 omp_target_memcpy_rect_async.
3064 * libgomp.texi: Both functions are now supported.
3065 * omp.h.in: Added omp_target_memcpy_async and
3066 omp_target_memcpy_rect_async.
3067 * omp_lib.f90.in: Added interfaces for both new functions.
3068 * omp_lib.h.in: Likewise.
3069 * target.c (ialias_redirect): Added for GOMP_task.
3070 (omp_target_memcpy): Restructured into check and copy part.
3071 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3072 omp_target_memcpy_async that checks requirements.
3073 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3074 omp_target_memcpy_async that performs the memcpy.
3075 (omp_target_memcpy_async_helper): New helper function that is used in
3076 omp_target_memcpy_async for the asynchronous task.
3077 (omp_target_memcpy_async): Added.
3078 (omp_target_memcpy_rect): Restructured into check and copy part.
3079 (omp_target_memcpy_rect_check): New helper function for
3080 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3082 (omp_target_memcpy_rect_copy): New helper function for
3083 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3085 (omp_target_memcpy_rect_async_helper): New helper function that is used
3086 in omp_target_memcpy_rect_async for the asynchronous task.
3087 (omp_target_memcpy_rect_async): Added.
3088 * task.c (ialias): Added for GOMP_task.
3089 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3090 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3091 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3092 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3093 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3094 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3095 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3096 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3098 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
3100 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3101 (OpenMP Context Selectors): Add missing comma.
3102 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3103 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3104 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3105 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3107 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3109 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3110 comment for omp_display_env feature.
3112 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3114 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3115 to document OpenMP context selectors.
3117 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3119 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3120 from bool to unsigned char.
3121 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3122 Ignore dependencies where
3123 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3124 rather than just task->depend[i].is_in && ent->is_in. Remember
3125 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3127 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3128 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3129 rather than just elem.is_in && ent->is_in.
3130 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3131 inoutset depend-kind.
3132 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3133 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3134 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3136 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3138 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3140 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3142 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3143 * testsuite/libgomp.fortran/depend-5.f90: New test.
3144 * testsuite/libgomp.fortran/depend-6.f90: New test.
3145 * testsuite/libgomp.fortran/depend-7.f90: New test.
3147 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3149 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3150 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3151 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3153 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3155 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3157 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3159 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3161 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3163 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3164 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3165 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3166 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3167 * Makefile.in: Regenerate.
3169 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3171 * Makefile.am (libgomp_la_LIBADD): Initialize.
3172 * plugin/configfrag.ac (DL_LIBS): New.
3173 (PLUGIN_GCN_LIBS): Remove.
3174 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3175 * plugin/Makefrag.am (libgomp_la_LIBADD)
3176 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3177 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3178 * Makefile.in: Regenerate.
3179 * config.h.in: Likewise.
3180 * configure: Likewise.
3181 * testsuite/Makefile.in: Likewise.
3183 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3185 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3186 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3187 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3188 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3189 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3190 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3191 * Makefile.in: Regenerate.
3192 * config.h.in: Likewise.
3193 * configure: Likewise.
3195 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3197 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3198 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3199 * Makefile.in: Regenerate.
3200 * config.h.in: Likewise.
3201 * configure: Likewise.
3202 * testsuite/Makefile.in: Likewise.
3204 2022-05-12 Jakub Jelinek <jakub@redhat.com>
3206 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3207 * task.c (gomp_init_task): Initialize depend_all_memory.
3208 (gomp_task_handle_depend): Handle omp_all_memory.
3209 (gomp_task_run_post_handle_depend_hash): Clear
3210 parent->depend_all_memory if equal to current task.
3211 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3212 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3213 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3214 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3216 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3218 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3219 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3220 * Makefile.in: Regenerate.
3221 * configure: Likewise.
3222 * testsuite/Makefile.in: Likewise.
3224 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3226 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3227 consider 'PLUGIN_GCN_CPPFLAGS'.
3228 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3229 'PLUGIN_GCN_LDFLAGS'.
3230 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3232 * Makefile.in: Regenerate.
3233 * configure: Likewise.
3234 * testsuite/Makefile.in: Likewise.
3236 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3238 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3239 (HSA_RUNTIME_LDFLAGS): Remove.
3240 * configure: Regenerate.
3242 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3244 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3245 'append always_ld_library_path ":$hsa_runtime_lib"'.
3246 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3248 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3250 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3251 multi-device testing.
3253 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3255 * libgomp.map: Added omp_target_is_accessible.
3256 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3257 * omp.h.in: Added omp_target_is_accessible.
3258 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3259 * omp_lib.h.in: Likewise.
3260 * target.c (omp_target_is_accessible): Added implementation of
3261 omp_target_is_accessible.
3262 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3263 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3265 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3267 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3269 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3271 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3273 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3275 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3277 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3279 * libgomp.map: Added omp_get_mapped_ptr.
3280 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3281 * omp.h.in: Added omp_get_mapped_ptr.
3282 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3283 * omp_lib.h.in: Likewise.
3284 * target.c (omp_get_mapped_ptr): Added implementation of
3286 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3287 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3288 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3289 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3290 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3291 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3292 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3293 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3295 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3298 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3299 privatization scanning. For GCN offloading compilation, raise
3300 '-mgang-private-size'.
3302 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3305 * work.c (gomp_init_work_share): Don't mask of adjustment for
3306 dynamic long long realignment if struct gomp_work_share has smaller
3307 alignof than long long.
3308 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3309 struct gomp_work_share has smaller alignof than long long or if
3310 sizeof (struct gomp_work_share) is smaller than
3311 INLINE_ORDERED_TEAM_IDS_OFF.
3312 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3313 * sections.c (GOMP_sections2_start): Likewise.
3315 2022-04-25 Jakub Jelinek <jakub@redhat.com>
3316 Thomas Schwinge <thomas@codesourcery.com>
3319 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3321 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3323 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3325 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3327 * plugin/cuda/cuda.h: Remove file.
3328 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3329 "cuda/cuda.h" instead of <cuda.h>.
3330 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3331 'PLUGIN_NVPTX_CPPFLAGS'.
3332 * configure: Regenerate.
3334 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3336 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3338 2022-04-04 Tom de Vries <tdevries@suse.de>
3340 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3341 on_device_arch_nvptx instead of offload_target_nvptx.
3342 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3344 2022-04-01 Tom de Vries <tdevries@suse.de>
3346 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3348 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3350 2022-04-01 Tom de Vries <tdevries@suse.de>
3352 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3355 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3356 Lulu Cheng <chenglulu@loongson.cn>
3358 * configure.tgt: Add LoongArch triplet.
3360 2022-03-28 Tom de Vries <tdevries@suse.de>
3362 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3363 instead of /libexec/.
3364 * configure: Regenerate.
3366 2022-03-25 Tom de Vries <tdevries@suse.de>
3369 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3371 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3372 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3374 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
3376 PR middle-end/104285
3377 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3378 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3379 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3380 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3381 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3382 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3384 2022-03-22 Tom de Vries <tdevries@suse.de>
3388 * testsuite/libgomp.c/pr104783-2.c: New test.
3390 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
3393 * testsuite/libgomp.fortran/associate4.f90: New test.
3395 2022-03-18 Tom de Vries <tdevries@suse.de>
3398 * testsuite/libgomp.c/pr104952-1.c: New test.
3399 * testsuite/libgomp.c/pr104952-2.c: New test.
3401 2022-03-18 Jakub Jelinek <jakub@redhat.com>
3403 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3404 variable next to pl variable.
3406 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3408 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3410 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3411 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3413 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3416 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3417 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3419 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3421 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3422 omp_set_max_active_levels.
3423 * testsuite/libgomp.fortran/icv-8.f90: New test.
3425 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3428 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3430 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
3432 * libgomp.texi: Fix typo.
3434 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3436 PR middle-end/100280
3437 PR middle-end/104892
3438 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3439 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3440 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3442 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3444 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3445 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3446 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3449 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3451 PR middle-end/104892
3452 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3454 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3455 enable '--param=openacc-kernels=decompose' and adjust.
3456 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3458 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3459 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3462 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3465 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3466 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3467 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3468 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3470 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3472 PR middle-end/100280
3473 PR middle-end/104086
3474 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3476 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3478 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3480 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3483 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3485 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3486 trait. Test last index in w and v array. Remove redundant
3487 assignment to V(1). Move alignment checks at the end of
3490 2022-03-10 Tom de Vries <tdevries@suse.de>
3492 * testsuite/libgomp.c/pr104783.c: New test.
3494 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3497 PR middle-end/102330
3498 PR middle-end/104774
3499 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3501 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3503 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3509 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3511 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3513 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3515 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3517 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3519 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3521 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3523 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3527 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3528 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3529 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3531 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3534 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3535 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3536 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3537 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3539 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3542 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
3543 expected diagnostics.
3545 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3547 PR middle-end/104784
3548 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3549 Test with '--param=openacc-kernels=decompose'.
3550 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3552 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3554 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3556 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3558 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3560 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3562 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3564 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3566 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3568 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3570 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3572 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3574 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3576 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3578 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3580 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3582 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3584 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3586 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3588 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3590 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3592 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3594 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3596 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3598 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3600 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3602 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3604 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3606 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3608 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3610 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3612 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3615 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3617 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3618 Test '-fopt-info-omp-all'.
3619 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3621 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3623 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3625 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3627 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3629 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3631 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3633 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3635 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3637 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3639 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3641 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3643 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3645 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3647 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3649 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3651 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3653 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3655 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3657 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3659 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3661 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3663 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3665 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3667 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3669 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3671 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3673 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3675 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3677 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3679 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3681 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3684 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3686 PR middle-end/100280
3687 PR middle-end/104132
3688 PR middle-end/104133
3689 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3692 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3694 PR middle-end/100280
3695 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
3696 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3699 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3701 PR middle-end/100280
3702 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
3703 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3706 2022-02-28 Tom de Vries <tdevries@suse.de>
3708 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
3709 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
3710 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
3711 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
3712 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
3713 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
3715 2022-02-24 Tom de Vries <tdevries@suse.de>
3717 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
3718 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
3719 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
3720 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
3721 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
3722 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
3723 * testsuite/libgomp.c/declare-variant-3.h: New header file.
3725 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
3727 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
3728 gang-redundant execution.
3730 2022-02-22 Tom de Vries <tdevries@suse.de>
3733 * config/nvptx/bar.c (generation_to_barrier): New function, copied
3734 from config/rtems/bar.c.
3735 (futex_wait, futex_wake): New function.
3736 (do_spin, do_wait): New function, copied from config/linux/wait.h.
3737 (gomp_barrier_wait_end, gomp_barrier_wait_last)
3738 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
3739 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
3740 and replace with include of config/linux/bar.c.
3741 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
3742 (gomp_barrier_init): Init new fields.
3743 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
3745 * testsuite/libgomp.c/pr99555-1.c: Same.
3746 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
3748 2022-02-22 Tom de Vries <tdevries@suse.de>
3751 * testsuite/libgomp.c++/pr96390.C: Add additional-option
3752 -foffload=-Wa,--verify for nvptx.
3753 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
3755 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
3757 * testsuite/libgomp.fortran/depend-4.f90: New test.
3759 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
3762 * testsuite/libgomp.c++/target-virtual-1.C: New test.
3764 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
3766 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
3767 * target.c (copy_firstprivate_data): Copy only if host address is not
3769 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
3770 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
3771 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
3772 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
3773 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
3774 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
3775 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
3776 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
3777 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
3778 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
3780 2022-02-08 Jakub Jelinek <jakub@redhat.com>
3783 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
3785 * testsuite/libgomp.c/pr104385.c: New test.
3787 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
3789 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
3790 STOP of previous commit.
3792 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
3794 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
3795 from is_64bit_aligned_.
3796 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
3797 and use it, more implicit none, remove unused argument.
3799 2022-02-03 David Seifert <soap@gentoo.org>
3800 Jakub Jelinek <jakub@redhat.com>
3802 * configure.ac: Support --disable-werror.
3803 * configure: Regenerate.
3805 2022-02-01 Tom de Vries <tdevries@suse.de>
3807 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
3809 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
3810 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
3812 2022-02-01 Tom de Vries <tdevries@suse.de>
3814 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
3815 num_workers for nvidia accelerator to fix libgomp error 'insufficient
3817 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
3819 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
3821 2022-02-01 Tom de Vries <tdevries@suse.de>
3823 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3825 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3827 2022-01-31 Martin Liska <mliska@suse.cz>
3829 * acinclude.m4: Detect *_ld_is_mold and use it.
3830 * configure: Regenerate.
3832 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
3834 * libgomp.texi (OpenMP 5.0): Update implementation status.
3836 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
3838 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
3839 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3840 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3841 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3842 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3843 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3844 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3845 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3846 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3847 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3848 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3849 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3850 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3851 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3852 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3854 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
3856 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
3857 "static") to make the device num available in the offload image.
3859 2022-01-19 Martin Liska <mliska@suse.cz>
3860 Thomas Schwinge <thomas@codesourcery.com>
3862 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
3864 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3865 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3867 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3868 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3869 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3870 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3871 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
3873 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
3875 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
3877 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
3879 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
3881 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3883 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3884 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3885 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3887 2022-01-18 Martin Liska <mliska@suse.cz>
3889 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
3891 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3892 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3893 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3894 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3895 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3896 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3897 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
3898 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
3899 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
3900 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
3901 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
3902 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
3903 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3904 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3905 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3907 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
3909 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
3910 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3911 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3913 2022-01-17 Julian Brown <julian@codesourcery.com>
3914 Thomas Schwinge <thomas@codesourcery.com>
3916 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
3917 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
3918 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
3920 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3921 Andrew Stubbs <ams@codesourcery.com>
3923 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
3924 the number of teams and threads if necessary.
3925 (gcn_exec): Automatically set the number of gangs and workers if
3928 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
3930 * testsuite/libgomp.fortran/allocate-1.c: New test.
3931 * testsuite/libgomp.fortran/allocate-1.f90: New test.
3932 * libgomp.texi: Remove string that says that allocate clause
3933 support is for C/C++ only.
3935 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3937 * testsuite/libgomp.c-c++-common/on_device_arch.h
3938 (any_device_arch, any_device_arch_intel_mic): New.
3939 * testsuite/lib/libgomp.exp
3940 (check_effective_target_offload_device_any_intel_mic): New.
3941 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
3942 * testsuite/libgomp.fortran/target10.f90: Likewise.
3944 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3946 PR tree-optimization/102192
3947 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
3948 '-Wuninitialized' diagnostics.
3950 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3952 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
3953 current '-Wuninitialized' diagnostics.
3954 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
3955 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
3956 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
3957 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
3958 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3959 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3960 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
3961 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3962 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3963 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3964 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
3967 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3969 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
3970 for 'offload_device_intel_mic'.
3972 2022-01-13 Julian Brown <julian@codesourcery.com>
3973 Thomas Schwinge <thomas@codesourcery.com>
3975 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
3976 offloading execution XFAIL.
3978 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3980 PR middle-end/100280
3981 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3983 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3984 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3987 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3989 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3991 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3993 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
3994 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3995 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
3996 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
3997 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3999 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4000 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4001 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4002 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4004 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
4006 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4007 * testsuite/libgomp.fortran/target10.f90: Likewise.
4009 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4011 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4012 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4013 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4015 2022-01-03 Jakub Jelinek <jakub@redhat.com>
4017 * libgomp.texi: Bump @copying's copyright year.
4019 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
4021 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4022 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4024 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
4026 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4027 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4028 table, not individual symbols.
4030 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4032 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4033 "target offload_device_nonshared_as"
4034 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4035 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4037 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4039 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4040 not overwritten during cross-host/device copying.
4041 (gomp_update): Likewise.
4042 (gomp_exit_data): Likewise.
4043 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4044 * testsuite/libgomp.c++/target-12.C: Likewise.
4045 * testsuite/libgomp.c++/target-15.C: Likewise.
4046 * testsuite/libgomp.c++/target-16.C: Likewise.
4047 * testsuite/libgomp.c++/target-17.C: Likewise.
4048 * testsuite/libgomp.c++/target-21.C: Likewise.
4049 * testsuite/libgomp.c++/target-23.C: Likewise.
4050 * testsuite/libgomp.c/target-23.c: Likewise.
4051 * testsuite/libgomp.c/target-29.c: Likewise.
4052 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4054 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4057 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4058 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4059 (goacc_enter_data_internal): Likewise.
4060 * target.c (gomp_map_vars_existing): Update assert condition to
4061 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4062 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4063 parameter, add support for mapping a pointer with NULL target.
4064 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4065 parameter, add support for attaching a pointer with NULL target.
4066 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4067 gomp_attach_pointer, add handling for
4068 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4069 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4070 * testsuite/libgomp.c++/target-23.C: New testcase.
4071 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4072 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4073 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4074 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4075 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4076 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4077 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4079 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4081 * libgomp.texi (OpenMP 5.1): Update status.
4083 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4085 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4087 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4090 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4091 * testsuite/libgomp.fortran/pr90030.f90: New test.
4093 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4094 Thomas Schwinge <thomas@codesourcery.com>
4096 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4099 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4100 Thomas Schwinge <thomas@codesourcery.com>
4102 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4105 2021-11-29 Richard Biener <rguenther@suse.de>
4107 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4110 2021-11-24 Jakub Jelinek <jakub@redhat.com>
4112 PR middle-end/103384
4113 * testsuite/libgomp.c/declare-variant-2.c: New test.
4115 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
4117 * alloc.c (gomp_aligned_alloc): Fix typo.
4119 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4122 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4123 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4124 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4125 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4126 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4127 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4128 gomp_aligned_alloc instead of team_malloc.
4130 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4133 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4134 memalign over posix_memalign over aligned_alloc over fallback
4135 with malloc instead of aligned_alloc over _aligned_alloc over
4136 posix_memalign over memalign over fallback with malloc. For
4137 aligned_alloc, round up size up to multiple of al.
4139 2021-11-16 Jakub Jelinek <jakub@redhat.com>
4141 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4142 construct as implemented.
4144 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
4146 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4148 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4150 * task.c (gomp_create_target_task): Copy args array as well.
4151 * target.c (gomp_target_fallback): Add args argument.
4152 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4153 (GOMP_target): Adjust gomp_target_fallback caller.
4154 (GOMP_target_ext): Likewise.
4155 (gomp_target_task_fn): Likewise.
4156 * config/nvptx/team.c (gomp_nvptx_main): Set
4157 gomp_global_icv.thread_limit_var.
4158 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4160 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4162 * config/nvptx/team.c (__gomp_team_num): Define as
4163 __attribute__((shared)) var.
4164 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4165 * config/nvptx/target.c (__gomp_team_num): Declare as
4166 extern __attribute__((shared)) var.
4167 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4168 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4169 is bigger than num_blocks, use num_teams_lower teams and arrange for
4170 bumping of __gomp_team_num if !first and returning false once we run
4172 * config/nvptx/teams.c (__gomp_team_num): Declare as
4173 extern __attribute__((shared)) var.
4174 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4176 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4178 * testsuite/libgomp.c/teams-5.c: New test.
4180 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4183 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4185 * config/gcn/teams.c: ... here. New file.
4187 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4189 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4190 implicit map handling to allow a "superset" existing map as valid case.
4191 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4192 (get_implicit): New function to extract implicit status.
4193 (gomp_map_fields_existing): Adjust arguments in calls to
4194 gomp_map_vars_existing, and add uses of get_implicit.
4195 (gomp_map_vars_internal): Likewise.
4196 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4198 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4200 * libgomp_g.h (GOMP_teams4): Declare.
4201 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4202 * target.c (GOMP_teams4): New function.
4203 * config/nvptx/target.c (GOMP_teams): Remove.
4204 (GOMP_teams4): New function.
4205 * config/gcn/target.c (GOMP_teams): Remove.
4206 (GOMP_teams4): New function.
4207 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4208 teams instead of <= 2.
4209 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4211 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
4213 * testsuite/libgomp.fortran/teams-1.f90: New test.
4215 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4217 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4218 * team.c (struct gomp_thread_start_data): Likewise.
4219 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4220 (gomp_team_start): Initialize start_data->num_teams and
4221 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4222 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4223 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4224 instead of gomp_num_teams and gomp_team_num.
4225 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4226 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4227 * testsuite/libgomp.c/teams-4.c: New test.
4229 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4231 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4233 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4235 * env.c (parse_gomp_openacc_dim): Restore parsing.
4237 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
4239 PR middle-end/102972
4240 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4242 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4243 * testsuite/libgomp.c/target-3.c: Likewise.
4244 * testsuite/libgomp.c/target-5.c: Likewise.
4245 * testsuite/libgomp.c/target-6.c: Likewise.
4246 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4247 * testsuite/libgomp.c/teams-1.c: Likewise.
4248 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4249 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4250 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4251 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4252 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4253 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4254 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4256 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
4258 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4259 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4261 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4263 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4264 aren't implemented for Fortran yet.
4266 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4268 * testsuite/libgomp.c/loop-26.c: New test.
4269 * testsuite/libgomp.c/loop-27.c: New test.
4271 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
4274 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4275 instead of #include <alloca.h> + alloca.
4277 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4279 * libgomp.texi (Support of strictly structured blocks in Fortran):
4281 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4283 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4285 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4286 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4288 2021-10-20 Jakub Jelinek <jakub@redhat.com>
4291 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4292 (struct gomp_work_share): Only use aligned(64) attribute if
4293 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4294 add padding before lock to ensure lock is at offset 64 bytes
4296 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4297 New poor man's static assertions.
4298 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4299 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4301 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
4302 Richard Biener <rguenther@suse.de>
4304 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4306 2021-10-18 Jakub Jelinek <jakub@redhat.com>
4308 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4309 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4311 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
4320 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4322 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4324 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4325 type from char [50] to const char *.
4326 (places_array): Add a testcase for simplified syntax place followed
4327 by length or length and stride.
4329 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4331 * env.c (parse_one_place): Handle non-negative-number the same
4332 as { non-negative-number }. Reject even !number:1 and
4333 !number:1:stride or !place:1 or !place:1:stride instead of just
4334 length other than 1.
4335 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4336 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4337 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4339 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4342 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4344 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4345 clearly reject return value 0 as invalid handle the case where end
4346 pointer is the same as first argument as invalid.
4347 (parse_unsigned_long_1): Likewise.
4348 (parse_one_place): Likewise.
4349 (parse_places_var): Likewise.
4350 (parse_stacksize): Likewise.
4351 (parse_spincount): Likewise.
4352 (parse_affinity): Likewise.
4353 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4354 Make code valid C89.
4355 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4356 For strtoul calls which don't clearly reject return value 0 as
4357 invalid handle the case where end pointer is the same as first
4358 argument as invalid.
4359 (gomp_affinity_init_level_1): Likewise.
4360 (gomp_affinity_init_numa_domains): Likewise.
4361 * config/rtems/proc.c (parse_thread_pools): Likewise.
4363 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4365 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4366 after creating count places clean up and return immediately.
4367 * testsuite/libgomp.c/places-6.c: New test.
4368 * testsuite/libgomp.c/places-7.c: New test.
4369 * testsuite/libgomp.c/places-8.c: New test.
4370 * testsuite/libgomp.c/places-9.c: New test.
4371 * testsuite/libgomp.c/places-10.c: New test.
4373 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4375 * env.c (parse_places_var): Handle numa_domains as level 5.
4376 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4378 (gomp_affinity_init_level): Use it instead of
4379 gomp_affinity_init_level_1 for level == 5.
4380 * testsuite/libgomp.c/places-5.c: New test.
4382 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4384 * env.c (parse_places_var): Handle ll_caches as level 4.
4385 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4387 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4389 (gomp_affinity_init_level): Likewise.
4390 * testsuite/libgomp.c/places-1.c: New test.
4391 * testsuite/libgomp.c/places-2.c: New test.
4392 * testsuite/libgomp.c/places-3.c: New test.
4393 * testsuite/libgomp.c/places-4.c: New test.
4395 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4397 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4400 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4402 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4404 2021-10-12 Julian Brown <julian@codesourcery.com>
4406 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4409 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
4411 * testsuite/libgomp.fortran/icv-3.f90: New.
4412 * testsuite/libgomp.fortran/icv-4.f90: New.
4414 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4416 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4417 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4418 OMP_TEAMS_THREAD_LIMIT): Document.
4420 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4422 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4423 to avoid makeinfo warnings.
4425 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4427 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4428 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4430 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4434 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4435 allocation sizes from 420 to 320 and from 768 to 568.
4436 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4437 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4438 for cr from 16 to 4.
4440 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4442 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4443 * testsuite/libgomp.c/scan-12.c: Likewise.
4444 * testsuite/libgomp.c/scan-13.c: Likewise.
4445 * testsuite/libgomp.c/scan-14.c: Likewise.
4446 * testsuite/libgomp.c/scan-15.c: Likewise.
4447 * testsuite/libgomp.c/scan-16.c: Likewise.
4448 * testsuite/libgomp.c/scan-17.c: Likewise.
4449 * testsuite/libgomp.c/scan-18.c: Likewise.
4450 * testsuite/libgomp.c/scan-19.c: Likewise.
4451 * testsuite/libgomp.c/scan-20.c: Likewise.
4452 * testsuite/libgomp.c/scan-21.c: Likewise.
4453 * testsuite/libgomp.c/scan-22.c: Likewise.
4454 * testsuite/libgomp.c++/scan-9.C: Likewise.
4455 * testsuite/libgomp.c++/scan-10.C: Likewise.
4456 * testsuite/libgomp.c++/scan-11.C: Likewise.
4457 * testsuite/libgomp.c++/scan-12.C: Likewise.
4458 * testsuite/libgomp.c++/scan-13.C: Likewise.
4459 * testsuite/libgomp.c++/scan-14.C: Likewise.
4460 * testsuite/libgomp.c++/scan-15.C: Likewise.
4461 * testsuite/libgomp.c++/scan-16.C: Likewise.
4463 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
4465 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4467 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4469 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4471 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4472 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4473 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4474 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4476 2021-10-11 Jakub Jelinek <jakub@redhat.com>
4478 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4479 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4480 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4481 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4482 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4483 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4484 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4485 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4486 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4487 omp_set_teams_thread_limit{,_,_8_}.
4488 * icv.c (omp_set_num_teams, omp_get_max_teams,
4489 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4491 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4492 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4493 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4495 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4496 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4497 is not specified, use gomp_nteams_var.
4498 * fortran.c (omp_set_num_teams, omp_get_max_teams,
4499 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4501 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4502 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4503 omp_get_teams_thread_limit_): New functions.
4505 2021-10-09 liuhongt <hongtao.liu@intel.com>
4507 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4508 * testsuite/libgomp.c++/scan-11.C: Ditto.
4509 * testsuite/libgomp.c++/scan-12.C: Ditto.
4510 * testsuite/libgomp.c++/scan-13.C: Ditto.
4511 * testsuite/libgomp.c++/scan-14.C: Ditto.
4512 * testsuite/libgomp.c++/scan-15.C: Ditto.
4513 * testsuite/libgomp.c++/scan-16.C: Ditto.
4514 * testsuite/libgomp.c++/scan-9.C: Ditto.
4515 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4516 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4517 * testsuite/libgomp.c/scan-11.c: Ditto.
4518 * testsuite/libgomp.c/scan-12.c: Ditto.
4519 * testsuite/libgomp.c/scan-13.c: Ditto.
4520 * testsuite/libgomp.c/scan-14.c: Ditto.
4521 * testsuite/libgomp.c/scan-15.c: Ditto.
4522 * testsuite/libgomp.c/scan-16.c: Ditto.
4523 * testsuite/libgomp.c/scan-17.c: Ditto.
4524 * testsuite/libgomp.c/scan-18.c: Ditto.
4525 * testsuite/libgomp.c/scan-19.c: Ditto.
4526 * testsuite/libgomp.c/scan-20.c: Ditto.
4527 * testsuite/libgomp.c/scan-21.c: Ditto.
4528 * testsuite/libgomp.c/scan-22.c: Ditto.
4530 2021-10-09 Jakub Jelinek <jakub@redhat.com>
4532 * libgomp.texi (OpenMP 5.1): Mention implemented support for
4533 structured block sequences in C/C++. Mention support for
4534 unconstrained/reproducible modifiers on order clause.
4535 Mention partial (C/C++ only) support of extentensions to atomics
4536 construct. Mention partial (C/C++ on clause only) support of
4537 align/allocator modifiers on allocate clause.
4539 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
4541 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
4542 based on libgomp.c-c++-common/order-reproducible-1.c.
4543 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
4544 * testsuite/libgomp.fortran/my-usleep.c: New test.
4546 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
4548 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
4549 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
4550 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
4551 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
4552 based on libgomp.c-c++-common/alloc-9.c.
4554 2021-10-01 Jakub Jelinek <jakub@redhat.com>
4556 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
4557 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
4559 2021-10-01 Jakub Jelinek <jakub@redhat.com>
4561 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
4563 * env.c (handle_omp_display_env): Use ialias_call.
4564 * icv-device.c: Move ialias right below each function.
4565 (omp_get_device_num): Use ialias_call.
4566 * fortran.c (omp_fulfill_event): Add ialias_redirect.
4567 * icv.c (omp_get_active_level): Add ialias_redirect.
4569 2021-10-01 Jakub Jelinek <jakub@redhat.com>
4571 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
4572 __alloc_align__ (1) attribute.
4573 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
4575 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
4577 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
4578 for -fintrinsic-modules-path= warning of the C compiler.
4579 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
4580 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
4582 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
4584 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
4585 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
4586 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4588 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4590 * testsuite/libgomp.fortran/alloc-10.f90: New test.
4591 * testsuite/libgomp.fortran/alloc-6.f90: New test.
4592 * testsuite/libgomp.fortran/alloc-7.c: New test.
4593 * testsuite/libgomp.fortran/alloc-7.f90: New test.
4594 * testsuite/libgomp.fortran/alloc-8.f90: New test.
4595 * testsuite/libgomp.fortran/alloc-9.f90: New test.
4597 2021-09-30 Jakub Jelinek <jakub@redhat.com>
4599 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
4600 omp_realloc): New prototypes.
4601 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
4603 * allocator.c: Include string.h.
4604 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
4605 variable and use it instead of alignment so that when retrying the old
4606 alignment is used again. Don't retry if new alignment is the same
4607 as old alignment, unless allocator had pool size.
4608 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
4609 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
4610 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
4611 omp_aligned_calloc and omp_realloc.
4612 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
4613 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
4614 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
4615 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
4616 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
4617 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
4619 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
4622 * configure.ac: Only check for int-type = 2*size_t support when
4623 building with Fortran support.
4624 * configure: Regenerate.
4626 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
4628 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
4629 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4631 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
4633 * team.c: Initialize start_data.
4634 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4635 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
4637 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
4639 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
4640 dg-message back to dg-note.
4642 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
4645 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
4646 expected dg-note output.
4648 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
4651 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
4652 r12-3722 by removing -Wno-missing-include-dirs.
4653 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4655 2021-09-22 Jakub Jelinek <jakub@redhat.com>
4657 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
4658 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
4660 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
4663 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
4665 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4667 2021-09-18 Jakub Jelinek <jakub@redhat.com>
4669 * testsuite/libgomp.c++/default-1.C: New test.
4670 * testsuite/libgomp.c-c++-common/default-1.c: New test.
4671 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
4672 to default clause in C and C++" as implemented.
4674 2021-09-17 Julian Brown <julian@codesourcery.com>
4676 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
4678 2021-09-17 Julian Brown <julian@codesourcery.com>
4680 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
4682 2021-09-17 Jakub Jelinek <jakub@redhat.com>
4684 * libgomp.texi (OpenMP 5.1): Spelling fix,
4685 declare variante -> declare variant.
4687 2021-09-17 Jakub Jelinek <jakub@redhat.com>
4689 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
4690 Use /* */ comments instead of //.
4691 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
4692 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
4693 * testsuite/libgomp.c++/atomic-16.C: New test.
4694 * testsuite/libgomp.c++/atomic-17.C: New test.
4696 2021-09-10 Jakub Jelinek <jakub@redhat.com>
4698 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
4699 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
4700 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
4702 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
4704 * libgomp.texi (OpenMP Implementation Status): Extend
4706 (OpenACC Profiling Interface): Fix typo.
4708 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
4710 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
4711 not to 4.5; link to new section.
4712 (OpenMP Implementation Status): New.
4714 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
4716 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
4718 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
4720 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
4722 * testsuite/libgomp.fortran/error-1.f90: Likewise.
4724 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
4725 Jakub Jelinek <jakub@redhat.com>
4727 * testsuite/libgomp.c/address-space-1.c: New file.
4729 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
4731 * testsuite/lib/libgomp.exp
4732 (check_effective_target_offload_target_intelmic): Remove 'proc'.
4733 (check_effective_target_offload_device_intel_mic): New 'proc'.
4734 * testsuite/libgomp.c-c++-common/on_device_arch.h
4735 (device_arch_intel_mic, on_device_arch_intel_mic): New.
4736 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
4738 * testsuite/libgomp.fortran/target10.f90: Likewise.
4740 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
4742 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
4743 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
4744 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
4745 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
4747 2021-08-23 Jakub Jelinek <jakub@redhat.com>
4749 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
4750 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
4751 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
4753 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
4755 * config/nvptx/error.c (fwrite, exit): Override, too.
4756 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
4757 of offloading testing.
4758 * testsuite/libgomp.fortran/error-1.f90: Likewise.
4760 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
4762 * testsuite/libgomp.fortran/error-1.f90: New test.
4764 2021-08-20 Jakub Jelinek <jakub@redhat.com>
4766 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
4767 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
4768 * error.c (GOMP_warning, GOMP_error): New functions.
4769 * testsuite/libgomp.c-c++-common/error-1.c: New test.
4771 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
4773 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
4774 omp_target_free. omp_target_is_present, omp_target_memcpy,
4775 omp_target_memcpy_rect, omp_target_associate_ptr,
4776 omp_target_disassociate_ptr): Add interface.
4777 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
4778 omp_target_free. omp_target_is_present, omp_target_memcpy,
4779 omp_target_memcpy_rect, omp_target_associate_ptr,
4780 omp_target_disassociate_ptr): Add interface.
4781 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
4782 interface block for omp_alloc + omp_free.
4783 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
4784 * testsuite/libgomp.fortran/refcount-1.f90: New test.
4785 * testsuite/libgomp.fortran/target-12.f90: New test.
4787 2021-08-18 Jakub Jelinek <jakub@redhat.com>
4789 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
4791 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
4793 * testsuite/libgomp.fortran/scope-1.f90: New test.
4794 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
4796 2021-08-17 Jakub Jelinek <jakub@redhat.com>
4798 * Makefile.am (libgomp_la_SOURCES): Add scope.c
4799 * Makefile.in: Regenerated.
4800 * libgomp_g.h (GOMP_scope_start): Declare.
4801 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
4802 * scope.c: New file.
4803 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
4804 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
4806 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
4808 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
4811 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
4813 * testsuite/libgomp.fortran/masked-1.f90: New test.
4815 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
4817 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
4819 2021-08-12 Jakub Jelinek <jakub@redhat.com>
4821 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
4823 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
4825 * env.c (parse_bind_var): Accept 'primary' as alias for
4827 (omp_display_env): Add TODO comment to
4828 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
4829 * libgomp.texi: Change 'master thread' to 'primary thread'
4830 in line with OpenMP 5.1.
4831 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
4832 omp_proc_bind_master is an alias of it.
4833 (OMP_PROC_BIND): Mention 'PRIMARY'.
4834 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
4835 (omp_proc_bind_primary): Add.
4836 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4837 * omp_lib.f90.in (omp_proc_bind_primary): Add.
4838 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4839 * omp_lib.h.in (omp_proc_bind_primary): Add.
4840 * testsuite/libgomp.c/affinity-1.c: Check that
4841 'primary' works and is identical to 'master'.
4843 2021-08-09 Julian Brown <julian@codesourcery.com>
4844 Kwok Cheung Yeung <kcy@codesourcery.com>
4845 Thomas Schwinge <thomas@codesourcery.com>
4847 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
4849 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4850 [acc_device_radeon]: Update.
4851 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
4852 [ACC_DEVICE_TYPE_radeon]: Likewise.
4853 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4854 [acc_device_radeon]: Likewise.
4855 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
4856 [ACC_DEVICE_TYPE_radeon]: Likewise.
4857 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
4858 'openacc_radeon_accel_selected' and '-O0'.
4859 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4861 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
4863 * icv-device.c (omp_get_device_num): New API function, host side.
4864 * fortran.c (omp_get_device_num_): New interface function.
4865 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
4866 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
4867 omp_get_device_num_.
4868 * libgomp.texi (omp_get_device_num): Add documentation for new API
4870 * omp.h.in (omp_get_device_num): Add declaration.
4871 * omp_lib.f90.in (omp_get_device_num): Likewise.
4872 * omp_lib.h.in (omp_get_device_num): Likewise.
4873 * target.c (gomp_load_image_to_device): If additional entry for device
4874 number exists at end of returned entries from 'load_image_func' hook,
4875 copy the assigned device number over to the device variable.
4876 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4877 (omp_get_device_num): New API function, device side.
4878 * plugin/plugin-gcn.c ("symcat.h"): Add include.
4879 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4880 at end of returned 'target_table' entries.
4881 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4882 (omp_get_device_num): New API function, device side.
4883 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
4884 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4885 at end of returned 'target_table' entries.
4886 * testsuite/lib/libgomp.exp
4887 (check_effective_target_offload_target_intelmic): New function for
4888 testing for intelmic offloading.
4889 * testsuite/libgomp.c-c++-common/target-45.c: New test.
4890 * testsuite/libgomp.fortran/target10.f90: New test.
4892 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
4893 Ulrich Drepper <drepper@redhat.com>
4895 * fortran.c (omp_display_env_, omp_display_env_8_): Only
4896 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
4898 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
4899 Julian Brown <julian@codesourcery.com>
4900 Kwok Cheung Yeung <kcy@codesourcery.com>
4902 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
4903 's%oaccdevlow%oaccloops%g'.
4904 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
4905 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4906 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
4908 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
4910 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
4912 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
4914 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
4916 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
4918 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
4920 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
4922 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4924 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
4926 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
4928 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4930 2021-07-27 Ulrich Drepper <drepper@gmail.com>
4932 * env.c (wait_policy, stacksize): New static variables,
4933 move out of handle_omp_display_env.
4934 (omp_display_env): New function. The meat of the old
4935 handle_omp_display_env function.
4936 (handle_omp_display_env): Change to not take parameters
4937 and instead use the global variables. Only perform
4938 parsing, defer to omp_display_env for the implementation.
4939 (initialize_env): Remove local variables wait_policy and
4940 stacksize. Don't pass parameters to handle_omp_display_env.
4941 * fortran.c: Add ialias_redirect for omp_display_env.
4942 (omp_display_env_, omp_display_env_8_): New functions.
4943 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
4944 omp_display_env_, and omp_display_env_8_.
4945 * omp.h.in: Declare omp_display_env.
4946 * omp_lib.f90.in: Likewise.
4947 * omp_lib.h.in: Likewise.
4949 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4950 Julian Brown <julian@codesourcery.com>
4952 * target.c (gomp_coalesce_buf_add): Update comment.
4953 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
4955 (gomp_map_vars_internal): Only 'if (!aq)', do
4956 'gomp_coalesce_buf_add'.
4957 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
4960 2021-07-27 Julian Brown <julian@codesourcery.com>
4961 Thomas Schwinge <thomas@codesourcery.com>
4963 * libgomp.h (gomp_copy_host2dev): Update prototype.
4964 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
4965 argument to gomp_copy_host2dev (false).
4966 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
4967 (copy_data): Don't free src.
4968 (queue_push_copy): Remove free_src handling.
4969 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
4970 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
4972 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
4974 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
4975 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
4976 data when true, and set up deferred freeing of temporary buffer.
4977 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
4978 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
4979 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
4980 calls to gomp_copy_host2dev with appropriate ephemeral argument.
4981 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
4984 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4985 Tom de Vries <tom@codesourcery.com>
4987 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
4988 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
4990 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4992 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
4993 sequencing of 'async' data copying vs. profiling events.
4994 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4997 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4998 Julian Brown <julian@codesourcery.com>
5000 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5001 'async'/'wait' issue.
5002 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5003 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5004 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5006 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5007 Joseph Myers <joseph@codesourcery.com>
5008 Cesar Philippidis <cesar@codesourcery.com>
5010 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5012 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5014 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5016 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5018 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5021 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5022 '-Wno-error=array-bounds'.
5023 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5024 * libgomp.h [__AMDGCN__]: Likewise.
5026 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5029 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5030 * libgomp.h [__AMDGCN__]: Likewise.
5032 2021-07-13 Jakub Jelinek <jakub@redhat.com>
5033 Florian Weimer <fweimer@redhat.com>
5035 * config/linux/sem.h: Don't include limits.h.
5036 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5037 * config/linux/affinity.c: Include limits.h.
5039 2021-07-01 Jakub Jelinek <jakub@redhat.com>
5042 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5044 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5047 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5048 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5049 avoid disabling other offload targets.
5050 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5051 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5052 * testsuite/libgomp.c/target-44.c: Likewise.
5054 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5056 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5057 target has shared memory and disable some scalar pointer/allocatable
5058 checks if not as firstprivate does not work.
5060 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5063 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5064 Add "target offload_device_nonshared_as" condition for enabling test.
5066 2021-06-24 Jakub Jelinek <jakub@redhat.com>
5068 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5069 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5070 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5071 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5073 2021-06-23 Jakub Jelinek <jakub@redhat.com>
5075 PR middle-end/101167
5076 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5078 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5080 * hashtab.h (htab_clear): New function with initialization code
5081 factored out from...
5082 (htab_create): ...here, adjust to use htab_clear function.
5083 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5084 special refcount values, add comments.
5085 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5086 (REFCOUNT_LINK): Likewise.
5087 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5089 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5091 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5092 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5093 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5094 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5095 (struct splay_tree_key_s): Add structelem_refcount and
5096 structelem_refcount_ptr fields into a union with dynamic_refcount.
5098 (gomp_map_vars): Delete declaration.
5099 (gomp_map_vars_async): Likewise.
5100 (gomp_unmap_vars): Likewise.
5101 (gomp_unmap_vars_async): Likewise.
5102 (goacc_map_vars): New declaration.
5103 (goacc_unmap_vars): Likewise.
5104 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5105 (goacc_enter_datum): Likewise.
5106 (goacc_enter_data_internal): Likewise.
5107 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5108 and goacc_unmap_vars.
5109 (GOACC_data_start): Adjust to use goacc_map_vars.
5110 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5111 * target.c (hash_entry_type): New typedef.
5112 (htab_alloc): New function hook for hashtab.h.
5113 (htab_free): Likewise.
5114 (htab_hash): Likewise.
5115 (htab_eq): Likewise.
5116 (hashtab.h): Add file include.
5117 (gomp_increment_refcount): New function.
5118 (gomp_decrement_refcount): Likewise.
5119 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5120 gomp_increment_refcount.
5121 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5122 to gomp_map_vars_existing.
5123 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5124 variable to guard OpenMP specific paths, adjust calls to
5125 gomp_map_vars_existing, add structure element sibling splay_tree_key
5126 sequence creation code, adjust Fortran map case to avoid increment
5128 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5129 local refcount_set if caller passed in NULL, adjust call to
5130 gomp_map_vars_internal.
5131 (gomp_map_vars_async): Adjust and rename into...
5132 (goacc_map_vars): ...this new function, adjust call to
5133 gomp_map_vars_internal.
5134 (gomp_remove_splay_tree_key): New function with code factored out from
5135 gomp_remove_var_internal.
5136 (gomp_remove_var_internal): Add code to handle removing multiple
5137 splay_tree_key sequence for structure elements, adjust code to use
5138 gomp_remove_splay_tree_key for splay-tree key removal.
5139 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5140 gomp_decrement_refcount.
5141 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5142 local refcount_set if caller passed in NULL, adjust call to
5143 gomp_unmap_vars_internal.
5144 (gomp_unmap_vars_async): Adjust and rename into...
5145 (goacc_unmap_vars): ...this new function, adjust call to
5146 gomp_unmap_vars_internal.
5147 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5149 (GOMP_target_ext): Likewise.
5150 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5151 (GOMP_target_data): Likewise.
5152 (GOMP_target_data_ext): Likewise.
5153 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5154 (gomp_exit_data): Add refcount_set parameter, adjust to use
5155 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5157 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5158 gomp_map_vars and gomp_exit_data.
5159 (gomp_target_task_fn): Likewise.
5160 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5161 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5162 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5163 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5164 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5165 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5167 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
5170 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5172 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5173 Thomas Schwinge <thomas@codesourcery.com>
5175 * libgomp.map (GOACC_2.0.2): New symbol version.
5176 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5177 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5179 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5180 Andrew Stubbs <ams@codesourcery.com>
5182 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5184 (GOACC_enter_exit_data): ... here.
5185 (GOACC_declare): Use it.
5187 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5189 * oacc-parallel.c (GOACC_declare): Move...
5190 * oacc-mem.c: ... here.
5191 * libgomp_g.h: Adjust.
5193 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5194 Thomas Schwinge <thomas@codesourcery.com>
5196 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5199 2021-06-10 Jakub Jelinek <jakub@redhat.com>
5201 PR tree-optimization/100981
5202 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5203 dsdotr and dsdoti to 0.
5205 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
5207 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5208 if atomic compare-and-swap is supported on 'int'.
5210 2021-06-09 Richard Biener <rguenther@suse.de>
5212 PR tree-optimization/100981
5213 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5215 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5217 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5219 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5221 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5222 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5224 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5226 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5227 '-DACC_MEM_SHARED=0'.
5228 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5229 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5230 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5231 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5232 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5233 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5234 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5235 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5236 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5237 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5238 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5239 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5240 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5241 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5242 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5243 'acc_device_radeon' testing.
5244 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5245 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5246 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5247 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5248 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5249 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5250 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5251 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5252 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5253 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5254 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5255 for non-'openacc_nvidia_accel_selected'.
5256 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5257 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5258 all implement this checking".
5259 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5260 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5261 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5262 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5263 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5265 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5267 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5268 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5270 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5272 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5273 for 'acc_device_radeon'.
5275 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5277 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5278 for non-'acc_device_nvidia'.
5280 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5282 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5283 'acc_device_radeon' testing.
5284 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5285 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5286 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5288 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5290 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5291 require 'openacc_nvidia_accel_selected'. Fix up for
5292 'ACC_DEVICE_TYPE_radeon'.
5294 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5296 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5297 'openacc_nvidia_accel_selected'.
5298 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5300 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5302 * testsuite/lib/libgomp.exp
5303 (check_effective_target_openacc_radeon_accel_selected):
5306 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5308 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5311 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5313 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5314 <acc_device_nvidia>: Update comment.
5316 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
5318 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5320 2021-05-27 Jakub Jelinek <jakub@redhat.com>
5322 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5323 check_effective_target_openacc_cublas,
5324 check_effective_target_openacc_cudart): New.
5325 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5326 target openacc_cublas.
5327 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5328 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5329 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5330 target openacc_cuda.
5331 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5332 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5333 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5334 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5335 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5336 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5337 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5338 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5339 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5340 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5341 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5342 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5343 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5344 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5345 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5346 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5347 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5348 targets openacc_cublas and openacc_cudart.
5349 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5350 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5351 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5352 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5353 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5354 Require effective target openacc_cudart.
5355 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5356 for effective target openacc_cuda and add && defined USE_CUDA_H to
5357 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5360 2021-05-26 Jakub Jelinek <jakub@redhat.com>
5363 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5364 GOMP_target_end_data, GOMP_target_update_ext,
5365 GOMP_target_enter_exit_data): New dummy entrypoints.
5366 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5367 GOMP_target_end_data, GOMP_target_update_ext,
5368 GOMP_target_enter_exit_data): Likewise.
5369 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5370 OMPFROM, OMPTO): Define.
5371 (main): Remove #pragma omp target teams around all the tests.
5372 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5373 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5375 2021-05-25 Jakub Jelinek <jakub@redhat.com>
5378 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5380 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
5383 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5384 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5385 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5387 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5390 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5391 uninteresting/varying diagnostics.
5393 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5396 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5397 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5399 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5402 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5404 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5405 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5406 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5408 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5410 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5412 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5414 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5416 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5418 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5420 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5422 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5424 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5426 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5428 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5430 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5432 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5434 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5436 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5438 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5440 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5442 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5444 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5446 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5448 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5449 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5450 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5451 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5452 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5453 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5454 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5455 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5456 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5457 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5458 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5459 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5460 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5461 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5462 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5464 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5466 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5468 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5470 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5471 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5473 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5474 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5475 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5476 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5477 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5478 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5479 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5481 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5483 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5485 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5487 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5489 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5491 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5493 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5495 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5497 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5501 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5503 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5505 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5506 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5507 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5509 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5511 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5512 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5513 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5515 2021-05-21 Julian Brown <julian@codesourcery.com>
5516 Chung-Lin Tang <cltang@codesourcery.com>
5517 Thomas Schwinge <thomas@codesourcery.com>
5520 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5522 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5524 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5527 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5529 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5530 for nvptx offloading.
5532 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
5534 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5536 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
5539 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
5541 2021-05-19 Julian Brown <julian@codesourcery.com>
5543 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
5545 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5547 * testsuite/lib/libgomp.exp
5548 (check_effective_target_offload_target_nvptx): Don't shadow global
5549 'offload_targets' variable.
5551 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5553 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
5554 '-latomic' to nvptx offloading compilation.
5555 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5557 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5559 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
5560 offloading compilation.
5562 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
5564 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
5565 if new tasks generated.
5566 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
5568 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
5570 * testsuite/libgomp.fortran/parallel-master.f90: New test.
5572 2021-05-13 Martin Liska <mliska@suse.cz>
5575 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
5576 * testsuite/libgomp.c/pr46032-2.c: Likewise.
5577 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
5580 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
5582 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
5583 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
5585 2021-05-11 Jakub Jelinek <jakub@redhat.com>
5587 PR middle-end/100471
5588 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
5589 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
5591 * testsuite/libgomp.c/task-reduction-4.c: New test.
5593 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
5594 Tom de Vries <tdevries@suse.de>
5596 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
5597 complex/floating-point || + && reduction with 'omp target'.
5598 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5600 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
5602 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
5603 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
5604 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
5605 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
5607 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
5610 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
5611 declaration to scope of non-'depend'-guarded assignment to avoid races.
5613 2021-05-03 Tom de Vries <tdevries@suse.de>
5616 * testsuite/libgomp.c/target-44.c: New test.
5618 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
5620 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
5622 2021-04-29 Tom de Vries <tdevries@suse.de>
5624 * testsuite/libgomp.c/pr81778.c: New test.
5626 2021-04-29 Tom de Vries <tdevries@suse.de>
5629 * testsuite/libgomp.c/target-43.c: New file.
5631 2021-04-28 Jakub Jelinek <jakub@redhat.com>
5632 Tobias Burnus <tobias@codesourcery.com>
5634 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
5635 * target.c (gomp_load_plugin_for_device): If set and if a plugin
5636 can't be dlopened, silently assume it has no devices.
5637 * Makefile.in: Regenerate.
5638 * config.h.in: Regenerate.
5639 * configure: Regenerate.
5641 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
5643 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5644 Use [Ww]arning in dg-bogus as FE diagnostic and default
5645 diagnostic differ and the result depends on ENABLE_OFFLOAD.
5646 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5647 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5648 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5650 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
5652 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5653 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
5654 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5655 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5656 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5658 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
5659 Nathan Sidwell <nathan@codesourcery.com>
5660 Tom de Vries <vries@codesourcery.com>
5661 Julian Brown <julian@codesourcery.com>
5662 Kwok Cheung Yeung <kcy@codesourcery.com>
5664 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
5665 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
5666 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5667 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5668 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5669 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5670 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
5672 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5673 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5674 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5675 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5677 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
5678 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5680 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5681 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5682 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5683 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5684 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5685 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5687 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5688 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5689 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5690 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5691 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5692 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5693 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5694 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5695 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5696 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5697 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5699 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
5701 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
5703 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5704 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5706 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5707 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
5708 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5709 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5710 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5711 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5712 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5714 2021-04-22 Richard Biener <rguenther@suse.de>
5716 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
5719 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
5721 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
5722 omp_depend_kind instead of defining it as 16.
5724 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
5726 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5727 New, based on check_effective_target_offload_target_nvptx.
5728 (check_effective_target_offload_target_nvptx): Call it.
5729 (check_effective_target_offload_target_amdgcn): New.
5730 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
5731 Require target offload_target_nvptx || offload_target_amdgcn.
5732 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
5733 * testsuite/libgomp.c/pr86416-1.c: Likewise.
5734 * testsuite/libgomp.c/pr86416-2.c: Likewise.
5736 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
5738 * testsuite/libgomp.fortran/depobj-1.f90: New test.
5740 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
5742 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5743 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
5744 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5746 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5748 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5750 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
5753 * testsuite/lib/libgomp.exp
5754 (check_effective_target_offload_device_nvptx): New.
5755 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
5756 resolved, make sure that we exit quickly, with error status,
5758 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
5759 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5761 2021-04-14 Jakub Jelinek <jakub@redhat.com>
5764 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
5765 cp = omp_alloc with cp, p arguments instead of cq, q and call
5766 c_f_pointer after last cq = omp_alloc with cq, q.
5768 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
5771 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
5772 for loop with GT/GE condition.
5773 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
5775 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
5780 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
5782 2021-04-09 Jakub Jelinek <jakub@redhat.com>
5785 * team.c (gomp_thread_start): Call pthread_setspecific for
5786 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
5787 has been initialized to avoid false positive warning.
5789 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
5792 * testsuite/lib/on_device_arch.c: Move to ...
5793 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
5794 * testsuite/libgomp.fortran/on_device_arch.c: New file;
5795 #include on_device_arch.h.
5796 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
5797 on_device_arch.h instead of using dg-additional-source.
5798 * testsuite/libgomp.c/pr99555-1.c: Likewise.
5799 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
5800 on_device_arch.c without relative paths.
5802 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5804 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
5805 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
5806 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
5807 * config.h.in: Regenerate.
5808 * configure: Likewise.
5810 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5813 * testsuite/lib/on_device_arch.c: New file.
5814 * testsuite/libgomp.c/pr99555-1.c: Likewise.
5815 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
5816 skip for nvptx offloading, with error status.
5817 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5819 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5821 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
5822 OpenACC 'serial' construct diagnostic for nvptx offloading.
5824 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
5827 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
5829 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
5832 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
5834 2021-03-04 Jakub Jelinek <jakub@redhat.com>
5836 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
5837 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
5838 checking of -m32 or -mx32 options on the command line.
5839 * config.h.in: Regenerated.
5840 * configure: Regenerated.
5842 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
5844 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
5845 support from the target.
5847 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
5848 Jakub Jelinek <jakub@redhat.com>
5851 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
5852 (struct gomp_task): Replace detach and completion_sem fields with
5853 union containing completion_sem and detach_team. Add deferred_p
5855 (struct gomp_team): Remove task_detach_queue.
5856 * task.c: Include assert.h.
5857 (gomp_init_task): Initialize deferred_p and completion_sem fields.
5858 Rearrange initialization order of fields.
5859 (task_fulfilled_p): Delete.
5860 (GOMP_task): Use address of task as the event handle. Remove
5861 initialization of detach field. Initialize deferred_p field.
5862 Use automatic local for completion_sem. Initialize detach_team field
5864 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
5865 Set kind of suspended detach task to GOMP_TASK_DETACHED and
5866 decrement task_running_count. Move finish_cancelled block out of
5867 else branch. Relocate call to gomp_team_barrier_done.
5868 (GOMP_taskwait): Handle tasks with completion events that have not
5870 (GOMP_taskgroup_end): Likewise.
5871 (omp_fulfill_event): Use address of task as event handle. Post to
5872 completion_sem for undeferred tasks. Clear detach_team if task
5873 has not finished. For finished tasks, handle post-execution tasks,
5874 call gomp_team_barrier_wake if necessary, and free task.
5875 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
5876 (free_team): Remove free of task_detach_queue.
5877 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
5878 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
5879 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
5880 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
5881 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
5882 Change data-sharing of detach events on enclosing parallel to private.
5883 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
5885 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
5886 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
5887 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
5888 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
5889 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
5890 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
5891 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
5892 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
5893 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
5894 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
5895 Change data-sharing of detach events on enclosing parallel to private.
5896 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
5898 * testsuite/libgomp.fortran/task-detach-7.f90: New.
5899 * testsuite/libgomp.fortran/task-detach-8.f90: New.
5900 * testsuite/libgomp.fortran/task-detach-9.f90: New.
5901 * testsuite/libgomp.fortran/task-detach-10.f90: New.
5902 * testsuite/libgomp.fortran/task-detach-11.f90: New.
5904 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
5907 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
5909 2021-02-17 Julian Brown <julian@codesourcery.com>
5911 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
5914 2021-02-17 Julian Brown <julian@codesourcery.com>
5916 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
5917 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
5919 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
5921 * config/linux/x86/futex.h (__futex_wait):
5922 Revert output type back to long.
5923 (__futex_wake): Ditto.
5924 (futex_wait): Update for revert.
5925 (futex_wake): Ditto.
5927 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
5929 * config/linux/x86/futex.h (__futex_wait): New static inline
5930 wrapper function. Correct output type to int and
5931 timeout type to void *.
5932 (__futex_wake): New static inline wrapper function.
5933 Correct output type to int.
5934 (futex_wait): Use __futex_wait.
5935 (futex_wake): Use __futex_wake.
5937 2021-02-10 Julian Brown <julian@codesourcery.com>
5940 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
5943 2021-02-04 Julian Brown <julian@codesourcery.com>
5945 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
5947 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
5949 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
5950 EF_AMDGPU_MACH_AMDGCN_GFX908.
5951 (gcn_gfx908_s): New constant string.
5952 (isa_hsa_name): Add gfx908.
5953 (isa_code): Add gfx908.
5955 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
5957 * libgomp.texi (omp_fulfill_event): New entry.
5959 2021-01-20 Jakub Jelinek <jakub@redhat.com>
5961 * task.c (GOMP_task): Rename priority argument to priority_arg,
5962 add priority automatic variable and modify that variable. Instead of
5963 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
5964 check flags for that bit.
5966 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
5969 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
5971 2021-01-18 Andreas Schwab <schwab@suse.de>
5973 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
5975 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
5977 * config/rtems/sem.h (gomp_sem_getcount): New function.
5979 2021-01-18 Jakub Jelinek <jakub@redhat.com>
5981 * config/linux/sem.h (gomp_sem_getcount): New function.
5982 * config/posix/sem.h (gomp_sem_getcount): New function.
5983 * config/posix/sem.c (gomp_sem_getcount): New function.
5984 * config/accel/sem.h (gomp_sem_getcount): New function.
5985 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
5986 (omp_fulfill_event): Likewise.
5988 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
5990 * fortran.c (omp_fulfill_event_): New.
5991 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
5992 (struct gomp_team): Add task_detach_queue and task_detach_count
5994 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
5995 * libgomp_g.h (GOMP_task): Add extra argument.
5996 * omp.h.in (enum omp_event_handle_t): New.
5997 (omp_fulfill_event): New.
5998 * omp_lib.f90.in (omp_event_handle_kind): New.
5999 (omp_fulfill_event): New.
6000 * omp_lib.h.in (omp_event_handle_kind): New.
6001 (omp_fulfill_event): Declare.
6002 * priority_queue.c (priority_tree_find): New.
6003 (priority_list_find): New.
6004 (priority_queue_find): New.
6005 * priority_queue.h (priority_queue_predicate): New.
6006 (priority_queue_find): New.
6007 * task.c (gomp_init_task): Initialize detach field.
6008 (task_fulfilled_p): New.
6009 (GOMP_task): Add detach argument. Ignore detach argument if
6010 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6011 field. Copy address of completion_sem into detach argument and
6012 into the start of the data record. Wait for detach event if task
6014 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6015 Remove completed tasks and requeue dependent tasks.
6016 (omp_fulfill_event): New.
6017 * team.c (gomp_new_team): Initialize task_detach_queue and
6018 task_detach_count fields.
6019 (free_team): Free task_detach_queue field.
6020 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6021 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6022 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6023 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6024 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6025 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6026 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6027 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6028 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6029 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6030 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6031 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6033 2021-01-15 Jakub Jelinek <jakub@redhat.com>
6036 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6037 be added through preprocessor check on
6038 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6040 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6043 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6045 * configure: Regenerate.
6046 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6049 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6051 * configure: Re-generate.
6053 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6055 * configure: Re-generate.
6057 2021-01-05 Julian Brown <julian@codesourcery.com>
6059 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6060 (struct ptx_device): Add omp_stacks struct.
6061 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6062 (nvptx_close_device): Free cached stacks block and mutex.
6063 (nvptx_stacks_free): New function.
6064 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6065 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6066 (nvptx_stacks_alloc): Rename to...
6067 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6068 size or smaller is required.
6069 (nvptx_stacks_free): Remove.
6070 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6071 during kernel execution.
6073 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6075 * libgomp.texi: Bump @copying's copyright year.
6077 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6079 * libgomp.texi (Top): Avoid bad "up" link.
6081 2020-12-18 Jakub Jelinek <jakub@redhat.com>
6083 * testsuite/libgomp.c/task-6.c: New test.
6085 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
6087 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6088 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6090 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
6092 * testsuite/libgomp.fortran/scan-1.f90: New test.
6094 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6097 * configure: Regenerate.
6099 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
6101 * configure: Regenerate.
6103 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6105 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6106 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6108 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
6110 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6113 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
6115 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6116 (reserved): Delete unused define.
6118 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6120 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6121 Tcl 8.5-specific behavior.
6122 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6124 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6126 * env.c (gomp_global_icv): Remove nest_var field. Add
6127 max_active_levels_var field.
6128 (gomp_max_active_levels_var): Remove.
6129 (parse_boolean): Return true on success.
6130 (handle_omp_display_env): Express OMP_NESTED in terms of
6131 max_active_levels_var. Change format specifier for
6132 max_active_levels_var.
6133 (initialize_env): Set max_active_levels_var from
6134 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6136 * icv.c (omp_set_nested): Express in terms of
6137 max_active_levels_var.
6138 (omp_get_nested): Likewise.
6139 (omp_set_max_active_levels): Use max_active_levels_var field instead
6140 of gomp_max_active_levels_var.
6141 (omp_get_max_active_levels): Likewise.
6142 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6143 max_active_levels_var field.
6144 (gomp_supported_active_levels): Set to UCHAR_MAX.
6145 (gomp_max_active_levels_var): Delete.
6146 * libgomp.texi (omp_get_nested): Update documentation.
6147 (omp_set_nested): Likewise.
6148 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6149 (OMP_NESTED): Likewise.
6150 (OMP_NUM_THREADS): Likewise.
6151 (OMP_PROC_BIND): Likewise.
6152 * parallel.c (gomp_resolve_num_threads): Replace reference
6153 to nest_var with max_active_levels_var. Use max_active_levels_var
6154 field instead of gomp_max_active_levels_var.
6156 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
6158 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6159 nvptx_usleep; use also for device={arch(gcn)}.
6161 2020-11-14 Jakub Jelinek <jakub@redhat.com>
6163 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6164 (foo): Add tests for non-VLA private and firstprivate clauses on
6166 (bar): Likewise. Remove taking of address from private/firstprivate
6168 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6169 (foo): Add p, q, px and s arguments. Add tests for array reductions
6170 and for non-VLA private and firstprivate clauses on omp task.
6172 (main): Adjust foo caller. Don't call bar.
6174 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6175 Thomas Schwinge <thomas@codesourcery.com>
6177 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6179 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6181 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6183 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6184 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6186 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6187 Thomas Schwinge <thomas@codesourcery.com>
6190 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6192 2020-11-13 Jakub Jelinek <jakub@redhat.com>
6194 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6195 for array reductions.
6196 (main): Adjust foo callers.
6198 2020-11-12 Jakub Jelinek <jakub@redhat.com>
6200 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6201 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6202 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6203 * allocator.c (omp_aligned_alloc): New for now static function,
6204 add alignment argument and handle it.
6205 (omp_alloc): Reimplement using omp_aligned_alloc.
6206 (GOMP_alloc, GOMP_free): New functions.
6207 (omp_free): Add ialias.
6208 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6209 * testsuite/libgomp.c++/allocate-1.C: New test.
6211 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6214 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6216 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6218 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6220 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6221 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6222 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6223 (goacc_enter_data_internal): Likewise.
6224 * target.c (gomp_map_vars_internal):
6225 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6226 of gomp_attach_pointer for OpenMP cases.
6227 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6228 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6229 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6231 2020-11-05 Ulrich Drepper <drepper@redhat.com>
6232 Kwok Cheung Yeung <kcy@codesourcery.com>
6234 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6235 * Makefile.in: Regenerate.
6236 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6237 pragmas to ignore -Wdeprecated-declarations warnings.
6239 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6240 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6241 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6242 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6244 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6246 * testsuite/libgomp.c/affinity-1.c: Likewise.
6247 * testsuite/libgomp.c/affinity-2.c: Likewise.
6248 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6249 * testsuite/libgomp.c/lib-1.c: Likewise.
6250 * testsuite/libgomp.c/nested-1.c: Likewise.
6251 * testsuite/libgomp.c/nested-2.c: Likewise.
6252 * testsuite/libgomp.c/nested-3.c: Likewise.
6253 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6254 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6255 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6256 * testsuite/libgomp.c/pr35549.c: Likewise.
6257 * testsuite/libgomp.c/pr42942.c: Likewise.
6258 * testsuite/libgomp.c/pr61200.c: Likewise.
6259 * testsuite/libgomp.c/sort-1.c: Likewise.
6260 * testsuite/libgomp.c/target-5.c: Likewise.
6261 * testsuite/libgomp.c/target-6.c: Likewise.
6262 * testsuite/libgomp.c/teams-1.c: Likewise.
6263 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6264 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6265 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6266 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6267 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6268 * testsuite/libgomp.fortran/lib2.f: Likewise.
6269 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6270 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6272 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6275 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6276 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6277 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6279 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6283 * testsuite/lib/libgomp.exp (libgomp_init): Set
6284 'gcc_warning_prefix', 'gcc_error_prefix'.
6286 2020-10-30 Jakub Jelinek <jakub@redhat.com>
6288 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6289 even in field_tgt_clear initializer.
6291 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6293 * testsuite/libgomp.c/target-42.c: New test.
6295 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6296 Tom de Vries <tdevries@suse.de>
6299 * testsuite/libgomp.c/usleep.h: New file.
6300 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6301 (main): Use tgt_usleep instead of usleep.
6302 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6303 (main): Use tgt_usleep instead of usleep.
6305 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6308 * testsuite/libgomp.c/declare-variant-1.c: New test.
6310 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6312 * testsuite/libgomp.c/target-41.c: New test.
6314 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6316 * icv.c (omp_get_initial_device): Remove including corresponding
6318 * icv-device.c (omp_get_initial_device): New function. Return
6319 gomp_get_num_devices (). Add ialias.
6320 * target.c (resolve_device): Don't fail with
6321 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6322 gomp_get_num_devices ().
6323 (omp_target_alloc, omp_target_free, omp_target_is_present,
6324 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6325 omp_target_disassociate_ptr, omp_pause_resource): Use
6326 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6327 first use in the functions, in uses dominated by the
6328 gomp_get_num_devices call use num_devices_openmp instead.
6329 * libgomp.texi (omp_get_initial_device): Document.
6330 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6332 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6333 * testsuite/libgomp.c/target-40.c: New test.
6335 2020-10-21 Jakub Jelinek <jakub@redhat.com>
6337 * env.c (parse_target_offload): Change new_offload var type to int,
6338 preinitialize to -1, remove found var and test new_offload != -1
6341 2020-10-20 Jakub Jelinek <jakub@redhat.com>
6343 * target.c (gomp_target_init): Inside of the function, use automatic
6344 variables corresponding to num_devices, num_devices_openmp and devices
6345 global variables and update the globals only at the end of the
6348 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6350 * env.c (gomp_target_offload_var): New.
6351 (parse_target_offload): New.
6352 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6353 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6354 * libgomp.h (gomp_target_offload_t): New.
6355 (gomp_target_offload_var): New.
6356 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6357 * target.c (resolve_device): Generate error if device not found and
6358 offloading is mandatory.
6359 (gomp_target_fallback): Generate error if offloading is mandatory.
6360 (GOMP_target): Add argument in call to gomp_target_fallback.
6361 (GOMP_target_ext): Likewise.
6362 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6363 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6364 (GOMP_target_data_ext): Likewise.
6365 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6366 (gomp_target_init): Return early if offloading is disabled.
6368 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6370 * libgomp.texi (omp_get_max_active_levels): Modify description.
6371 (omp_get_supported_active_levels): Make descriptions consistent.
6373 2020-10-14 Jakub Jelinek <jakub@redhat.com>
6375 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6377 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6379 * env.c (gomp_max_active_levels_var): Initialize to
6380 gomp_supported_active_levels.
6381 (initialize_env): Limit gomp_max_active_levels_var to be at most
6382 equal to gomp_supported_active_levels.
6383 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6384 (omp_get_supported_active_levels_): New.
6385 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6386 to at most equal to gomp_supported_active_levels.
6387 (omp_get_supported_active_levels): New.
6388 * libgomp.h (gomp_supported_active_levels): New.
6389 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6390 omp_get_supported_active_levels_.
6391 * libgomp.texi (omp_get_supported_active_levels): New.
6392 (omp_set_max_active_levels): Update. Add reference to
6393 omp_get_supported_active_levels.
6394 * omp.h.in (omp_get_supported_active_levels): New.
6395 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6396 * omp_lib.h.in (omp_get_supported_active_levels): New.
6397 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6398 against omp_get_supported_active_levels.
6399 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6401 2020-10-11 Clement Chigot <clement.chigot@atos.net>
6403 * config/t-aix: Delete and recreate libgomp before creating
6406 2020-10-08 Tom de Vries <tdevries@suse.de>
6409 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6412 2020-10-06 Tom de Vries <tdevries@suse.de>
6414 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6416 2020-10-06 Tom de Vries <tdevries@suse.de>
6419 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6421 2020-10-05 Tom de Vries <tdevries@suse.de>
6424 * testsuite/libgomp.fortran/pr95654.f90: New test.
6426 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
6428 * Makefile.in: Regenerate with automake 1.15.1.
6429 * aclocal.m4: Likewise.
6430 * configure: Likewise.
6431 * testsuite/Makefile.in: Likewise.
6433 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
6435 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6438 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
6440 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6442 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
6444 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6445 total number of threads is one.
6446 (gomp_team_barrier_wake): Likewise.
6447 (gomp_team_barrier_wait_end): Likewise.
6448 (gomp_team_barrier_wait_cancel_end): Likewise.
6449 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6450 (gomp_team_barrier_wake): Likewise.
6451 (gomp_team_barrier_wait_end): Likewise.
6452 (gomp_team_barrier_wait_cancel_end): Likewise.
6453 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6455 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
6458 * testsuite/libgomp.c++/pr96390.C: New test.
6459 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6461 2020-09-27 Clement Chigot <clement.chigot@atos.net>
6463 * config/t-aix: Use $(AR) without -X32_64.
6465 2020-09-25 Jakub Jelinek <jakub@redhat.com>
6467 * testsuite/libgomp.c/loop-25.c: New test.
6469 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
6472 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6474 2020-09-22 Tom de Vries <tdevries@suse.de>
6476 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6479 2020-09-16 Nathan Sidwell <nathan@acm.org>
6481 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6483 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
6486 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6488 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
6491 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6492 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6493 (gomp_map_vars_existing): Update call to it.
6494 (gomp_map_fields_existing): Likewise
6495 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6496 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6498 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6500 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6501 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6503 2020-09-14 Tom de Vries <tdevries@suse.de>
6505 * config/nvptx/atomic.c: New file. Add
6506 __sync_val_compare_and_swap_16.
6507 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6508 target offload_target_nvptx.
6510 2020-09-08 Julian Brown <julian@codesourcery.com>
6512 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6513 iteration-ordering assumptions.
6515 2020-09-08 Julian Brown <julian@codesourcery.com>
6517 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6518 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6520 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
6522 * plugin/plugin-nvptx.c (nvptx_free):
6523 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6524 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6527 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
6529 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6531 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6533 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6535 2020-08-13 Jakub Jelinek <jakub@redhat.com>
6537 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6538 * testsuite/libgomp.c/loop-23.c (main): Likewise.
6539 * testsuite/libgomp.c/loop-24.c: New test.
6541 2020-08-08 Jakub Jelinek <jakub@redhat.com>
6542 Tobias Burnus <tobias@codesourcery.com>
6545 * testsuite/libgomp.fortran/pr93553.f90: New test.
6547 2020-08-05 Jakub Jelinek <jakub@redhat.com>
6549 * testsuite/libgomp.c/loop-22.c: New test.
6550 * testsuite/libgomp.c/loop-23.c: New test.
6552 2020-08-05 Jakub Jelinek <jakub@redhat.com>
6555 * testsuite/libgomp.c/teams-3.c: New test.
6556 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
6558 (N(test)): Use it before all N(f*) calls.
6559 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
6560 (main): Don't call all test_* functions from within
6561 #pragma omp teams reduction(|:err), call them directly.
6563 2020-08-04 Tom de Vries <tdevries@suse.de>
6566 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
6567 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
6569 2020-08-03 Julian Brown <julian@codesourcery.com>
6570 Thomas Schwinge <thomas@codesourcery.com>
6572 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
6573 shared-memory devices. Extend with further checking.
6575 2020-08-03 Martin Jambor <mjambor@suse.cz>
6577 * plugin/Makefrag.am: Remove configuration of HSA plugin.
6578 * aclocal.m4: Regenerated.
6579 * Makefile.in: Regenerated.
6580 * config.h.in: Regenerated.
6581 * configure: Regenerated.
6582 * plugin/configfrag.ac: Likewise.
6583 * plugin/hsa_ext_finalize.h: Removed.
6584 * plugin/plugin-hsa.c: Likewise.
6585 * testsuite/Makefile.in: Regenerated.
6586 * testsuite/lib/libgomp.exp
6587 (offload_target_to_openacc_device_type): Remove hsa case.
6588 (check_effective_target_hsa_offloading_selected_nocache): Removed
6589 (check_effective_target_hsa_offloading_selected): Likewise.
6590 (libgomp_init): Do not add -Wno-hsa to additional_flags.
6591 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
6592 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6593 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
6594 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6595 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6596 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6597 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
6598 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6599 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6600 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6601 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6602 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6603 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6604 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6605 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6606 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6607 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
6608 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6609 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
6610 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6611 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6612 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
6613 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6614 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6616 2020-07-27 Julian Brown <julian@codesourcery.com>
6617 Thomas Schwinge <thomas@codesourcery.com>
6619 * libgomp.h (struct target_var_desc): Rename do_detach field to
6621 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
6622 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
6623 (goacc_enter_data_internal): Don't affect reference counts
6624 for attach mappings.
6625 (goacc_exit_data_internal): Don't affect reference counts for detach
6627 * target.c (gomp_map_vars_existing): Don't affect reference counts for
6629 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
6630 mark attach mappings.
6631 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
6632 reference count for attach mappings.
6633 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
6634 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6635 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6636 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
6638 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
6639 gracefully in no-finalize mode.
6640 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
6642 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
6644 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
6646 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6647 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6649 2020-07-23 Julian Brown <julian@codesourcery.com>
6650 Thomas Schwinge <thomas@codesourcery.com>
6652 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
6653 finalization for detach operation.
6654 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
6657 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
6659 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
6660 * libgomp_f.h.in (omp_check_defines): Check whether
6661 sizeof of determined Fortran kind and C typedef match.
6662 * omp_lib.f90.in: Add omp_depened_kind.
6663 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
6664 * configure: Regenerate.
6665 * Makefile.in: Regenerate.
6666 * testsuite/Makefile.in: Regenerate.
6668 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
6670 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
6671 gcc/testsuite/c-c++-common/gomp/.
6672 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
6673 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
6674 from gcc/testsuite/gfortran.dg/gomp/.
6675 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
6677 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
6679 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
6680 * omp_lib.h.in: Likewise.
6682 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
6685 * testsuite/libgomp.c/pr95620.c: New test.
6687 2020-07-16 Julian Brown <julian@codesourcery.com>
6688 Thomas Schwinge <thomas@codesourcery.com>
6690 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
6691 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
6693 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
6695 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
6696 avoid conversion on 32bit systems from 32bit to 64bit due
6697 to -fdefault-integer-8.
6699 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
6701 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
6702 variables; add character(kind=4) tests; update TODO comment.
6704 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
6706 * allocator.c: Add ialias for omp_init_allocator and
6707 omp_destroy_allocator.
6708 * configure.ac: Set INTPTR_T_KIND.
6709 * configure: Regenerate.
6710 * Makefile.in: Regenerate.
6711 * testsuite/Makefile.in: Regenerate.
6712 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
6713 omp_set_default_allocator_, omp_get_default_allocator_): New
6714 functions and ialias_redirect.
6715 * icv.c: Add ialias for omp_set_default_allocator and
6716 omp_get_default_allocator.
6717 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
6718 omp_destroy_allocator_, omp_set_default_allocator_ and
6719 omp_get_default_allocator_.
6720 * omp_lib.f90.in: Add allocator traits parameters, declare
6721 allocator routines and add related kind parameters.
6722 * omp_lib.h.in: Likewise.
6723 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
6724 * testsuite/libgomp.fortran/alloc-1.F90: New test.
6725 * testsuite/libgomp.fortran/alloc-2.F90: New test.
6726 * testsuite/libgomp.fortran/alloc-3.F: New test.
6727 * testsuite/libgomp.fortran/alloc-4.f90: New test.
6728 * testsuite/libgomp.fortran/alloc-5.f90: New test.
6730 2020-07-14 Tom de Vries <tom@codesourcery.com>
6731 Cesar Philippidis <cesar@codesourcery.com>
6732 Thomas Schwinge <thomas@codesourcery.com>
6733 Kwok Cheung Yeung <kcy@codesourcery.com>
6735 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
6737 (acc_init_1): Set acc_init_thread to pthread_self (). Set
6738 acc_init_state to initializing at the start, and to initialized at the
6740 (self_initializing_p): New function.
6741 (acc_get_device_type): Return acc_device_none if called by thread that
6742 is currently executing acc_init_1.
6743 * libgomp.texi (acc_get_device_type): Update documentation.
6744 (Implementation Status and Implementation-Defined Behavior): Likewise.
6745 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
6747 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
6749 * config/t-aix: Set BITS from compiler cpp macro.
6751 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
6753 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
6755 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
6758 * testsuite/libgomp.fortran/target-map-1.f90: New test.
6760 2020-07-14 Jakub Jelinek <jakub@redhat.com>
6762 * testsuite/libgomp.c/loop-21.c: New test.
6764 2020-07-13 Julian Brown <julian@codesourcery.com>
6765 Thomas Schwinge <thomas@codesourcery.com>
6767 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
6769 2020-07-10 Julian Brown <julian@codesourcery.com>
6770 Thomas Schwinge <thomas@codesourcery.com>
6772 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
6774 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
6775 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
6777 (acc_unmap_data): Update comment.
6778 (goacc_map_var_existing, goacc_enter_datum): Adjust for
6779 dynamic_refcount semantics.
6780 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
6781 Adjust for dynamic_refcount semantics.
6782 (goacc_enter_data_internal): Implement "present" case of dynamic
6783 memory-map handling here. Update "non-present" case for
6784 dynamic_refcount semantics.
6785 (goacc_exit_data_internal): Use goacc_exit_datum_1.
6786 * target.c (gomp_map_vars_internal): Remove
6787 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
6789 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
6790 (gomp_load_image_to_device): Substitute dynamic_refcount for
6792 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
6793 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
6794 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
6795 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
6796 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
6798 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
6800 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
6802 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6803 Remove stale comment.
6804 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
6805 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6806 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6807 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6808 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6809 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
6811 2020-07-10 Julian Brown <julian@codesourcery.com>
6812 Thomas Schwinge <thomas@codesourcery.com>
6814 * oacc-mem.c (goacc_map_var_existing): New function.
6815 (goacc_enter_datum): Use above function.
6816 (goacc_exit_datum_1): New function.
6817 (goacc_exit_datum): Use above function.
6819 2020-07-09 Julian Brown <julian@codesourcery.com>
6820 Thomas Schwinge <thomas@codesourcery.com>
6823 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
6824 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
6826 2020-07-09 Julian Brown <julian@codesourcery.com>
6828 * oacc-mem.c (find_group_last): Group data-movement clauses
6829 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
6830 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
6832 2020-07-09 Jakub Jelinek <jakub@redhat.com>
6834 * testsuite/libgomp.c/loop-19.c: New test.
6835 * testsuite/libgomp.c/loop-20.c: New test.
6837 2020-07-09 Jakub Jelinek <jakub@redhat.com>
6839 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
6840 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
6841 it. Remove __omp_alloctrait_value_max__.
6842 * allocator.c (omp_init_allocator): Handle omp_atv_default for
6843 omp_atk_alignment and omp_atk_pool_size.
6845 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
6847 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
6848 behavior for 'GOMP_MAP_FORCE_FROM'.
6849 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
6851 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
6853 * oacc-mem.c (goacc_exit_data_internal): Remove
6854 'GOMP_MAP_ALWAYS_FROM' handling.
6856 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
6858 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
6859 'scan-assembler' with 'scan-offload-rtl'.
6860 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6861 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6862 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
6863 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
6865 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
6867 * target.c (gomp_map_vars_existing): Assert 'kind !=
6869 (gomp_map_vars_internal): Clean up.
6871 2020-06-27 Jakub Jelinek <jakub@redhat.com>
6873 * testsuite/libgomp.c/loop-17.c: New test.
6874 * testsuite/libgomp.c/loop-18.c: New test.
6876 2020-06-26 Marek Polacek <polacek@redhat.com>
6878 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
6880 2020-06-23 Alexandre Oliva <oliva@adacore.com>
6882 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
6883 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
6885 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
6887 * Makefile.am: Use -include.
6888 * Makefile.in: Regenerate.
6890 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
6892 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
6893 * Makefile.in: Regenerate
6894 * configure.ac (tmake_file): Substitute.
6895 * configure: Regenerate.
6896 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
6897 * config/t-aix: New file.
6899 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
6902 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
6905 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
6907 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
6908 variant for HSA_RUNTIME_LIB name.
6909 (find_executable_symbol_1): Delete.
6910 (find_executable_symbol): Delete.
6911 (init_kernel_properties): Add ".kd" suffix to symbol names.
6912 (find_load_offset): Delete.
6913 (create_and_finalize_hsa_program): Remove relocation handling.
6915 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
6917 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
6919 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
6923 * testsuite/libgomp.fortran/target-var.f90: New test.
6925 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
6926 Julian Brown <julian@codesourcery.com>
6928 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
6931 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
6932 Julian Brown <julian@codesourcery.com>
6934 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6937 2020-06-05 Julian Brown <julian@codesourcery.com>
6939 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
6940 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
6942 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6944 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6945 Evaluate 'copyfrom' individually for each entry.
6946 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
6948 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6950 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6951 Evaluate 'finalize' individually for each entry.
6952 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
6953 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
6956 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6958 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
6960 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
6962 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6963 Julian Brown <julian@codesourcery.com>
6965 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
6967 (acc_unmap_data, goacc_exit_data_internal): Restore
6968 'is_tgt_unmapped' checking.
6969 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
6971 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
6972 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6973 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6974 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6975 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6976 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6978 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6979 Julian Brown <julian@codesourcery.com>
6981 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
6983 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6986 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
6988 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6991 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
6994 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6995 Julian Brown <julian@codesourcery.com>
6997 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
6999 (acc_map_data): Clean up accordingly.
7001 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7003 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7004 of over-eager 'finalize' clause.
7005 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7007 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7008 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7009 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7010 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7011 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7012 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7013 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7014 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7016 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7018 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7020 2020-06-04 Julian Brown <julian@codesourcery.com>
7022 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7024 (goacc_detach_internal): Likewise.
7026 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7028 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7030 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7031 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7032 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7033 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7034 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7036 2020-06-02 Jakub Jelinek <jakub@redhat.com>
7038 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7041 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7043 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7045 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7047 * allocator.c (omp_alloc): For size == 0, return NULL early.
7049 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
7052 * configure: Regenerated.
7054 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7057 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7059 2020-05-19 Jakub Jelinek <jakub@redhat.com>
7061 * omp.h.in (omp_uintptr_t): New typedef.
7062 (__GOMP_UINTPTR_T_ENUM): Define.
7063 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7064 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7065 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7066 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7067 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7068 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7069 (gomp_def_allocator): Declare.
7070 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7071 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7072 omp_alloc and omp_free.
7073 * team.c (gomp_team_start): Copy over ts.def_allocator.
7074 * env.c (gomp_def_allocator): New variable.
7075 (parse_wait_policy): Adjust function comment.
7076 (parse_allocator): New function.
7077 (handle_omp_display_env): Print OMP_ALLOCATOR.
7078 (initialize_env): Call parse_allocator.
7079 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7080 * allocator.c: New file.
7081 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7083 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7084 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7085 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7086 * Makefile.in: Regenerated.
7088 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7091 * configure: Regenerated.
7093 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7096 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7098 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7100 * configure: Regenerated.
7102 2020-05-14 Jakub Jelinek <jakub@redhat.com>
7104 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7106 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
7109 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7110 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7111 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7112 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7113 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7114 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7115 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7117 2020-05-12 Jakub Jelinek <jakub@redhat.com>
7119 * testsuite/libgomp.c/target-39.c: New test.
7121 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7123 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7124 * openacc.f90 (acc_device_current): Likewise.
7125 * openacc.h (acc_device_current): Likewise.
7126 * openacc_lib.h (acc_device_current): Likewise.
7129 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7130 'dg-allow-blank-lines-in-output'.
7132 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7133 * testsuite/lib/libgomp.exp
7134 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7135 'radeon'. Adjust all users.
7136 (check_effective_target_openacc_amdgcn_accel_present): Rename
7138 (check_effective_target_openacc_radeon_accel_present): ... this.
7140 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7141 (check_effective_target_openacc_radeon_accel_selected): ... this.
7144 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7147 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
7151 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7153 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7154 hsa_agent_iterate_regions.
7156 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7159 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7162 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
7165 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7168 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
7171 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7173 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7176 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7178 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7180 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7182 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7184 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7186 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7188 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7190 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7192 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7194 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7196 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7198 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7200 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7202 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7204 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7206 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7208 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7210 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7212 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7214 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7216 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7218 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7220 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7222 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7224 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7226 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7228 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7230 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7232 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7234 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7236 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7238 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7241 2020-04-10 Julian Brown <julian@codesourcery.com>
7242 Thomas Schwinge <thomas@codesourcery.com>
7245 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7247 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7249 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7251 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7253 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7255 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7257 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7259 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7261 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7263 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7265 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7267 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7269 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7271 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7273 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7275 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7278 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7280 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7283 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
7286 * libgomp.oacc-c++/declare-pr94120.C: New.
7288 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
7290 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7292 * configure: Regenerate.
7293 * testsuite/libgomp-site-extra.exp.in: New file.
7294 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7296 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7298 * testsuite/Makefile.in: Regenerate.
7300 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7302 PR tree-optimization/89713
7304 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7306 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7308 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
7310 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7311 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7313 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
7316 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7318 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
7321 * target.c (gomp_load_image_to_device): Fix link
7324 2020-03-19 Jakub Jelinek <jakub@redhat.com>
7327 * testsuite/libgomp.c++/pr93931.C: New test.
7329 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
7331 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7332 dg-allow-blank-lines-in-output.
7334 2020-03-18 Julian Brown <julian@codesourcery.com>
7335 Tobias Burnus <tobias@codesourcery.com>
7337 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7338 it work concurrently.
7340 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
7342 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7343 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7344 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7346 2020-03-14 Jakub Jelinek <jakub@redhat.com>
7349 * testsuite/libgomp.c/pr93566.c: New test.
7351 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
7353 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7354 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7355 integer(acc_device_property) for the type of the return value of
7358 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
7360 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7361 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7362 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7363 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7364 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7365 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7366 corrections; add note about the previous interface and named constant.
7367 (OpenACC library and environment variables): Fix two typos.
7368 * openacc.f90: Use for all procedures the argument names from the spec
7369 as for …_h they are user visible.
7370 (openacc_kinds): Rename acc_device_property to
7371 acc_device_property_kinds and change value to int32 ; and update users.
7372 Re-add acc_device_property for for backward compatibility.
7373 (acc_get_property_string_h): Clean up as acc_device_property_kind
7375 (acc_get_property_h): Likewise and return c_size_t instead of
7376 acc_device_property.
7377 (openacc): Also export acc_device_property_kinds.
7378 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7379 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7380 handling; check against /= 0 instead of == 1 to match C.
7381 * openacc_lib.h: Use for all procedures the argument names from the spec
7382 as for …_h they are user visible. Place !GCC$ into the first column to
7383 be active also for fixed-form souce form.
7384 (acc_device_current, acc_device_property_kind, acc_device_property,
7385 acc_property_memory, acc_property_free_memory, acc_property_name,
7386 acc_property_vendor, acc_property_driver): New named constants.
7387 (acc_get_property, acc_get_property_string): New generic interface.
7389 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
7392 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7393 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7395 (gomp_target_task_fn): Assert "devicep->async_run_func".
7396 (clear_unsupported_flags): New function to remove unsupported flags
7397 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7398 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7399 * testsuite/libgomp.c/target-33.c:
7400 Remove xfail for offload_target_nvptx.
7401 * testsuite/libgomp.c/target-34.c: Likewise.
7403 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
7405 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7406 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7407 * testsuite/libgomp.c/target-34.c: Likewise.
7408 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7409 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7411 2020-02-09 Jakub Jelinek <jakub@redhat.com>
7413 * testsuite/libgomp.c/target-38.c: New test.
7415 2020-02-06 Jakub Jelinek <jakub@redhat.com>
7418 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7420 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
7422 * testsuite/lib/libgomp.exp
7423 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7424 and not as 'source' argument to libgomp_target_compile.
7426 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
7428 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7429 (gcn_gfx801_s): Remove.
7430 (isa_hsa_name): Remove gfx801.
7431 (isa_gcc_name): Remove gfx801/carizzo.
7432 (isa_code): Remove gfx801.
7434 2020-02-03 Julian Brown <julian@codesourcery.com>
7435 Tobias Burnus <tobias@codesourcery.com>
7437 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7438 and *_finalize variants; document acc_attach and acc_detach; update
7439 references from OpenACC 2.0 to 2.6.
7440 * openacc.f90 (openacc_version): Update to 201711.
7441 * openacc_lib.h (openacc_version): Update to 201711.
7442 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7443 openacc_version to 201711.
7444 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7446 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7448 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7449 and vgpr_count fields.
7450 (struct kernel_info): Add a field for a hsa_kernel_description.
7451 (run_kernel): Reduce the number of threads/workers if the requested
7452 number would require too many VGPRs.
7453 (init_basic_kernel_info): Initialize description field with
7454 the hsa_kernel_description entry for the kernel.
7456 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
7459 * plugin/configfrag.ac (enable_offload_targets): Skip
7460 HSA and GCN plugin besides -m32 also for -mx32.
7461 * configure: Regenerate.
7463 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
7465 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
7467 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
7469 * plugin-gcn.c (struct agent_info): Add fields "name" and
7471 (GOMP_OFFLOAD_init_device): ... and init from here.
7472 (struct hsa_context_info): Add field "driver_version_s" ...
7473 (init_hsa_contest): ... and init from here.
7474 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7476 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7477 Enable test execution for amdgcn and host offloading targets.
7478 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7479 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7480 (expect_device_properties): Split function into ...
7481 (expect_device_string_properties): ... this new function ...
7482 (expect_device_memory): ... and this new function.
7483 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7486 2020-01-28 Julian Brown <julian@codesourcery.com>
7488 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7489 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7490 component/non-component variable refs in a single directive.
7491 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7493 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
7495 * configure.ac: Handle `--with-toolexeclibdir='.
7496 * Makefile.in: Regenerate.
7497 * aclocal.m4: Regenerate.
7498 * configure: Regenerate.
7499 * testsuite/Makefile.in: Regenerate.
7501 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
7503 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7504 (expect_device_properties): Remove "expected_free_mem" argument,
7505 change "expected_total_mem" argument type to size_t;
7506 change types of acc_get_property results to size_t,
7507 adapt format strings.
7508 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7509 Use %zu instead of %zd to print size_t values.
7510 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7512 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7513 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7515 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7517 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
7519 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7522 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
7524 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7525 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7526 Adjust test dimensions for amdgcn.
7527 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7528 gang/worker/vector expectations dynamically.
7529 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7531 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7532 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7533 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7534 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7535 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7536 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7537 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7538 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
7539 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
7540 (acc_gang): Recognise acc_device_radeon.
7541 (acc_worker): Likewise.
7542 (acc_vector): Likewise.
7543 (main): Set expectations for amdgcn.
7544 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
7545 (main): Adjust gang/worker/vector expectations dynamically.
7546 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
7547 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
7548 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
7549 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
7552 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
7554 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
7556 (openacc): Likewise.
7557 * openacc.f90 (openacc_kinds): Likewise.
7558 (openacc): Likewise.
7559 * openacc.h (acc_device_t): Likewise.
7560 * openacc_lib.h: Likewise.
7561 * testsuite/lib/libgomp.exp
7562 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
7563 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
7564 (cb_compute_construct_end): Likewise.
7565 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
7566 (cb_enqueue_launch_start): Likewise.
7567 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
7568 (cb_enter_data_end): Likewise.
7569 (cb_exit_data_start): Likewise.
7570 (cb_exit_data_end): Likewise.
7571 (cb_compute_construct_end): Likewise.
7572 (cb_enqueue_launch_start): Likewise.
7573 (cb_enqueue_launch_end): Likewise.
7574 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
7577 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
7579 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
7580 to use this instead of 'enum gomp_device_property'.
7581 (GOMP_OFFLOAD_get_property): Rename to...
7582 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
7583 * libgomp.h (struct gomp_device_descr): Move
7584 'GOMP_OFFLOAD_openacc_get_property'...
7585 (struct acc_dispatch_t): ... here. Adjust all users.
7586 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
7588 * target.c (gomp_map_vars_internal)
7589 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
7592 2020-01-10 Jakub Jelinek <jakub@redhat.com>
7595 * libgomp.h (gomp_print_string): Change return type from void to int.
7596 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
7597 not all characters have been written.
7599 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
7601 * libgomp.texi: Fix typos, use https.
7603 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
7605 * testsuite/libgomp.fortran/optional-map.f90: Add test for
7606 unallocated/disassociated actual arguments to nonallocatable/nonpointer
7607 dummy arguments; those are/shall be regarded as absent arguments.
7608 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7609 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
7611 2020-01-01 Jakub Jelinek <jakub@redhat.com>
7613 Update copyright years.
7615 * libgomp.texi: Bump @copying's copyright year.
7617 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
7620 * oacc-init.c (goacc_runtime_deinitialize): New function.
7622 2019-12-28 Jakub Jelinek <jakub@redhat.com>
7625 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
7626 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
7628 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
7629 Frederik Harwath <frederik@codesourcery.com>
7630 Thomas Schwinge <tschwinge@codesourcery.com>
7632 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
7633 * libgomp-plugin.h (gomp_device_property_value): New union.
7634 (gomp_device_property_value): New prototype.
7635 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
7637 (acc_device_property_t): New enum.
7638 (acc_get_property, acc_get_property_string): New prototypes.
7639 * oacc-init.c (acc_get_device_type): Also assert that result
7640 is not `acc_device_current'.
7641 (get_property_any, acc_get_property, acc_get_property_string):
7643 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
7644 `acc_property_memory', `acc_property_free_memory',
7645 `acc_property_name', `acc_property_vendor' and
7646 `acc_property_driver' constants. Add `acc_device_property' data
7648 (openacc_internal): Add `acc_get_property' and
7649 `acc_get_property_string' interfaces. Add `acc_get_property_h',
7650 `acc_get_property_string_h', `acc_get_property_l' and
7651 `acc_get_property_string_l'.
7652 * oacc-host.c (host_get_property): New function.
7653 (host_dispatch): Wire it.
7654 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
7655 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
7656 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
7657 * libgomp.texi (OpenACC Runtime Library Routines): Add
7659 (acc_get_property): New node.
7660 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
7662 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
7663 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
7664 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
7666 (GOMP_OFFLOAD_get_property): New function.
7667 (struct ptx_device): Add new field "name".
7668 (cuda_driver_version_s): Add new static variable ...
7669 (nvptx_init): ... and init from here.
7671 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
7672 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
7673 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
7674 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
7675 with test helper functions.
7677 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
7679 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
7681 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
7684 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
7686 * target.c (gomp_map_vars_internal): Restore 'omp declare target
7689 2019-12-19 Julian Brown <julian@codesourcery.com>
7691 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
7692 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
7693 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
7695 2019-12-19 Julian Brown <julian@codesourcery.com>
7696 Cesar Philippidis <cesar@codesourcery.com>
7698 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
7699 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
7700 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
7701 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
7702 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
7703 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
7704 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
7705 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
7706 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
7707 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
7708 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
7709 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
7710 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
7712 2019-12-19 Julian Brown <julian@codesourcery.com>
7714 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
7715 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
7716 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
7717 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
7718 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
7719 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
7720 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
7721 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
7722 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
7723 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
7724 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
7725 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
7727 2019-12-19 Julian Brown <julian@codesourcery.com>
7729 * libgomp.h (struct target_var_desc): Add do_detach flag.
7730 * oacc-init.c (acc_shutdown_1): Free aux block if present.
7731 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
7732 struct components. Tidy up and add some new checks.
7733 (goacc_enter_data_internal): Update call to find_group_last.
7734 (goacc_exit_data_internal): Support detach operations and
7736 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
7737 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
7738 attach/detach in enter/exit data detection code.
7739 * target.c (gomp_map_vars_existing): Initialise do_detach field of
7741 (gomp_map_vars_internal): Support attach.
7742 (gomp_unmap_vars_internal): Support detach.
7744 2019-12-19 Julian Brown <julian@codesourcery.com>
7745 Thomas Schwinge <thomas@codesourcery.com>
7747 * libgomp.h (struct splay_tree_aux): Add attach_count field.
7748 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
7749 * libgomp.map (OACC_2.6): New section. Add acc_attach,
7750 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
7751 acc_detach_finalize_async.
7752 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
7753 acc_detach, acc_detach_async, acc_detach_finalize,
7754 acc_detach_finalize_async): New functions.
7755 * openacc.h (acc_attach, acc_attach_async, acc_detach,
7756 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
7758 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
7759 (gomp_remove_var_internal): Free attachment counts if present.
7760 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
7761 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
7763 2019-12-19 Julian Brown <julian@codesourcery.com>
7764 Cesar Philippidis <cesar@codesourcery.com>
7766 * libgomp.h (gomp_map_val): Add prototype.
7767 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
7768 open-coding device-address calculation.
7769 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
7772 2019-12-19 Julian Brown <julian@codesourcery.com>
7774 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
7775 field for virtual_refcount.
7776 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7777 (gomp_free_memmap): Remove prototype.
7778 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
7779 instead of calling gomp_free_memmap.
7780 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
7782 (acc_unmap_data): Open code instead of forcing target_mem_desc's
7783 to_free field to NULL then calling gomp_unmap_vars. Handle
7784 REFCOUNT_INFINITY on target blocks.
7785 (goacc_enter_data): Rename to...
7786 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
7787 handling for mapping groups. Use virtual_refcount instead of
7788 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
7789 map_map_vars_async call. Re-do lookup for target pointer return value.
7790 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
7791 renamed goacc_enter_datum function.
7792 (goacc_exit_data): Rename to...
7793 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
7794 (acc_delete, acc_delete_async, acc_delete_finalize,
7795 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
7796 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
7797 goacc_exit_datum function.
7798 (gomp_acc_remove_pointer, find_pointer): Remove functions.
7799 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
7801 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
7802 goacc_exit_data_internal helper functions.
7803 * target.c (gomp_map_vars_internal): Handle
7804 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
7806 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
7807 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
7808 virtual_refcount field instead of dynamic_refcount.
7809 (gomp_free_memmap): Remove function.
7810 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
7811 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
7812 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
7814 2019-12-19 Julian Brown <julian@codesourcery.com>
7815 Thomas Schwinge <thomas@codesourcery.com>
7817 * libgomp.h (struct splay_tree_aux): New.
7818 (struct splay_tree_key_s): Replace link_key field with aux pointer.
7819 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
7821 (gomp_remove_var_internal): Free aux block if present.
7822 (gomp_load_image_to_device): Zero-initialise aux field instead of
7824 (omp_target_associate_pointer): Zero-initialise aux field.
7826 2019-12-18 Jakub Jelinek <jakub@redhat.com>
7829 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
7831 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
7834 2019-12-19 Julian Brown <julian@codesourcery.com>
7835 Maciej W. Rozycki <macro@codesourcery.com>
7836 Tobias Burnus <tobias@codesourcery.com>
7837 Thomas Schwinge <thomas@codesourcery.com>
7839 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
7840 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
7841 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
7842 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
7843 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
7844 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
7845 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
7846 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
7847 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
7849 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
7851 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7853 (goacc_insert_pointer): ... from here, "present" case.
7854 (goacc_insert_pointer): Inline function into...
7855 (GOACC_enter_exit_data): ... here, and simplify.
7857 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7859 (goacc_insert_pointer): ... from here, "not present" case.
7861 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
7864 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
7865 'goacc_enter_data', 'goacc_exit_data'.
7867 * oacc-mem.c (delete_copyout): Refactor into...
7868 (goacc_exit_data): ... this. Adjust all users.
7870 * oacc-mem.c (present_create_copy): Refactor into...
7871 (goacc_enter_data): ... this. Adjust all users.
7873 * target.c (gomp_unmap_vars_internal): Add a safeguard to
7876 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
7877 like 'GOMP_MAP_FROM'.
7882 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
7884 (GOACC_enter_exit_data): Simplify accordingly.
7885 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
7887 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
7888 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
7890 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
7892 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
7893 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
7895 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
7897 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
7899 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
7900 'finalize' handling.
7903 * oacc-mem.c (acc_map_data, present_create_copy)
7904 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
7905 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
7906 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
7907 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
7908 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
7909 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
7910 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
7911 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7914 * target.c (gomp_unmap_tgt): Make it 'static'.
7915 * libgomp.h (gomp_unmap_tgt): Remove.
7917 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
7920 * testsuite/libgomp.c/pr86416-1.c: New.
7921 * testsuite/libgomp.c/pr86416-2.c: New.
7923 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
7925 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
7926 all symbols as public except for the 'use …, only' imported symbol,
7928 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7929 all symbols from module openacc_kinds as PUBLIC
7930 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
7932 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
7934 2019-12-13 Julian Brown <julian@codesourcery.com>
7938 * libgomp.h (gomp_remove_var_async): Add prototype.
7939 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
7941 * target.c (gomp_unref_tgt): Change return type to bool, indicating
7942 whether target_mem_desc was unmapped.
7943 (gomp_unref_tgt_void): New.
7944 (gomp_remove_var): Reimplement in terms of...
7945 (gomp_remove_var_internal): ...this new helper function.
7946 (gomp_remove_var_async): New, implemented using above helper function.
7947 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
7950 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
7952 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
7953 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
7954 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
7955 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
7956 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
7958 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
7959 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
7961 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
7963 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
7964 as public except for the 'use …, only' imported symbol, which is
7966 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7967 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
7968 attributes for acc_copyout_finalize and acc_delete_finalize.
7970 2019-12-11 Jakub Jelinek <jakub@redhat.com>
7973 * testsuite/libgomp.fortran/atomic1.f90: New test.
7975 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
7978 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
7979 reference counting for structured 'REFCOUNT_INFINITY'. Add some
7981 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
7982 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
7983 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
7984 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7987 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
7988 * oacc-mem.c: ... here.
7989 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
7990 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
7991 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7993 * libgomp_g.h: Update.
7995 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
7996 * oacc-async.c: ... here.
7997 * oacc-int.h (goacc_wait): Declare.
7998 * libgomp_g.h: Update
8001 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8003 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8005 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8007 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8009 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8011 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8014 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8015 Julian Brown <julian@codesourcery.com>
8017 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8018 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8020 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8022 * omp_lib.h.in: Fix spelling of function declaration
8023 omp_get_cancell(l)ation.
8024 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8026 * env.c: Fix comment typos.
8027 * oacc-host.c: Likewise.
8028 * ordered.c: Likewise.
8031 * config/gcn/task.c: Likewise.
8032 * config/gcn/team.c: Likewise.
8033 * config/nvptx/task.c: Likewise.
8034 * config/nvptx/team.c: Likewise.
8035 * plugin/plugin-gcn.c: Likewise.
8036 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8037 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8038 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8040 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8042 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8043 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8044 unnecessary 'dg-additional-options "-w"'.
8046 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8047 Julian Brown <julian@codesourcery.com>
8052 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8053 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8055 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8057 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8059 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8061 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8064 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8065 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8067 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8069 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8071 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8073 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8075 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8077 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8078 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8079 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8080 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8081 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8082 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8083 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8084 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8085 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8086 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8089 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8090 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8091 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8093 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8095 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8097 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8098 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8101 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8103 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8105 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8107 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8109 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8110 ... with their content moved into, and extended in this new file.
8111 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8113 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8115 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8117 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8120 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8123 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8125 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8127 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8129 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
8131 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8133 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8134 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8135 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8136 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8138 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8139 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8141 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8143 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8145 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
8146 Kwok Cheung Yeung <kcy@codesourcery.com>
8148 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8149 if input it a NULL pointer.
8150 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8151 diagnostic of NULL pointer.
8152 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8153 * testsuite/libgomp.fortran/optional-map.f90: New.
8154 * testsuite/libgomp.fortran/use_device_addr-1.f90
8155 (test_dummy_opt_callee_1_absent): New.
8156 (test_dummy_opt_call_1): Call it.
8157 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8158 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8159 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8160 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8161 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8162 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8163 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8164 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8165 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8166 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8167 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8168 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8169 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8170 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8171 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8172 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8174 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
8176 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8177 expect dg-output of 'Error termination.' for GCN.
8178 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8179 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8181 2019-12-04 Jakub Jelinek <jakub@redhat.com>
8184 * testsuite/libgomp.fortran/teams1.f90: New test.
8185 * testsuite/libgomp.fortran/teams2.f90: New test.
8187 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
8189 * oacc-init.c (acc_known_device_type): Add function.
8190 (unknown_device_type_error): Add function.
8191 (name_of_acc_device_t): Change to call unknown_device_type_error
8193 (resolve_device): Use acc_known_device_type.
8194 (acc_init): Fail if acc_device_t argument is not valid.
8195 (acc_shutdown): Likewise.
8196 (acc_get_num_devices): Likewise.
8197 (acc_set_device_type): Likewise.
8198 (acc_get_device_num): Likewise.
8199 (acc_set_device_num): Likewise.
8200 (acc_on_device): Add comment that argument validity is not checked.
8202 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
8204 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8206 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8207 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8208 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8209 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8210 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8212 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8215 * configure.tgt: Avoid IE tls on *-*-musl*.
8217 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
8219 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8220 adding a common-block test case.
8222 2019-11-29 Jakub Jelinek <jakub@redhat.com>
8225 * testsuite/libgomp.c++/udr-20.C: New test.
8226 * testsuite/libgomp.c++/udr-21.C: New test.
8228 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8230 * testsuite/lib/libgomp.exp
8231 (check_effective_target_offload_target_nvptx): New proc.
8232 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8234 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8235 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8236 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8238 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8240 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8241 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8242 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8243 * testsuite/libgomp.c/private-1.c: Likewise.
8244 * testsuite/libgomp.c/task-1.c: Likewise.
8245 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8247 2019-11-20 Julian Brown <julian@codesourcery.com>
8249 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8251 (queue_push_launch): Lock aq->mutex before calling
8252 wait_for_queue_nonfull.
8253 (queue_push_callback): Likewise.
8254 (queue_push_asyncwait): Likewise.
8255 (queue_push_placeholder): Likewise.
8257 2019-11-20 Julian Brown <julian@codesourcery.com>
8259 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8260 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8261 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8264 2019-11-20 Julian Brown <julian@codesourcery.com>
8268 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8269 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8270 in non-present/create case.
8271 (delete_copyout): Change error condition to fail only on copies outside
8272 of mapped block. Adjust error message accordingly.
8273 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8274 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8275 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8277 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8278 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8279 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8281 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
8283 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8284 libatomic in build-tree testing.
8286 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
8288 * testsuite/Makefile.in: Regenerate.
8290 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
8292 * testsuite/libgomp.c/target-print-1.c: New file.
8293 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8294 * testsuite/libgomp.oacc-c/print-1.c: New file.
8295 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8297 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8298 Kwok Cheung Yeung <kcy@codesourcery.com>
8299 Julian Brown <julian@codesourcery.com>
8300 Tom de Vries <tom@codesourcery.com>
8302 * plugin/Makefrag.am: Add amdgcn plugin support.
8303 * plugin/configfrag.ac: Likewise.
8304 * plugin/plugin-gcn.c: New file.
8305 * configure: Regenerate.
8306 * Makefile.in: Regenerate.
8307 * testsuite/Makefile.in: Regenerate.
8309 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8311 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8312 and use team_malloc variants.
8313 (gomp_gcn_exit_kernel): Use team_free.
8314 * libgomp.h (TEAM_ARENA_SIZE): Define.
8315 (TEAM_ARENA_START): Define.
8316 (TEAM_ARENA_FREE): Define.
8317 (TEAM_ARENA_END): Define.
8318 (team_malloc): New function.
8319 (team_malloc_cleared): New function.
8320 (team_free): New function.
8321 * team.c (gomp_new_team): Initialize and use team_malloc.
8322 (free_team): Use team_free.
8323 (gomp_free_thread): Use team_free.
8324 (gomp_pause_host): Use team_free.
8325 * work.c (gomp_init_work_share): Use team_malloc.
8326 (gomp_fini_work_share): Use team_free.
8328 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8329 Kwok Cheung Yeung <kcy@codesourcery.com>
8330 Julian Brown <julian@codesourcery.com>
8331 Tom de Vries <tom@codesourcery.com>
8333 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8334 * Makefile.in: Regenerate.
8335 * config.h.in (PLUGIN_GCN): Add new undef.
8336 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8337 * config/gcn/affinity-fmt.c: New file.
8338 * config/gcn/bar.c: New file.
8339 * config/gcn/bar.h: New file.
8340 * config/gcn/doacross.h: New file.
8341 * config/gcn/icv-device.c: New file.
8342 * config/gcn/oacc-target.c: New file.
8343 * config/gcn/simple-bar.h: New file.
8344 * config/gcn/target.c: New file.
8345 * config/gcn/task.c: New file.
8346 * config/gcn/team.c: New file.
8347 * config/gcn/time.c: New file.
8348 * configure.ac: Add amdgcn*-*-*.
8349 * configure: Regenerate.
8350 * configure.tgt: Add amdgcn*-*-*.
8351 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8352 * libgomp.h (gcn_thrs): Add amdgcn variant.
8353 (set_gcn_thrs): Likewise.
8354 (gomp_thread): Likewise.
8355 * oacc-int.h (goacc_thread): Likewise.
8356 * oacc-target.c: New file.
8357 * openacc.f90 (acc_device_gcn): New parameter.
8358 * openacc.h (acc_device_t): Add acc_device_gcn.
8359 * team.c (gomp_free_pool_helper): Add amdgcn support.
8361 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8362 Julian Brown <julian@codesourcery.com>
8364 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8366 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8368 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8369 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8372 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8374 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8375 * config/nvptx/libgomp-plugin.c: Move ...
8376 * config/accel/libgomp-plugin.c: ... to here.
8377 * config/nvptx/lock.c: Move ...
8378 * config/accel/lock.c: ... to here.
8379 * config/nvptx/mutex.c: Move ...
8380 * config/accel/mutex.c: ... to here.
8381 * config/nvptx/mutex.h: Move ...
8382 * config/accel/mutex.h: ... to here.
8383 * config/nvptx/oacc-async.c: Move ...
8384 * config/accel/oacc-async.c: ... to here.
8385 * config/nvptx/oacc-cuda.c: Move ...
8386 * config/accel/oacc-cuda.c: ... to here.
8387 * config/nvptx/oacc-host.c: Move ...
8388 * config/accel/oacc-host.c: ... to here.
8389 * config/nvptx/oacc-init.c: Move ...
8390 * config/accel/oacc-init.c: ... to here.
8391 * config/nvptx/oacc-mem.c: Move ...
8392 * config/accel/oacc-mem.c: ... to here.
8393 * config/nvptx/oacc-plugin.c: Move ...
8394 * config/accel/oacc-plugin.c: ... to here.
8395 * config/nvptx/omp-lock.h: Move ...
8396 * config/accel/omp-lock.h: ... to here.
8397 * config/nvptx/openacc.f90: Move ...
8398 * config/accel/openacc.f90: ... to here.
8399 * config/nvptx/pool.h: Move ...
8400 * config/accel/pool.h: ... to here.
8401 * config/nvptx/proc.c: Move ...
8402 * config/accel/proc.c: ... to here.
8403 * config/nvptx/ptrlock.c: Move ...
8404 * config/accel/ptrlock.c: ... to here.
8405 * config/nvptx/ptrlock.h: Move ...
8406 * config/accel/ptrlock.h: ... to here.
8407 * config/nvptx/sem.c: Move ...
8408 * config/accel/sem.c: ... to here.
8409 * config/nvptx/sem.h: Move ...
8410 * config/accel/sem.h: ... to here.
8411 * config/nvptx/thread-stacksize.h: Move ...
8412 * config/accel/thread-stacksize.h: ... to here.
8414 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8415 Tobias Burnus <tobias@codesourcery.com>
8416 Frederik Harwath <frederik@codesourcery.com>
8417 Thomas Schwinge <thomas@codesourcery.com>
8420 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8421 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8422 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8424 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
8425 Kwok Cheung Yeung <kcy@codesourcery.com>
8427 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8428 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8430 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8432 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8434 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8436 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8437 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8439 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8441 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8442 Add expected warnings about missing reduction clauses.
8443 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8445 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8447 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8450 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
8452 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8453 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8454 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8455 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8456 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8457 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8459 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
8462 * testsuite/libgomp.fortran/allocatable2.f90: Use
8463 unique numbers with 'stop'.
8464 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8465 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8466 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8467 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8468 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8470 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
8472 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8473 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8474 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8475 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8476 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8477 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8479 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8481 * testsuite/libgomp.fortran/target9.f90: New.
8483 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8485 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8486 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8487 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8488 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8489 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8490 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8491 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8492 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8493 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8494 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8495 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8496 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8497 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8498 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8499 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8500 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8501 * testsuite/libgomp.fortran/associate1.f90: Ditto.
8502 * testsuite/libgomp.fortran/associate2.f90: Ditto.
8503 * testsuite/libgomp.fortran/associate3.f90: Ditto.
8504 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8505 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8506 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8507 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8508 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8509 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8510 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8511 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8512 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8513 * testsuite/libgomp.fortran/character1.f90: Ditto.
8514 * testsuite/libgomp.fortran/character2.f90: Ditto.
8515 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8516 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8517 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8518 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8519 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8520 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8521 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8522 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8523 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8524 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8525 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8526 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8527 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8528 * testsuite/libgomp.fortran/do1.f90: Ditto.
8529 * testsuite/libgomp.fortran/do2.f90: Ditto.
8530 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8531 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8532 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8533 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8534 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8535 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8536 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8537 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8538 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
8539 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
8540 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
8541 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
8542 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
8543 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
8544 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
8545 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
8546 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
8547 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
8548 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
8549 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
8550 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
8551 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
8552 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
8553 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
8554 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
8555 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
8556 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
8557 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
8558 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
8559 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
8560 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
8561 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
8562 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
8563 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
8564 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
8565 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
8566 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
8567 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
8568 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
8569 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
8570 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
8571 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
8572 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
8573 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
8574 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
8575 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
8576 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
8577 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
8578 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
8579 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8580 * testsuite/libgomp.fortran/lib1.f90: Ditto.
8581 * testsuite/libgomp.fortran/lib4.f90: Ditto.
8582 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
8583 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
8584 * testsuite/libgomp.fortran/nested1.f90: Ditto.
8585 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
8586 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
8587 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
8588 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8589 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
8590 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
8591 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8592 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
8593 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
8594 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
8595 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
8596 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
8597 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
8598 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
8599 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8600 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
8601 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8602 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
8603 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
8604 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
8605 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
8606 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
8607 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
8608 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
8609 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8610 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
8611 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
8612 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
8613 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
8614 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
8615 * testsuite/libgomp.fortran/pr28390.f: Ditto.
8616 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
8617 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8618 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
8619 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
8620 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8621 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
8622 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
8623 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
8624 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
8625 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
8626 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
8627 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
8628 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
8629 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
8630 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
8631 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
8632 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
8633 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
8634 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
8635 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
8636 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
8637 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
8638 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
8639 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
8640 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
8641 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8642 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
8643 * testsuite/libgomp.fortran/reference1.f90: Ditto.
8644 * testsuite/libgomp.fortran/reference2.f90: Ditto.
8645 * testsuite/libgomp.fortran/retval1.f90: Ditto.
8646 * testsuite/libgomp.fortran/retval2.f90: Ditto.
8647 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
8648 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
8649 * testsuite/libgomp.fortran/simd1.f90: Ditto.
8650 * testsuite/libgomp.fortran/simd2.f90: Ditto.
8651 * testsuite/libgomp.fortran/simd3.f90: Ditto.
8652 * testsuite/libgomp.fortran/simd4.f90: Ditto.
8653 * testsuite/libgomp.fortran/simd5.f90: Ditto.
8654 * testsuite/libgomp.fortran/simd6.f90: Ditto.
8655 * testsuite/libgomp.fortran/simd7.f90: Ditto.
8656 * testsuite/libgomp.fortran/stack.f90: Ditto.
8657 * testsuite/libgomp.fortran/strassen.f90: Ditto.
8658 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
8659 * testsuite/libgomp.fortran/tabs2.f: Ditto.
8660 * testsuite/libgomp.fortran/target1.f90: Ditto.
8661 * testsuite/libgomp.fortran/target2.f90: Ditto.
8662 * testsuite/libgomp.fortran/target3.f90: Ditto.
8663 * testsuite/libgomp.fortran/target4.f90: Ditto.
8664 * testsuite/libgomp.fortran/target5.f90: Ditto.
8665 * testsuite/libgomp.fortran/target6.f90: Ditto.
8666 * testsuite/libgomp.fortran/target7.f90: Ditto.
8667 * testsuite/libgomp.fortran/target8.f90: Ditto.
8668 * testsuite/libgomp.fortran/task1.f90: Ditto.
8669 * testsuite/libgomp.fortran/task2.f90: Ditto.
8670 * testsuite/libgomp.fortran/task3.f90: Ditto.
8671 * testsuite/libgomp.fortran/task4.f90: Ditto.
8672 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
8673 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
8674 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8675 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8676 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8677 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
8678 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
8679 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
8680 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
8681 * testsuite/libgomp.fortran/udr1.f90: Ditto.
8682 * testsuite/libgomp.fortran/udr10.f90: Ditto.
8683 * testsuite/libgomp.fortran/udr11.f90: Ditto.
8684 * testsuite/libgomp.fortran/udr12.f90: Ditto.
8685 * testsuite/libgomp.fortran/udr13.f90: Ditto.
8686 * testsuite/libgomp.fortran/udr14.f90: Ditto.
8687 * testsuite/libgomp.fortran/udr15.f90: Ditto.
8688 * testsuite/libgomp.fortran/udr2.f90: Ditto.
8689 * testsuite/libgomp.fortran/udr3.f90: Ditto.
8690 * testsuite/libgomp.fortran/udr4.f90: Ditto.
8691 * testsuite/libgomp.fortran/udr5.f90: Ditto.
8692 * testsuite/libgomp.fortran/udr6.f90: Ditto.
8693 * testsuite/libgomp.fortran/udr7.f90: Ditto.
8694 * testsuite/libgomp.fortran/udr8.f90: Ditto.
8695 * testsuite/libgomp.fortran/udr9.f90: Ditto.
8696 * testsuite/libgomp.fortran/vla1.f90: Ditto.
8697 * testsuite/libgomp.fortran/vla2.f90: Ditto.
8698 * testsuite/libgomp.fortran/vla3.f90: Ditto.
8699 * testsuite/libgomp.fortran/vla4.f90: Ditto.
8700 * testsuite/libgomp.fortran/vla5.f90: Ditto.
8701 * testsuite/libgomp.fortran/vla6.f90: Ditto.
8702 * testsuite/libgomp.fortran/vla7.f90: Ditto.
8703 * testsuite/libgomp.fortran/vla8.f90: Ditto.
8704 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
8705 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
8707 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8709 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
8710 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
8711 Ditto; add 'dg-do run' for torture testing.
8712 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
8713 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8714 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8715 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8716 * testsuite/libgomp.fortran/pr28390.f: Ditto.
8717 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8718 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
8719 * testsuite/libgomp.fortran/task2.f90: Ditto.
8720 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
8721 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
8722 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8723 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8724 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
8725 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
8727 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
8729 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
8730 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
8731 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
8732 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
8733 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
8734 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
8735 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
8736 Use 'stop' not abort().
8737 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
8738 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
8739 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
8740 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
8741 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
8742 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
8743 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
8744 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
8745 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
8746 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
8747 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
8748 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
8749 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
8750 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
8751 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
8752 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
8753 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8755 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8757 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8759 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8761 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8763 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
8765 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
8767 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
8769 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
8771 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
8773 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
8775 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
8777 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
8779 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
8781 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
8782 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
8783 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
8784 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
8785 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8786 Likewise and also add 'dg-do run'.
8787 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8790 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
8791 Tobias Burnus <tobias@codesourcery.com>
8793 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
8794 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
8795 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
8797 2019-10-14 Jakub Jelinek <jakub@redhat.com>
8800 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
8803 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
8805 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
8806 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
8808 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
8811 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
8814 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
8817 * testsuite/libgomp.fortran/fortran.exp: Conditionally
8819 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
8821 2019-10-09 Jakub Jelinek <jakub@redhat.com>
8824 * target.c (gomp_map_vars_internal): Readd the previous
8825 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
8826 though do that just in the !not_found_cnt case.
8828 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
8830 * gfortran.dg/gomp/target-simd.f90: New.
8832 2019-10-02 Julian Brown <julian@codesourcery.com>
8833 Cesar Philippidis <cesar@codesourcery.com>
8835 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
8836 * target.c (FIELD_TGT_EMPTY): Define.
8837 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
8838 as switch instead of list of ifs.
8839 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
8841 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
8843 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
8844 include. Replace alloca () with __builtin_alloca ().
8845 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
8847 2019-10-01 Jakub Jelinek <jakub@redhat.com>
8849 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
8850 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
8851 * oacc-parallel.c: Don't include "libgomp_g.h".
8852 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
8853 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
8854 * aclocal.m4: Regenerated.
8855 * config.h.in: Regenerated.
8856 * configure: Regenerated.
8857 * Makefile.in: Regenerated.
8859 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
8861 * libgomp_g.h: Include stdint.h instead of gstdint.h.
8863 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
8865 * configure: Regenerate.
8867 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
8869 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
8870 string is initialized.
8872 2019-09-06 Florian Weimer <fweimer@redhat.com>
8874 * configure: Regenerate.
8876 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
8879 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
8880 scanning to conform to the GNU Coding Standards.
8881 * configure: Regenerate.
8883 2019-08-28 Jakub Jelinek <jakub@redhat.com>
8886 * testsuite/libgomp.c/scan-21.c: New test.
8887 * testsuite/libgomp.c/scan-22.c: New test.
8889 2019-08-27 Jakub Jelinek <jakub@redhat.com>
8892 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
8894 * testsuite/libgomp.c/scan-12.c: Likewise.
8895 * testsuite/libgomp.c/scan-13.c: Likewise.
8896 * testsuite/libgomp.c/scan-14.c: Likewise.
8897 * testsuite/libgomp.c/scan-15.c: Likewise.
8898 * testsuite/libgomp.c/scan-16.c: Likewise.
8899 * testsuite/libgomp.c/scan-17.c: Likewise.
8900 * testsuite/libgomp.c/scan-18.c: Likewise.
8901 * testsuite/libgomp.c/scan-19.c: Likewise.
8902 * testsuite/libgomp.c/scan-20.c: Likewise.
8903 * testsuite/libgomp.c++/scan-9.C: Likewise.
8904 * testsuite/libgomp.c++/scan-10.C: Likewise.
8905 * testsuite/libgomp.c++/scan-11.C: Likewise.
8906 * testsuite/libgomp.c++/scan-12.C: Likewise.
8907 * testsuite/libgomp.c++/scan-14.C: Likewise.
8908 * testsuite/libgomp.c++/scan-15.C: Likewise.
8909 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
8910 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
8911 * testsuite/libgomp.c++/scan-16.C: Likewise.
8913 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
8916 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
8917 -std=legacy so invalid code in the test case is accepted.
8919 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8922 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
8925 2019-08-08 Jakub Jelinek <jakub@redhat.com>
8927 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
8928 perform the lookup in the first loop only if !not_found_cnt, otherwise
8929 perform lookups for it in the second loop guarded with
8930 if (not_found_cnt || has_firstprivate).
8931 * testsuite/libgomp.c/target-37.c: New test.
8932 * testsuite/libgomp.c++/target-22.C: New test.
8934 2019-08-07 Jakub Jelinek <jakub@redhat.com>
8936 * testsuite/libgomp.c/target-18.c (struct S): New type.
8937 (foo): Use use_device_addr clause instead of use_device_ptr clause
8938 where required by OpenMP 5.0, add further tests for both use_device_ptr
8939 and use_device_addr clauses.
8940 * testsuite/libgomp.c++/target-9.C (struct S): New type.
8941 (foo): Use use_device_addr clause instead of use_device_ptr clause
8942 where required by OpenMP 5.0, add further tests for both use_device_ptr
8943 and use_device_addr clauses. Add t and u arguments.
8944 (main): Adjust caller.
8946 2019-08-06 Jakub Jelinek <jakub@redhat.com>
8948 * testsuite/libgomp.c++/loop-13.C: New test.
8949 * testsuite/libgomp.c++/loop-14.C: New test.
8950 * testsuite/libgomp.c++/loop-15.C: New test.
8952 2019-07-31 Jakub Jelinek <jakub@redhat.com>
8955 * testsuite/libgomp.c++/for-27.C: New test.
8957 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
8959 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8960 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8962 2019-07-20 Jakub Jelinek <jakub@redhat.com>
8964 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
8966 2019-07-08 Jakub Jelinek <jakub@redhat.com>
8968 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
8969 * testsuite/libgomp.c++/scan-16.C: Likewise.
8971 2019-07-06 Jakub Jelinek <jakub@redhat.com>
8973 * testsuite/libgomp.c/scan-19.c: New test.
8974 * testsuite/libgomp.c/scan-20.c: New test.
8976 * testsuite/libgomp.c/scan-11.c: New test.
8977 * testsuite/libgomp.c/scan-12.c: New test.
8978 * testsuite/libgomp.c/scan-13.c: New test.
8979 * testsuite/libgomp.c/scan-14.c: New test.
8980 * testsuite/libgomp.c/scan-15.c: New test.
8981 * testsuite/libgomp.c/scan-16.c: New test.
8982 * testsuite/libgomp.c/scan-17.c: New test.
8983 * testsuite/libgomp.c/scan-18.c: New test.
8984 * testsuite/libgomp.c++/scan-9.C: New test.
8985 * testsuite/libgomp.c++/scan-10.C: New test.
8986 * testsuite/libgomp.c++/scan-11.C: New test.
8987 * testsuite/libgomp.c++/scan-12.C: New test.
8988 * testsuite/libgomp.c++/scan-13.C: New test.
8989 * testsuite/libgomp.c++/scan-14.C: New test.
8990 * testsuite/libgomp.c++/scan-15.C: New test.
8991 * testsuite/libgomp.c++/scan-16.C: New test.
8993 2019-07-04 Jakub Jelinek <jakub@redhat.com>
8995 * testsuite/libgomp.c/scan-9.c: New test.
8996 * testsuite/libgomp.c/scan-10.c: New test.
8998 2019-07-03 Jakub Jelinek <jakub@redhat.com>
9000 * testsuite/libgomp.c++/scan-1.C: New test.
9001 * testsuite/libgomp.c++/scan-2.C: New test.
9002 * testsuite/libgomp.c++/scan-3.C: New test.
9003 * testsuite/libgomp.c++/scan-4.C: New test.
9004 * testsuite/libgomp.c++/scan-5.C: New test.
9005 * testsuite/libgomp.c++/scan-6.C: New test.
9006 * testsuite/libgomp.c++/scan-7.C: New test.
9007 * testsuite/libgomp.c++/scan-8.C: New test.
9008 * testsuite/libgomp.c/scan-1.c: New test.
9009 * testsuite/libgomp.c/scan-2.c: New test.
9010 * testsuite/libgomp.c/scan-3.c: New test.
9011 * testsuite/libgomp.c/scan-4.c: New test.
9012 * testsuite/libgomp.c/scan-5.c: New test.
9013 * testsuite/libgomp.c/scan-6.c: New test.
9014 * testsuite/libgomp.c/scan-7.c: New test.
9015 * testsuite/libgomp.c/scan-8.c: New test.
9017 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9019 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9020 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9023 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9026 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9028 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9031 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9034 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9036 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9037 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9038 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9039 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9042 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9045 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9047 2019-06-16 Tom de Vries <tdevries@suse.de>
9049 PR tree-optimization/89376
9050 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9052 2019-06-15 Tom de Vries <tdevries@suse.de>
9054 PR tree-optimization/89713
9055 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9056 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9058 2019-06-15 Jakub Jelinek <jakub@redhat.com>
9061 * testsuite/libgomp.c/pr90779.c: New test.
9062 * testsuite/libgomp.fortran/pr90779.f90: New test.
9064 2019-06-15 Tom de Vries <tdevries@suse.de>
9066 PR tree-optimization/90009
9067 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9069 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9071 PR tree-optimization/89713
9072 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9074 2019-06-11 Jakub Jelinek <jakub@redhat.com>
9077 * testsuite/libgomp.c/pr90811.c: New test.
9079 2019-06-05 Jakub Jelinek <jakub@redhat.com>
9081 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9082 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9084 2019-06-04 Jakub Jelinek <jakub@redhat.com>
9086 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9087 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9088 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9089 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9091 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9093 * configure.ac: Call AX_COUNT_CPUS.
9094 Substitute CPU_COUNT.
9095 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9097 * aclocal.m4: Regenerate.
9098 * configure: Regenerate.
9099 * Makefile.in, testsuite/Makefile.in: Regenerate.
9101 2019-05-29 Jakub Jelinek <jakub@redhat.com>
9103 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9105 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9106 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9107 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9109 2019-05-27 Jakub Jelinek <jakub@redhat.com>
9111 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9113 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9116 * work.c (gomp_init_work_share): Instead of aligning final ordered
9117 value to multiples of long long alignment, align to that the
9118 first part (ordered team ids) and if inline_ordered_team_ids
9119 is not on a long long alignment boundary within the structure,
9120 use __alignof__ (long long) - 1 pad size always.
9121 * loop.c (GOMP_loop_start): Fix *mem computation if
9122 inline_ordered_team_ids is not aligned on long long alignment boundary
9123 within the structure.
9124 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9125 * sections.c (GOMP_sections2_start): Likewise.
9127 2019-05-24 Jakub Jelinek <jakub@redhat.com>
9129 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9130 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9133 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9134 HAVE_INTTYPES_H is defined.
9135 (print_uint64_t): New typedef.
9136 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9137 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9138 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9139 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9140 before casting to void *.
9141 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9142 * oacc-mem.c: Don't include config.h nor stdint.h.
9143 * target.c: Don't include config.h.
9144 * oacc-cuda.c: Likewise.
9145 * oacc-host.c: Don't include stdint.h.
9147 2019-05-20 Jakub Jelinek <jakub@redhat.com>
9150 * alloc.c (_GNU_SOURCE): Define.
9152 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9154 * acc_prof.h: New file.
9155 * oacc-profiling.c: Likewise.
9156 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9157 Add these, respectively.
9158 * Makefile.in: Regenerate.
9159 * env.c (initialize_env): Call goacc_profiling_initialize.
9160 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9161 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9162 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9163 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9164 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9165 acc_prof_register, acc_prof_unregister, and acc_register_library.
9166 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9167 GOMP_PLUGIN_goacc_thread.
9168 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9169 prof_callbacks_enabled members.
9170 (goacc_prof_enabled, goacc_profiling_initialize)
9171 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9172 (goacc_profiling_dispatch): Declare.
9173 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9174 (GOACC_PROFILING_SETUP_P): Define.
9175 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9176 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9177 OpenACC Profiling Interface.
9178 * oacc-cuda.c (acc_get_current_cuda_device)
9179 (acc_get_current_cuda_context, acc_get_cuda_stream)
9180 (acc_set_cuda_stream): Likewise.
9181 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9182 (acc_init, acc_set_device_type, acc_get_device_type)
9183 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9184 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9185 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9186 (acc_unmap_data, present_create_copy, delete_copyout)
9187 (update_dev_host): Likewise.
9188 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9189 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9191 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9192 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9194 * libgomp.texi: Update.
9195 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9197 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9198 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9200 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9202 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9204 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9207 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9209 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9210 (struct goacc_asyncqueue_list): Likewise.
9211 (goacc_aq): Likewise.
9212 (goacc_aq_list): Likewise.
9213 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9214 (GOMP_OFFLOAD_openacc_async_test): Remove.
9215 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9216 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9217 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9218 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9219 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9220 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9221 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9222 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9223 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9224 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9225 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9226 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9227 (GOMP_OFFLOAD_openacc_async_test): Declare.
9228 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9229 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9230 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9231 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9232 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9234 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9235 (gomp_acc_insert_pointer): Adjust declaration.
9236 (gomp_copy_host2dev): New declaration.
9237 (gomp_copy_dev2host): Likewise.
9238 (gomp_map_vars_async): Likewise.
9239 (gomp_unmap_tgt): Likewise.
9240 (gomp_unmap_vars_async): Likewise.
9241 (gomp_fini_device): Likewise.
9243 * oacc-async.c (get_goacc_thread): New function.
9244 (get_goacc_thread_device): New function.
9245 (lookup_goacc_asyncqueue): New function.
9246 (get_goacc_asyncqueue): New function.
9247 (acc_async_test): Adjust code to use new async design.
9248 (acc_async_test_all): Likewise.
9249 (acc_wait): Likewise.
9250 (acc_wait_async): Likewise.
9251 (acc_wait_all): Likewise.
9252 (acc_wait_all_async): Likewise.
9253 (goacc_async_free): New function.
9254 (goacc_init_asyncqueues): Likewise.
9255 (goacc_fini_asyncqueues): Likewise.
9256 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9258 (acc_set_cuda_stream): Likewise.
9259 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9260 (host_openacc_register_async_cleanup): Remove.
9261 (host_openacc_async_exec): New function.
9262 (host_openacc_async_test): Adjust parameters.
9263 (host_openacc_async_test_all): Remove.
9264 (host_openacc_async_wait): Remove.
9265 (host_openacc_async_wait_async): Remove.
9266 (host_openacc_async_wait_all): Remove.
9267 (host_openacc_async_wait_all_async): Remove.
9268 (host_openacc_async_set_async): Remove.
9269 (host_openacc_async_synchronize): New function.
9270 (host_openacc_async_serialize): New function.
9271 (host_openacc_async_host2dev): New function.
9272 (host_openacc_async_dev2host): New function.
9273 (host_openacc_async_queue_callback): New function.
9274 (host_openacc_async_construct): New function.
9275 (host_openacc_async_destruct): New function.
9276 (struct gomp_device_descr host_dispatch): Remove initialization of old
9277 interface, add initialization of new async sub-struct.
9278 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9279 (goacc_attach_host_thread_to_device): Remove old async code usage.
9280 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9281 (goacc_fini_asyncqueues): Likewise.
9282 (goacc_async_copyout_unmap_vars): Likewise.
9283 (goacc_async_free): Likewise.
9284 (get_goacc_asyncqueue): Likewise.
9285 (lookup_goacc_asyncqueue): Likewise.
9286 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9288 (present_create_copy): Adjust code to use new async design.
9289 (delete_copyout): Likewise.
9290 (update_dev_host): Likewise.
9291 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9293 (gomp_acc_remove_pointer): Adjust code to use new async design.
9294 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9296 (GOACC_enter_exit_data): Likewise.
9297 (goacc_wait): Likewise.
9298 (GOACC_update): Likewise.
9299 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9300 when called, warn as obsolete in comment.
9301 * target.c (goacc_device_copy_async): New function.
9302 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9303 add goacc_device_copy_async case.
9304 (gomp_copy_dev2host): Likewise.
9305 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9306 (gomp_map_pointer): Likewise.
9307 (gomp_map_fields_existing): Likewise.
9308 (gomp_map_vars_internal): New always_inline function, renamed from
9310 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9311 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9312 passing goacc_asyncqueue argument.
9313 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9314 (gomp_unref_tgt): New function.
9315 (gomp_unmap_vars_internal): New always_inline function, renamed from
9317 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9318 (gomp_unmap_vars_async): Implement by calling
9319 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9320 (gomp_fini_device): New function.
9321 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9322 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9323 new async interface.
9324 (gomp_target_fini): Adjust code to call gomp_fini_device.
9326 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9327 (struct ptx_stream): Remove.
9328 (struct nvptx_thread): Remove current_stream field.
9329 (cuda_map_create): Remove.
9330 (cuda_map_destroy): Remove.
9335 (struct goacc_asyncqueue): Define.
9336 (struct nvptx_callback): Define.
9337 (struct ptx_free_block): Define.
9338 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9339 stream_lock, and next fields.
9340 (enum ptx_event_type): Remove.
9341 (struct ptx_event): Remove.
9342 (ptx_event_lock): Remove.
9343 (ptx_events): Remove.
9344 (init_streams_for_device): Remove.
9345 (fini_streams_for_device): Remove.
9346 (select_stream_for_async): Remove.
9347 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9348 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9350 (nvptx_open_device): Add free_blocks initialization, remove
9351 init_streams_for_device call.
9352 (nvptx_close_device): Remove fini_streams_for_device call, add
9353 free_blocks destruct code.
9355 (event_add): Remove.
9356 (nvptx_exec): Adjust parameters and code.
9357 (nvptx_free): Likewise.
9358 (nvptx_host2dev): Remove.
9359 (nvptx_dev2host): Remove.
9360 (nvptx_set_async): Remove.
9361 (nvptx_async_test): Remove.
9362 (nvptx_async_test_all): Remove.
9363 (nvptx_wait): Remove.
9364 (nvptx_wait_async): Remove.
9365 (nvptx_wait_all): Remove.
9366 (nvptx_wait_all_async): Remove.
9367 (nvptx_get_cuda_stream): Remove.
9368 (nvptx_set_cuda_stream): Remove.
9369 (GOMP_OFFLOAD_alloc): Adjust code.
9370 (GOMP_OFFLOAD_free): Likewise.
9371 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9372 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9373 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9374 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9375 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9376 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9377 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9378 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9379 (cuda_free_argmem): New function.
9380 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9381 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9382 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9383 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9384 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9385 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9386 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9387 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9388 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9389 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9390 (cuda_callback_wrapper): New function.
9391 (cuda_memcpy_sanity_check): New function.
9392 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9393 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9394 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9395 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9397 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9400 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9402 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9404 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9406 2019-03-27 Kevin Buettner <kevinb@redhat.com>
9408 * team.c (gomp_team_start): Initialize pool->threads[0].
9410 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9412 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9413 "-foffload=$offload_target".
9414 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9415 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9416 * testsuite/lib/libgomp.exp
9417 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9418 as (conceptually) merged into
9419 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9422 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9423 * testsuite/libgomp-test-support.exp.in: Adjust.
9424 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9425 openacc_device_types_s.
9426 (offload_target_to_openacc_device_type): New proc.
9427 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9428 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9429 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9430 * Makefile.in: Regenerate.
9431 * configure: Likewise.
9432 * testsuite/Makefile.in: Likewise.
9434 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9435 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9436 instead of OFFLOAD_TARGETS.
9437 * target.c (gomp_target_init): Adjust.
9438 * testsuite/libgomp-test-support.exp.in: Likewise.
9439 * testsuite/lib/libgomp.exp: Likewise. Populate
9440 openacc_device_types_s instead of offload_targets_s_openacc.
9441 (check_effective_target_openacc_nvidia_accel_selected)
9442 (check_effective_target_openacc_host_selected): Adjust.
9443 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9444 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9445 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9446 * Makefile.in: Regenerate.
9447 * config.h.in: Likewise.
9448 * configure: Likewise.
9449 * testsuite/Makefile.in: Likewise.
9451 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9452 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9453 "offloading: supported, but hardware not accessible".
9454 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9455 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9457 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9460 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9462 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9463 and related adjustment.
9465 2019-01-30 Jakub Jelinek <jakub@redhat.com>
9468 * testsuite/libgomp.c++/pr88988.C: New test.
9470 2019-01-28 Jakub Jelinek <jakub@redhat.com>
9473 * testsuite/libgomp.c/pr89002.c: New test.
9475 2019-01-28 Richard Biener <rguenther@suse.de>
9478 PR tree-optimization/86865
9479 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9481 2019-01-24 Tom de Vries <tdevries@suse.de>
9483 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9484 once instantiated_devices drops to 0.
9486 2019-01-23 Tom de Vries <tdevries@suse.de>
9489 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9491 (nvptx_exec): Don't call map_push if mapnum == 0.
9492 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9494 2019-01-23 Tom de Vries <tdevries@suse.de>
9498 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9499 (map_fini): Remove "assert (!s->map->active)".
9500 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9502 2019-01-23 Tom de Vries <tdevries@suse.de>
9505 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9506 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9508 2019-01-15 Tom de Vries <tdevries@suse.de>
9511 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9514 2019-01-12 Tom de Vries <tdevries@suse.de>
9516 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9517 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9518 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9519 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9521 2019-01-12 Tom de Vries <tdevries@suse.de>
9523 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9525 2019-01-12 Tom de Vries <tdevries@suse.de>
9527 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9528 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9529 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9531 2019-01-12 Tom de Vries <tdevries@suse.de>
9534 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9535 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9537 2019-01-12 Tom de Vries <tdevries@suse.de>
9540 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
9541 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
9543 2019-01-12 Tom de Vries <tdevries@suse.de>
9545 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
9546 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
9547 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
9549 2019-01-12 Tom de Vries <tdevries@suse.de>
9551 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
9552 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
9553 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
9555 2019-01-12 Tom de Vries <tdevries@suse.de>
9557 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
9558 resources diagnostic.
9560 2019-01-12 Tom de Vries <tdevries@suse.de>
9562 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
9563 vector length to be 128.
9564 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
9565 length 2097152 to be reduced to 1024 instead of 32.
9567 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
9568 James Norris <jnorris@codesourcery.com>
9570 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
9571 Library Routines", and "Environment Variables".
9573 2019-01-11 Tom de Vries <tdevries@suse.de>
9575 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
9578 2019-01-11 Tom de Vries <tdevries@suse.de>
9580 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
9582 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
9583 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
9584 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
9585 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
9587 2019-01-11 Tom de Vries <tdevries@suse.de>
9589 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
9592 2019-01-10 Nathan Sidwell <nathan@acm.org>
9593 Julian Brown <julian@codesourcery.com>
9596 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
9597 * testsuite/libgomp.oacc-c++/pr71959.C: New.
9599 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9601 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
9604 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9606 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
9607 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9610 2019-01-09 Tom de Vries <tdevries@suse.de>
9613 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
9614 #define instead of "const int".
9615 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
9616 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
9617 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
9618 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
9620 2019-01-09 Tom de Vries <tdevries@suse.de>
9622 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
9625 2019-01-07 Tom de Vries <tdevries@suse.de>
9627 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
9628 GOMP_OPENACC_DIM argument.
9630 2019-01-03 Tom de Vries <tdevries@suse.de>
9632 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
9633 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
9635 2019-01-01 Jakub Jelinek <jakub@redhat.com>
9637 Update copyright years.
9639 2019-01-01 Jakub Jelinek <jakub@redhat.com>
9641 * libgomp.texi: Bump @copying's copyright year.
9643 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
9645 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
9646 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
9647 (GOACC_declare): Redefine the "device" argument to "flags".
9649 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
9650 Cesar Philippidis <cesar@codesourcery.com>
9652 * target.c (struct gomp_coalesce_chunk): New structure.
9653 (struct gomp_coalesce_buf): Update the chunks member to use that
9654 type. Adjust all users.
9656 2018-12-19 Tom de Vries <tdevries@suse.de>
9658 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
9659 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
9660 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
9662 2018-12-19 Tom de Vries <tdevries@suse.de>
9664 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
9665 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
9666 gcc/testsuite/gcc.dg/goacc.
9667 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
9669 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
9670 Chung-Lin Tang <cltang@codesourcery.com>
9672 * oacc-mem.c (acc_present_or_create): Remove definition and change
9673 to alias of acc_create.
9674 (acc_present_or_copyin): Remove definition and change to alias of
9676 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
9677 of acc_present_or_create.
9678 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
9679 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9680 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9681 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9682 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9683 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9684 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9685 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9686 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9687 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9688 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9689 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9690 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9691 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9692 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9693 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9695 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
9698 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
9699 "identical parameters".
9700 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
9701 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
9704 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
9705 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
9708 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
9709 (nvptx_wait_async): Unseen async-argument is a no-op.
9710 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
9711 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
9712 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9713 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9714 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
9715 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
9716 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
9717 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
9718 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
9720 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
9721 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9723 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
9725 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
9726 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9727 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9729 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
9732 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
9733 (acc_set_cuda_stream): Clarify.
9734 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
9736 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
9738 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
9739 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
9741 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9743 2018-12-14 Tom de Vries <tdevries@suse.de>
9745 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
9746 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
9747 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
9748 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
9749 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
9751 2018-12-13 Tom de Vries <tdevries@suse.de>
9753 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
9754 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
9755 * fortran.c (omp_display_affinity_): ... here.
9756 * libgomp.h (gomp_print_string): Declare.
9757 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
9758 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9761 2018-12-13 Jakub Jelinek <jakub@redhat.com>
9764 * testsuite/libgomp.c++/for-24.C (results): Include it in
9765 omp declare target region.
9766 (main): Use map (always, tofrom: results) instead of
9767 map (tofrom: results).
9769 2018-12-12 Jakub Jelinek <jakub@redhat.com>
9772 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
9773 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
9775 * testsuite/libgomp.c-c++-common/for-16.c: New test.
9777 2018-12-12 Andreas Schwab <schwab@suse.de>
9779 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
9782 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
9785 * testsuite/libgomp.fortran/async_io_8.f90: New test.
9787 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
9788 Jakub Jelinek <jakub@redhat.com>
9790 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
9791 devicep->host2dev_func.
9793 2018-12-08 Jakub Jelinek <jakub@redhat.com>
9796 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
9797 tls_runtime effective target.
9798 (t): New threadprivate variable.
9799 (main): Set t in threads which execute iterations of the worksharing
9800 loop. Propagate that to the task after the loop and don't abort
9801 if the current taskgroup hasn't been cancelled.
9803 2018-12-02 Jakub Jelinek <jakub@redhat.com>
9805 * testsuite/libgomp.c/task-reduction-3.c: New test.
9807 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
9809 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
9812 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
9813 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
9815 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
9817 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
9819 2018-10-19 Richard Biener <rguenther@suse.de>
9821 PR tree-optimization/88182
9822 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
9824 2018-11-26 Jakub Jelinek <jakub@redhat.com>
9826 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
9827 (RUNTEST): Don't define.
9828 (RUNTESTDEFAULTFLAGS): Add.
9829 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
9830 (distclean-am): Depend on distclean-DEJAGNU.
9831 (check-am): If -j% option is present in MFLAGS and if
9832 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
9833 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
9834 * testsuite/Makefile.in: Regenerated.
9836 2018-11-26 Richard Biener <rguenther@suse.de>
9838 PR tree-optimization/88182
9839 * testsuite/libgomp.c++/pr88182.C: New testcase.
9841 2018-11-20 Jakub Jelinek <jakub@redhat.com>
9844 * config/mingw32/affinity-fmt.c: New file.
9846 2018-11-09 Jakub Jelinek <jakub@redhat.com>
9848 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
9849 (gomp_display_affinity): Use __builtin_choose_expr to handle
9850 properly handle argument having integral, or pointer or some other
9851 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
9852 with uint64_t type instead of %llx and unsigned long long.
9854 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
9855 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
9857 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9859 * affinity.c: Include <string.h>, <stdio.h>.
9860 (gomp_display_affinity_place): Remove cpusetp.
9861 * teams.c: Include <limits.h>.
9863 2018-11-08 Jakub Jelinek <jakub@redhat.com>
9865 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
9866 in_reduction clause for s[0].
9868 * affinity.c (gomp_display_affinity_place): New function.
9869 * affinity-fmt.c: New file.
9870 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
9871 * config/linux/affinity.c (gomp_display_affinity_place): New function.
9872 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
9873 Move these functions to ...
9874 * config/nvptx/teams.c: ... here. New file.
9875 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
9877 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
9879 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
9880 and _aligned_malloc.
9881 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
9882 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
9883 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
9884 gomp_affinity_format_len): New variables.
9885 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
9886 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
9887 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
9888 modifiers. Display (non-default) chunk sizes. Print
9889 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
9890 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
9891 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
9892 * fortran.c: Include stdio.h and string.h.
9893 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
9894 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
9895 (omp_set_affinity_format_, omp_get_affinity_format_,
9896 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
9897 omp_pause_resource_all_): New functions.
9898 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
9900 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
9902 * teams.c: ... here. New file.
9903 * libgomp_g.h: Include gstdint.h.
9904 (GOMP_loop_nonmonotonic_runtime_start,
9905 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
9906 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
9907 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
9908 GOMP_parallel_loop_nonmonotonic_runtime,
9909 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9910 GOMP_loop_ull_nonmonotonic_runtime_start,
9911 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
9912 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
9913 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9914 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
9915 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
9916 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9917 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9918 GOMP_teams_reg): Declare.
9919 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
9920 gomp_aligned_alloc uses fallback implementation.
9921 (gomp_aligned_alloc, gomp_aligned_free): Declare.
9922 (enum gomp_schedule_type): Add GFS_MONOTONIC.
9923 (struct gomp_doacross_work_share): Add extra field.
9924 (struct gomp_work_share): Add task_reductions field.
9925 (struct gomp_taskgroup): Add workshare and reductions fields.
9926 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
9927 (gomp_thread_handle): New typedef.
9928 (gomp_display_affinity_place, gomp_set_affinity_format,
9929 gomp_display_string, gomp_display_affinity,
9930 gomp_display_affinity_thread): Declare.
9931 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
9932 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
9933 gomp_workshare_task_reduction_register): Declare.
9934 (gomp_team_start): Add taskgroup argument.
9935 (gomp_pause_host): Declare.
9936 (gomp_init_work_share, gomp_work_share_start): Change bool argument
9938 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
9939 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
9940 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
9941 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9942 GOMP_loop_ull_doacross_start,
9943 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9944 GOMP_loop_maybe_nonmonotonic_runtime_next,
9945 GOMP_loop_maybe_nonmonotonic_runtime_start,
9946 GOMP_loop_nonmonotonic_runtime_next,
9947 GOMP_loop_nonmonotonic_runtime_start,
9948 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9949 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9950 GOMP_loop_ull_nonmonotonic_runtime_next,
9951 GOMP_loop_ull_nonmonotonic_runtime_start,
9952 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9953 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
9954 GOMP_taskgroup_reduction_register,
9955 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9956 GOMP_teams_reg and GOMP_taskwait_depend.
9957 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
9958 omp_{capture,display}_affinity{,_}, and
9959 omp_[gs]et_affinity_format{,_}.
9960 * loop.c: Include string.h.
9961 (GOMP_loop_runtime_next): Add ialias.
9962 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9963 (gomp_loop_static_start, gomp_loop_dynamic_start,
9964 gomp_loop_guided_start, gomp_loop_ordered_static_start,
9965 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9966 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9967 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
9968 or gomp_doacross_init callers.
9969 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
9970 GOMP_loop_doacross_start): New functions.
9971 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9972 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
9973 Mask off GFS_MONOTONIC bit.
9974 (GOMP_loop_maybe_nonmonotonic_runtime_next,
9975 GOMP_loop_maybe_nonmonotonic_runtime_start,
9976 GOMP_loop_nonmonotonic_runtime_next,
9977 GOMP_loop_nonmonotonic_runtime_start,
9978 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9979 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
9981 (gomp_parallel_loop_start): Pass NULL as taskgroup to
9983 * loop_ull.c: Include string.h.
9984 (GOMP_loop_ull_runtime_next): Add ialias.
9985 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9986 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
9987 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
9988 gomp_loop_ull_ordered_dynamic_start,
9989 gomp_loop_ull_ordered_guided_start,
9990 gomp_loop_ull_doacross_static_start,
9991 gomp_loop_ull_doacross_dynamic_start,
9992 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
9993 and gomp_doacross_ull_init callers.
9994 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9995 GOMP_loop_ull_doacross_start): New functions.
9996 (GOMP_loop_ull_runtime_start,
9997 GOMP_loop_ull_ordered_runtime_start,
9998 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
9999 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10000 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10001 GOMP_loop_ull_nonmonotonic_runtime_next,
10002 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10003 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10004 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10005 (omp_pause_resource_t, omp_depend_t): New typedefs.
10006 (enum omp_lock_hint_t): Renamed to ...
10007 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10008 enumerators using numbers and omp_lock_hint_* as their aliases.
10009 (omp_lock_hint_t): New typedef. Rename to ...
10010 (omp_sync_hint_t): ... this.
10011 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10012 omp_sync_hint_t instead of omp_lock_hint_t.
10013 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10014 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10016 (omp_target_is_present, omp_target_disassociate_ptr):
10017 Change first argument from void * to const void *.
10018 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10019 from void * to const void *.
10020 (omp_target_associate_ptr): Change first and second arguments from
10021 void * to const void *.
10022 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10023 omp_pause_hard): New parameters.
10024 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10025 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10027 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10028 omp_pause_hard): New parameters.
10029 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10030 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10032 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10033 EXTRA argument. If not needed to prepare array, if extra is 0,
10034 clear ws->doacross, otherwise allocate just doacross structure and
10035 extra payload. If array is needed, allocate also extra payload.
10036 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10037 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10039 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10041 (GOMP_parallel): Likewise. Formatting fix.
10042 (GOMP_parallel_reductions): New function.
10043 (GOMP_cancellation_point): If taskgroup has workshare
10044 flag set, check cancelled of prev taskgroup if any.
10045 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10046 on prev taskgroup if any.
10047 * sections.c: Include string.h.
10048 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10049 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10050 (GOMP_sections2_start): New function.
10051 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10052 Pass NULL as taskgroup to gomp_team_start.
10053 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10054 gomp_work_share_start callers.
10055 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10056 If taskgroup has workshare flag set, check cancelled on prev
10057 taskgroup if any. Guard all cancellation tests with
10058 gomp_cancel_var test.
10059 (omp_target_is_present, omp_target_disassociate_ptr):
10060 Change ptr argument from void * to const void *.
10061 (omp_target_memcpy): Change src argument from void * to const void *.
10062 (omp_target_memcpy_rect): Likewise.
10063 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10064 instead of char * where needed.
10065 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10066 from void * to const void *.
10067 (omp_pause_resource, omp_pause_resource_all): New functions.
10068 * task.c (gomp_task_handle_depend): Handle new depend array format
10069 in addition to the old. Handle mutexinoutset kinds the same as
10070 inout for now, handle unspecified kinds.
10071 (gomp_create_target_task): If taskgroup has workshare flag set, check
10072 cancelled on prev taskgroup if any. Guard all cancellation tests with
10073 gomp_cancel_var test. Handle new depend array format count in
10074 addition to the old.
10075 (GOMP_task): Likewise. Adjust function comment.
10076 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10077 cancelled on prev taskgroup if any. Guard all cancellation tests with
10078 gomp_cancel_var test.
10079 (GOMP_taskwait_depend): New function.
10080 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10081 format in addition to the old. Handle mutexinoutset kinds the same as
10082 inout for now, handle unspecified kinds. Fix a function comment typo.
10083 (gomp_taskgroup_init): New function.
10084 (GOMP_taskgroup_start): Use it.
10085 (gomp_reduction_register, gomp_create_artificial_team,
10086 GOMP_taskgroup_reduction_register,
10087 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10088 gomp_parallel_reduction_register,
10089 gomp_workshare_task_reduction_register,
10090 gomp_workshare_taskgroup_start,
10091 GOMP_workshare_task_reduction_unregister): New functions.
10092 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10093 check cancelled on prev taskgroup if any. Guard all cancellation
10094 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10095 by calling GOMP_taskgroup_reduction_register.
10096 * team.c (gomp_thread_attr): Remove comment.
10097 (struct gomp_thread_start_data): Add handle field.
10098 (gomp_thread_start): Call pthread_detach.
10099 (gomp_new_team): Adjust gomp_init_work_share caller.
10100 (gomp_free_pool_helper): Call pthread_detach.
10101 (gomp_team_start): Add taskgroup argument, initialize implicit
10102 tasks' taskgroup field to that. Don't call
10103 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10104 (gomp_team_end): Determine nesting by thr->ts.level != 0
10105 rather than thr->ts.team != NULL.
10106 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10107 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10108 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10109 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10110 if more than 1 allocate also extra payload at the end of array. Never
10111 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10112 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10113 return true instead of ws.
10114 * Makefile.in: Regenerated.
10115 * configure: Regenerated.
10116 * config.h.in: Regenerated.
10117 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10119 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10120 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10121 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10122 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10123 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10124 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10125 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10126 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10127 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10128 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10129 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10130 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10131 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10132 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10133 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10134 define a different N(test), don't define N(f0) to N(f14), but instead
10135 define N(f20) to N(f34) using != comparisons.
10136 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10137 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10138 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10139 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10140 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10141 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10142 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10143 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10144 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10145 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10146 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10147 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10148 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10149 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10150 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10151 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10152 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10153 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10154 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10155 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10156 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10157 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10158 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10159 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10160 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10161 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10162 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10163 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10164 * testsuite/libgomp.c++/depend-1.C: New test.
10165 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10166 * testsuite/libgomp.c++/depobj-1.C: New test.
10167 * testsuite/libgomp.c++/for-16.C: New test.
10168 * testsuite/libgomp.c++/for-21.C: New test.
10169 * testsuite/libgomp.c++/for-22.C: New test.
10170 * testsuite/libgomp.c++/for-23.C: New test.
10171 * testsuite/libgomp.c++/for-24.C: New test.
10172 * testsuite/libgomp.c++/for-25.C: New test.
10173 * testsuite/libgomp.c++/for-26.C: New test.
10174 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10175 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10176 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10177 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10178 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10179 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10180 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10181 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10182 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10183 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10184 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10185 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10186 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10187 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10188 * testsuite/libgomp.c/task-reduction-1.c: New test.
10189 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10190 * testsuite/libgomp.c/task-reduction-2.c: New test.
10191 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10192 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10193 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10194 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10195 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10196 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10197 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10198 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10199 * testsuite/libgomp.c/teams-1.c: New test.
10200 * testsuite/libgomp.c/teams-2.c: New test.
10201 * testsuite/libgomp.c/thread-limit-4.c: New test.
10202 * testsuite/libgomp.c/thread-limit-5.c: New test.
10203 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10205 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10207 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10208 acc_memcpy_to/from_device functions, now with async parameter.
10209 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10210 (acc_memcpy_from_device): Likewise.
10211 (acc_memcpy_to_device_async): New API function.
10212 (acc_memcpy_from_device_async): Likewise.
10213 (present_create_copy): Add async parameter and async setting/unsetting.
10214 (acc_create): Adjust present_create_copy call.
10215 (acc_copyin): Likewise.
10216 (acc_present_or_create): Likewise.
10217 (acc_present_or_copyin): Likewise.
10218 (acc_create_async): New API function.
10219 (acc_copyin_async): New API function.
10220 (delete_copyout): Add async parameter and async setting/unsetting.
10221 (acc_delete): Adjust delete_copyout call.
10222 (acc_copyout): Likewise.
10223 (acc_delete_async): New API function.
10224 (acc_copyout_async): Likewise.
10225 (update_dev_host): Add async parameter and async setting/unsetting.
10226 (acc_update_device): Adjust update_dev_host call.
10227 (acc_update_self): Likewise.
10228 (acc_update_device_async): New API function.
10229 (acc_update_self_async): Likewise.
10230 * openacc.h (acc_copyin_async): Declare new API function.
10231 (acc_create_async): Likewise.
10232 (acc_copyout_async): Likewise.
10233 (acc_delete_async): Likewise.
10234 (acc_update_device_async): Likewise.
10235 (acc_update_self_async): Likewise.
10236 (acc_memcpy_to_device_async): Likewise.
10237 (acc_memcpy_from_device_async): Likewise.
10238 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10239 (acc_copyin_async_64_h): New subroutine.
10240 (acc_copyin_async_array_h): New subroutine.
10241 (acc_create_async_32_h): New subroutine.
10242 (acc_create_async_64_h): New subroutine.
10243 (acc_create_async_array_h): New subroutine.
10244 (acc_copyout_async_32_h): New subroutine.
10245 (acc_copyout_async_64_h): New subroutine.
10246 (acc_copyout_async_array_h): New subroutine.
10247 (acc_delete_async_32_h): New subroutine.
10248 (acc_delete_async_64_h): New subroutine.
10249 (acc_delete_async_array_h): New subroutine.
10250 (acc_update_device_async_32_h): New subroutine.
10251 (acc_update_device_async_64_h): New subroutine.
10252 (acc_update_device_async_array_h): New subroutine.
10253 (acc_update_self_async_32_h): New subroutine.
10254 (acc_update_self_async_64_h): New subroutine.
10255 (acc_update_self_async_array_h): New subroutine.
10256 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10257 (acc_copyin_async_64_h): New subroutine.
10258 (acc_copyin_async_array_h): New subroutine.
10259 (acc_create_async_32_h): New subroutine.
10260 (acc_create_async_64_h): New subroutine.
10261 (acc_create_async_array_h): New subroutine.
10262 (acc_copyout_async_32_h): New subroutine.
10263 (acc_copyout_async_64_h): New subroutine.
10264 (acc_copyout_async_array_h): New subroutine.
10265 (acc_delete_async_32_h): New subroutine.
10266 (acc_delete_async_64_h): New subroutine.
10267 (acc_delete_async_array_h): New subroutine.
10268 (acc_update_device_async_32_h): New subroutine.
10269 (acc_update_device_async_64_h): New subroutine.
10270 (acc_update_device_async_array_h): New subroutine.
10271 (acc_update_self_async_32_h): New subroutine.
10272 (acc_update_self_async_64_h): New subroutine.
10273 (acc_update_self_async_array_h): New subroutine.
10274 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10275 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10276 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10277 acc_memcpy_to_device_async*, acc_update_device_async*, and
10278 acc_update_self_async* entries.
10279 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10280 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10281 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10283 2018-10-31 Joseph Myers <joseph@codesourcery.com>
10286 * Makefile.am: Include multilib.am
10287 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10288 (CLEANFILES): Remove libgomp.info.
10289 * configure.ac: Remove AC_PREREQ.
10290 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10291 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10294 2018-10-29 Joseph Myers <joseph@codesourcery.com>
10295 Julian Brown <julian@codesourcery.com>
10297 * testsuite/libgomp.oacc-c++/this.C: New.
10299 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10301 * plugin/plugin-nvptx.c (struct cuda_map): New.
10302 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10303 h_tail with (cuda_map *) map.
10304 (cuda_map_create): New function.
10305 (cuda_map_destroy): New function.
10306 (map_init): Update to use a linked list of cuda_map objects.
10307 (map_fini): Likewise.
10308 (map_pop): Likewise.
10309 (map_push): Likewise. Return CUdeviceptr instead of void.
10310 (init_streams_for_device): Remove stales references to ptx_stream
10312 (select_stream_for_async): Likewise.
10313 (nvptx_exec): Update call to map_init.
10315 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10316 Julian Brown <julian@codesourcery.com>
10318 PR middle-end/86336
10319 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10321 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10322 Thomas Koenig <tkoenig@gcc.gnu.org>
10325 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10326 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10327 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10328 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10329 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10330 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10331 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10333 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10334 Tom de Vries <tdevries@suse.de>
10337 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10338 (cuOccupancyMaxPotentialBlockSize): Declare.
10339 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10340 CUDA_ONE_CALL_MAYBE_NULL.
10341 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10342 CUoccupancyB2DSize and declare
10343 cuOccupancyMaxPotentialBlockSize.
10344 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10345 default num_gangs and num_workers when the driver supports it.
10347 2018-08-08 Tom de Vries <tdevries@suse.de>
10349 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10350 CUDA_ONE_CALL_MAYBE_NULL.
10351 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10352 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10353 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10356 2018-08-08 Tom de Vries <tdevries@suse.de>
10358 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10359 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10362 2018-08-08 Tom de Vries <tdevries@suse.de>
10364 * plugin/plugin-nvptx.c
10365 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10366 (nvptx_open_device): Use
10367 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10369 2018-08-08 Tom de Vries <tdevries@suse.de>
10371 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10372 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10374 2018-08-07 Tom de Vries <tdevries@suse.de>
10376 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10377 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10378 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10379 corresponding call in CUDA_ONE_CALL. Add def/undef of
10380 CUDA_ONE_CALL_MAYBE_NULL.
10381 (CUDA_CALL_EXISTS): Define.
10383 2018-08-07 Tom de Vries <tdevries@suse.de>
10385 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10386 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10387 corresponding undefs right after.
10389 2018-08-04 Tom de Vries <tdevries@suse.de>
10391 * plugin/configfrag.ac: For --without-cuda-driver, set
10392 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10393 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10394 * configure: Regenerate.
10396 2018-08-02 Tom de Vries <tdevries@suse.de>
10399 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10400 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10401 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10403 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10404 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10405 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10407 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10408 Thomas Schwinge <thomas@codesourcery.com>
10410 * config/nvptx/oacc-parallel.c: Truncate.
10412 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10413 James Norris <jnorris@codesourcery.com>
10415 * plugin/plugin-nvptx.c (struct map): Removed.
10416 (map_init, map_pop): Remove use of struct map.
10417 (map_push): Likewise and change argument list.
10418 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10420 2018-08-01 Tom de Vries <tdevries@suse.de>
10422 * plugin/cuda-lib.def: New file. Factor out of ...
10423 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10424 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10427 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10429 Revert 'AsyncI/O patch committed'.
10430 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10431 Thomas Koenig <tkoenig@gcc.gnu.org>
10434 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10435 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10436 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10437 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10438 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10439 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10440 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10442 2018-07-30 Tom de Vries <tdevries@suse.de>
10444 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10445 (nvptx_exec): Ensure worker and vector default dims don't exceed
10446 targ_fn->max_threads_per_block.
10448 2018-07-30 Tom de Vries <tdevries@suse.de>
10450 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10451 (nvptx_open_device): Init default_dims for device.
10452 (nvptx_exec): Use default_dims from device.
10454 2018-07-26 Jakub Jelinek <jakub@redhat.com>
10457 * testsuite/libgomp.c++/for-15.C (results): Include it in
10458 omp declare target region.
10459 (main): Use map (always, tofrom: results) instead of
10460 map (tofrom: results).
10462 PR middle-end/86660
10463 * testsuite/libgomp.c/pr86660.c: New test.
10465 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10466 Tom de Vries <tdevries@suse.de>
10468 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10469 sufficient resources to launch a kernel, and give a hint on how to fix
10472 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10473 Tom de Vries <tdevries@suse.de>
10475 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10476 max_threads_per_block and max_threads_per_multiprocessor fields.
10477 (nvptx_open_device): Initialize new fields.
10478 (nvptx_exec): Use num_sms, and new fields.
10480 2018-07-26 Tom de Vries <tdevries@suse.de>
10482 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10483 to correct locations. Remove xfail.
10485 2018-07-26 Tom de Vries <tdevries@suse.de>
10487 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10488 acc_wait. Move acc_async_test calls to correct locations. Remove
10491 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10492 Thomas Koenig <tkoenig@gcc.gnu.org>
10495 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10496 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10497 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10498 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10499 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10500 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10501 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10503 2018-07-17 Jakub Jelinek <jakub@redhat.com>
10505 PR middle-end/86542
10506 * testsuite/libgomp.c++/pr86542.C: New test.
10508 PR middle-end/86539
10509 * testsuite/libgomp.c++/pr86539.C: New test.
10511 2018-07-11 Jakub Jelinek <jakub@redhat.com>
10514 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10515 (results): Make sure the variable is not inside declare target region.
10516 (qux): Remove unused function.
10518 2018-07-10 Jakub Jelinek <jakub@redhat.com>
10521 * testsuite/libgomp.c++/for-15.C: New test.
10523 2018-06-26 Jakub Jelinek <jakub@redhat.com>
10526 * testsuite/libgomp.c++/pr86291.C: New test.
10528 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
10530 * libgomp.texi (Top): Move www.openmp.org to https.
10531 (Enabling OpenMP): Ditto.
10532 (omp_get_active_level): Ditto.
10533 (omp_get_ancestor_thread_num): Ditto.
10534 (omp_get_cancellation): Ditto.
10535 (omp_get_default_device): Ditto.
10536 (omp_get_dynamic): Ditto.
10537 (omp_get_level): Ditto.
10538 (omp_get_max_active_levels): Ditto.
10539 (omp_get_max_task_priority): Ditto.
10540 (omp_get_max_threads): Ditto.
10541 (omp_get_nested): Ditto.
10542 (omp_get_num_devices): Ditto.
10543 (omp_get_num_procs): Ditto.
10544 (omp_get_num_teams): Ditto.
10545 (omp_get_num_threads): Ditto.
10546 (omp_get_proc_bind): Ditto.
10547 (omp_get_schedule): Ditto.
10548 (omp_get_team_num): Ditto.
10549 (omp_get_team_size): Ditto.
10550 (omp_get_thread_limit): Ditto.
10551 (omp_get_thread_num): Ditto.
10552 (omp_in_parallel): Ditto.
10553 (omp_in_final): Ditto.
10554 (omp_is_initial_device): Ditto.
10555 (omp_set_default_device): Ditto.
10556 (omp_set_dynamic): Ditto.
10557 (omp_set_max_active_levels): Ditto.
10558 (omp_set_nested): Ditto.
10559 (omp_set_num_threads): Ditto.
10560 (omp_set_schedule): Ditto.
10561 (omp_init_lock): Ditto.
10562 (omp_set_lock): Ditto.
10563 (omp_test_lock): Ditto.
10564 (omp_unset_lock): Ditto.
10565 (omp_destroy_lock): Ditto.
10566 (omp_init_nest_lock): Ditto.
10567 (omp_set_nest_lock): Ditto.
10568 (omp_test_nest_lock): Ditto.
10569 (omp_unset_nest_lock): Ditto.
10570 (omp_destroy_nest_lock): Ditto.
10571 (omp_get_wtick): Ditto.
10572 (omp_get_wtime): Ditto.
10573 (OMP_CANCELLATION): Ditto.
10574 (OMP_DISPLAY_ENV): Ditto.
10575 (OMP_DEFAULT_DEVICE): Ditto.
10576 (OMP_DYNAMIC): Ditto.
10577 (OMP_MAX_ACTIVE_LEVELS): Ditto.
10578 (OMP_MAX_TASK_PRIORITY): Ditto.
10579 (OMP_NESTED): Ditto.
10580 (OMP_NUM_THREADS): Ditto.
10581 (OMP_PROC_BIND): Ditto.
10582 (OMP_PLACES): Ditto.
10583 (OMP_STACKSIZE): Ditto.
10584 (OMP_SCHEDULE): Ditto.
10585 (OMP_THREAD_LIMIT): Ditto.
10586 (OMP_WAIT_POLICY): Ditto.
10588 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
10589 James Norris <jnorris@codesourcery.com>
10590 Julian Brown <julian@codesourcery.com>
10591 Thomas Schwinge <thomas@codesourcery.com>
10592 Tom de Vries <tom@codesourcery.com>
10594 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
10595 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
10596 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
10597 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
10598 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10599 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10600 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
10601 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
10602 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
10603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
10605 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10607 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10609 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
10611 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
10613 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10615 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
10617 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
10619 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
10621 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
10623 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
10625 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
10627 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
10629 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
10631 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
10633 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
10635 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
10637 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
10639 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
10641 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
10643 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
10645 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
10647 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
10649 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
10651 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
10653 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
10655 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
10657 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
10658 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
10659 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
10660 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
10661 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
10662 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
10663 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
10664 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
10665 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
10667 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
10669 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
10670 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
10671 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
10673 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
10674 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
10675 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
10677 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
10679 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
10681 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
10683 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
10685 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
10687 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
10689 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
10691 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
10693 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
10695 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
10697 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
10699 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
10701 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
10703 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
10705 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10706 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
10707 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
10708 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
10709 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
10710 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
10711 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
10713 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
10714 Thomas Schwinge <thomas@codesourcery.com>
10715 Cesar Philippidis <cesar@codesourcery.com>
10717 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
10718 (gomp_acc_remove_pointer): Update declaration.
10719 (gomp_acc_declare_allocate): Declare.
10720 (gomp_remove_var): Declare.
10721 * libgomp.map (OACC_2.5): Define.
10722 * oacc-mem.c (acc_map_data): Update refcount.
10723 (acc_unmap_data): Likewise.
10724 (present_create_copy): Likewise.
10725 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
10726 (acc_copyin): Likewise.
10727 (FLAG_FINALIZE): Define.
10728 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
10729 (acc_delete_finalize): New function.
10730 (acc_delete_finalize_async): New function.
10731 (acc_copyout_finalize): New function.
10732 (acc_copyout_finalize_async): New function.
10733 (gomp_acc_insert_pointer): Update refcounts.
10734 (gomp_acc_remove_pointer): Return if data is not present on the
10736 * oacc-parallel.c (find_pset): Rename to find_pointer.
10737 (find_pointer): Add support for GOMP_MAP_POINTER.
10738 (handle_ftn_pointers): New function.
10739 (GOACC_parallel_keyed): Update refcounts of variables.
10740 (GOACC_enter_exit_data): Add support for finalized data mappings.
10741 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
10743 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
10744 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
10745 for GOMP_MAP_FORCE_FROM.
10746 * openacc.f90 (module openacc_internal): Add
10747 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
10748 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
10749 acc_copyout_finalize and acc_delete_finalize.
10750 (acc_copyout_finalize_32_h): New subroutine.
10751 (acc_copyout_finalize_64_h): New subroutine.
10752 (acc_copyout_finalize_array_h): New subroutine.
10753 (acc_delete_finalize_32_h): New subroutine.
10754 (acc_delete_finalize_64_h): New subroutine.
10755 (acc_delete_finalize_array_h): New subroutine.
10756 * openacc.h (acc_copyout_finalize): Declare.
10757 (acc_copyout_finalize_async): Declare.
10758 (acc_delete_finalize): Declare.
10759 (acc_delete_finalize_async): Declare.
10760 * openacc_lib.h (acc_copyout_finalize): New interface.
10761 (acc_delete_finalize): New interface.
10762 * target.c (gomp_map_vars): Update dynamic_refcount.
10763 (gomp_remove_var): New function.
10764 (gomp_unmap_vars): Use it.
10765 (gomp_unload_image_from_device): Likewise.
10766 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
10767 case to utilize OpenACC 2.5 data clause semantics.
10768 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10769 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10770 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10771 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10772 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10773 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10774 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10775 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10776 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10777 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10778 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10779 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
10780 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
10781 utilize OpenACC 2.5 data clause semantics.
10782 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10783 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10784 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10785 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10786 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10787 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10788 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10789 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10790 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10792 2018-05-21 Janus Weil <janus@gcc.gnu.org>
10796 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
10797 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
10798 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
10799 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
10800 * testsuite/libgomp.fortran/task2.f90: Ditto.
10801 * testsuite/libgomp.fortran/vla1.f90: Ditto.
10802 * testsuite/libgomp.fortran/vla2.f90: Ditto.
10803 * testsuite/libgomp.fortran/vla3.f90: Ditto.
10804 * testsuite/libgomp.fortran/vla4.f90: Ditto.
10805 * testsuite/libgomp.fortran/vla5.f90: Ditto.
10806 * testsuite/libgomp.fortran/vla6.f90: Ditto.
10807 * testsuite/libgomp.fortran/vla8.f90: Ditto.
10808 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
10809 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
10811 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
10814 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
10816 2018-05-09 Tom de Vries <tom@codesourcery.com>
10819 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
10820 to GOACC_enter_exit_data.
10822 2018-05-09 Tom de Vries <tom@codesourcery.com>
10825 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
10826 (async_synchronous_p): New function.
10827 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
10829 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10830 async_valid_stream_id_p.
10831 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
10832 * oacc-parallel.c (GOACC_parallel_keyed): Same.
10834 2018-05-07 Tom de Vries <tom@codesourcery.com>
10837 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
10838 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
10840 2018-05-03 Tom de Vries <tom@codesourcery.com>
10843 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
10844 extra_tool_flags if it contains an -foffload=-fdump-* flag.
10845 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
10846 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
10848 2018-05-02 Tom de Vries <tom@codesourcery.com>
10851 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
10852 GOMP_OPENACC_DIM ...
10853 * env.c (parse_gomp_openacc_dim): ... here. New function.
10854 (initialize_env): Call parse_gomp_openacc_dim.
10855 (goacc_default_dims): Define.
10856 * libgomp.h (goacc_default_dims): Declare.
10857 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
10858 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
10859 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
10860 GOMP_PLUGIN_acc_default_dim.
10861 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
10862 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
10864 2018-05-02 Tom de Vries <tom@codesourcery.com>
10867 * testsuite/libgomp.c++/udr-9.C: Update.
10868 * testsuite/libgomp.c++/atomic-16.C: Remove.
10869 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
10870 * testsuite/libgomp.c++/loop-13.C: Remove.
10871 * testsuite/libgomp.c++/loop-14.C: Remove.
10872 * testsuite/libgomp.c++/loop-15.C: Remove.
10873 * testsuite/libgomp.c++/monotonic-1.C: Remove.
10874 * testsuite/libgomp.c++/monotonic-2.C: Remove.
10875 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
10876 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
10877 * testsuite/libgomp.c++/ordered-1.C: Remove.
10878 * testsuite/libgomp.c++/pr45784.C: Remove.
10879 * testsuite/libgomp.c++/pr64824.C: Remove.
10880 * testsuite/libgomp.c++/pr64868.C: Remove.
10881 * testsuite/libgomp.c++/pr66199-1.C: Remove.
10882 * testsuite/libgomp.c++/pr66199-2.C: Remove.
10883 * testsuite/libgomp.c++/pr66199-3.C: Remove.
10884 * testsuite/libgomp.c++/pr66199-4.C: Remove.
10885 * testsuite/libgomp.c++/pr66199-5.C: Remove.
10886 * testsuite/libgomp.c++/pr66199-6.C: Remove.
10887 * testsuite/libgomp.c++/pr66199-7.C: Remove.
10888 * testsuite/libgomp.c++/pr66199-8.C: Remove.
10889 * testsuite/libgomp.c++/pr66199-9.C: Remove.
10890 * testsuite/libgomp.c++/pr69389.C: Remove.
10891 * testsuite/libgomp.c++/simd10.C: Remove.
10892 * testsuite/libgomp.c++/simd11.C: Remove.
10893 * testsuite/libgomp.c++/simd12.C: Remove.
10894 * testsuite/libgomp.c++/simd13.C: Remove.
10895 * testsuite/libgomp.c++/target-1.C: Remove.
10896 * testsuite/libgomp.c++/target-3.C: Remove.
10897 * testsuite/libgomp.c++/target-4.C: Remove.
10898 * testsuite/libgomp.c++/target-5.C: Remove.
10899 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
10900 * testsuite/libgomp.c++/taskloop-1.C: Remove.
10901 * testsuite/libgomp.c++/taskloop-2.C: Remove.
10902 * testsuite/libgomp.c++/taskloop-3.C: Remove.
10903 * testsuite/libgomp.c++/taskloop-4.C: Remove.
10904 * testsuite/libgomp.c++/udr-9.C: Remove.
10905 * testsuite/libgomp.c++/for-10.C: Remove.
10906 * testsuite/libgomp.c++/for-11.C: Remove.
10907 * testsuite/libgomp.c++/for-12.C: Remove.
10908 * testsuite/libgomp.c++/for-13.C: Remove.
10909 * testsuite/libgomp.c++/for-14.C: Remove.
10910 * testsuite/libgomp.c++/for-9.C: Remove.
10911 * testsuite/libgomp.c/atomic-18.c: Move ...
10912 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
10913 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
10914 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
10915 * testsuite/libgomp.c/loop-13.c: Move ...
10916 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
10917 * testsuite/libgomp.c/loop-14.c: Move ...
10918 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
10919 * testsuite/libgomp.c/loop-15.c: Remove.
10920 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
10921 * testsuite/libgomp.c/monotonic-1.c: Move ...
10922 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
10923 * testsuite/libgomp.c/monotonic-2.c: Move ...
10924 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
10925 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
10926 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
10927 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
10928 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
10929 * testsuite/libgomp.c/ordered-4.c: Move ...
10930 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
10931 * testsuite/libgomp.c/pr45784.c: Move ...
10932 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
10933 * testsuite/libgomp.c/pr64824.c: Move ...
10934 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
10935 * testsuite/libgomp.c/pr64868.c: Move ...
10936 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
10937 * testsuite/libgomp.c/pr66199-1.c: Move ...
10938 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
10939 * testsuite/libgomp.c/pr66199-2.c: Move ...
10940 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
10941 * testsuite/libgomp.c/pr66199-3.c: Move ...
10942 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
10943 * testsuite/libgomp.c/pr66199-4.c: Move ...
10944 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
10945 * testsuite/libgomp.c/pr66199-5.c: Move ...
10946 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
10947 * testsuite/libgomp.c/pr66199-6.c: Move ...
10948 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
10949 * testsuite/libgomp.c/pr66199-7.c: Move ...
10950 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
10951 * testsuite/libgomp.c/pr66199-8.c: Move ...
10952 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
10953 * testsuite/libgomp.c/pr66199-9.c: Move ...
10954 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
10955 * testsuite/libgomp.c/pr69389.c: Move ...
10956 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
10957 * testsuite/libgomp.c/simd-14.c: Move ...
10958 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
10959 * testsuite/libgomp.c/simd-15.c: Move ...
10960 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
10961 * testsuite/libgomp.c/simd-16.c: Move ...
10962 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
10963 * testsuite/libgomp.c/simd-17.c: Move ...
10964 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
10965 * testsuite/libgomp.c/target-1.c: Move ...
10966 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
10967 * testsuite/libgomp.c/target-10.c: Move ...
10968 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
10969 * testsuite/libgomp.c/target-13.c: Move ...
10970 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
10971 * testsuite/libgomp.c/target-2.c: Move ...
10972 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
10973 * testsuite/libgomp.c/taskgroup-1.c: Move ...
10974 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
10975 * testsuite/libgomp.c/taskloop-1.c: Move ...
10976 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
10977 * testsuite/libgomp.c/taskloop-2.c: Move ...
10978 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
10979 * testsuite/libgomp.c/taskloop-3.c: Move ...
10980 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
10981 * testsuite/libgomp.c/taskloop-4.c: Move ...
10982 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
10983 * testsuite/libgomp.c/udr-1.c: Move ...
10984 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
10985 * testsuite/libgomp.c/for-1.c: Move ...
10986 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
10987 * testsuite/libgomp.c/for-1.h: Move ...
10988 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
10989 * testsuite/libgomp.c/for-2.c: Move ...
10990 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
10991 * testsuite/libgomp.c/for-2.h: Move ...
10992 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
10993 * testsuite/libgomp.c/for-3.c: Move ...
10994 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
10995 * testsuite/libgomp.c/for-4.c: Move ...
10996 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
10997 * testsuite/libgomp.c/for-5.c: Move ...
10998 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
10999 * testsuite/libgomp.c/for-6.c: Move ...
11000 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11002 2018-05-02 Tom de Vries <tom@codesourcery.com>
11005 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11006 __builtin_goacc_parlevel_{id,size}.
11007 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11008 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11009 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11010 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11011 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11012 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11013 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11014 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11015 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11016 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11017 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11018 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11019 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11020 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11021 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11022 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11023 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11024 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11025 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11026 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11027 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11028 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11029 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11031 2018-05-02 Tom de Vries <tom@codesourcery.com>
11034 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11036 2018-05-02 Tom de Vries <tom@codesourcery.com>
11039 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11041 2018-04-29 Julian Brown <julian@codesourcery.com>
11042 Tom de Vries <tom@codesourcery.com>
11045 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11046 arbitrary order for iterations of atomic subtract check.
11048 2018-04-28 Tom de Vries <tom@codesourcery.com>
11051 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11052 atomic capture results obtained in parallel loop to an array, instead of
11055 2018-04-26 Tom de Vries <tom@codesourcery.com>
11058 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11059 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11060 (process_GOMP_NVPTX_JIT): New function.
11061 (link_ptx): Use process_GOMP_NVPTX_JIT.
11063 2018-04-26 Richard Biener <rguenther@suse.de>
11064 Tom de Vries <tom@codesourcery.com>
11067 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11069 2018-04-26 Tom de Vries <tom@codesourcery.com>
11072 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11073 recursion depth from 25 to 23.
11074 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11076 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11078 * configure: Regenerated.
11080 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11081 Tom de Vries <tom@codesourcery.com>
11084 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11086 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11089 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11090 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11091 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11092 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11093 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11094 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11096 PR libfortran/85166
11097 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11099 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11101 2018-04-19 Jakub Jelinek <jakub@redhat.com>
11103 * configure: Regenerated.
11105 2018-04-18 David Malcolm <dmalcolm@redhat.com>
11108 * configure: Regenerate.
11110 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11111 Tom de Vries <tom@codesourcery.com>
11113 PR middle-end/84955
11114 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11115 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11117 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11121 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11122 test from gfortran.dg to here.
11124 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11126 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11127 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11129 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11131 PR middle-end/84955
11132 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11133 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11135 2018-04-05 Tom de Vries <tom@codesourcery.com>
11138 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11140 2018-03-26 Tom de Vries <tom@codesourcery.com>
11142 PR tree-optimization/85063
11143 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11144 * testsuite/libgomp.c/switch-conversion.c: New test.
11145 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11146 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11148 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11151 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11152 call abort by STOP n.
11153 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11154 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11155 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11156 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11157 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11158 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11159 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11160 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11161 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11162 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11163 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11164 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11165 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11166 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11167 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11168 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11169 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11170 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11171 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11172 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11173 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11174 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11175 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11176 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11177 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11178 * testsuite/libgomp.fortran/character1.f90: Likewise.
11179 * testsuite/libgomp.fortran/character2.f90: Likewise.
11180 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11181 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11182 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11183 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11184 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11185 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11186 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11187 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11188 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11189 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11190 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11191 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11192 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11193 * testsuite/libgomp.fortran/do1.f90: Likewise.
11194 * testsuite/libgomp.fortran/do2.f90: Likewise.
11195 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11196 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11197 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11198 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11199 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11200 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11201 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11202 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11203 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11204 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11205 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11206 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11207 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11208 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11209 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11210 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11211 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11212 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11213 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11214 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11215 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11216 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11217 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11218 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11219 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11220 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11221 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11222 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11223 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11224 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11225 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11226 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11227 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11228 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11229 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11230 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11231 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11232 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11233 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11234 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11235 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11236 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11237 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11238 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11239 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11240 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11241 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11242 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11243 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11244 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11245 * testsuite/libgomp.fortran/lib2.f: Likewise.
11246 * testsuite/libgomp.fortran/lib3.f: Likewise.
11247 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11248 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11249 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11250 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11251 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11252 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11253 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11254 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11255 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11256 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11257 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11258 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11259 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11260 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11261 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11262 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11263 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11264 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11265 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11266 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11267 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11268 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11269 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11270 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11271 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11272 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11273 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11274 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11275 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11276 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11277 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11278 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11279 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11280 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11281 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11282 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11283 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11284 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11285 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11286 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11287 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11288 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11289 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11290 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11291 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11292 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11293 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11294 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11295 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11296 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11297 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11298 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11299 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11300 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11301 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11302 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11303 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11304 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11305 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11306 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11307 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11308 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11309 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11310 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11311 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11312 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11313 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11314 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11315 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11316 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11317 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11318 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11319 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11320 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11321 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11322 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11323 * testsuite/libgomp.fortran/stack.f90: Likewise.
11324 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11325 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11326 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11327 * testsuite/libgomp.fortran/target1.f90: Likewise.
11328 * testsuite/libgomp.fortran/target2.f90: Likewise.
11329 * testsuite/libgomp.fortran/target3.f90: Likewise.
11330 * testsuite/libgomp.fortran/target4.f90: Likewise.
11331 * testsuite/libgomp.fortran/target5.f90: Likewise.
11332 * testsuite/libgomp.fortran/target6.f90: Likewise.
11333 * testsuite/libgomp.fortran/target7.f90: Likewise.
11334 * testsuite/libgomp.fortran/target8.f90: Likewise.
11335 * testsuite/libgomp.fortran/task1.f90: Likewise.
11336 * testsuite/libgomp.fortran/task2.f90: Likewise.
11337 * testsuite/libgomp.fortran/task3.f90: Likewise.
11338 * testsuite/libgomp.fortran/task4.f90: Likewise.
11339 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11340 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11341 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11342 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11343 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11344 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11345 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11346 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11347 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11348 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11349 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11350 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11351 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11352 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11353 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11354 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11355 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11356 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11357 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11358 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11359 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11360 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11361 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11362 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11363 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11364 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11365 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11366 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11367 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11368 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11369 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11370 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11371 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11372 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11373 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11374 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11375 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11376 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11377 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11378 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11379 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11380 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11381 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11382 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11383 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11384 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11385 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11386 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11387 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11388 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11389 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11390 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11391 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11392 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11393 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11394 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11395 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11396 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11397 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11398 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11399 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11400 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11401 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11402 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11403 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11404 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11405 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11406 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11407 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11408 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11409 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11410 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11411 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11412 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11413 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11414 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11415 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11416 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11417 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11418 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11419 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11420 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11421 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11422 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11423 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11424 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11425 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11426 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11427 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11428 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11429 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11430 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11431 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11432 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11433 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11434 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11435 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11436 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11437 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11438 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11439 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11440 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11441 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11442 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11443 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11444 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11445 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11446 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11447 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11448 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11449 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11450 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11451 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11452 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11453 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11454 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11455 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11456 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11457 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11458 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11459 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11460 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11461 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11462 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11463 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11464 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11466 2018-03-20 Richard Biener <rguenther@suse.de>
11468 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11469 parallelizable loop.
11471 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11474 * configure: Regenerate.
11476 2018-02-16 Jakub Jelinek <jakub@redhat.com>
11479 * libgomp.fortran/pr84418-1.f90: New test.
11480 * libgomp.fortran/pr84418-2.f90: New test.
11482 2018-02-14 Jakub Jelinek <jakub@redhat.com>
11485 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11486 -std=f2003 -fall-intrinsics into dg-additional-options.
11488 2018-02-08 Martin Jambor <mjambor@suse.cz>
11490 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11493 2018-02-08 Martin Jambor <mjambor@suse.cz>
11495 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11497 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11499 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11500 [__cplusplus]: Declare extern "C".
11502 2018-02-07 Tom de Vries <tom@codesourcery.com>
11505 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11507 2018-01-29 Christoph Spiel <cspiel@freenet.de>
11508 Jakub Jelinek <jakub@redhat.com>
11511 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11512 instead of omp_lock_t.
11514 2018-01-25 Tom de Vries <tom@codesourcery.com>
11517 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11519 2018-01-24 Tom de Vries <tom@codesourcery.com>
11522 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11524 2018-01-24 Tom de Vries <tom@codesourcery.com>
11527 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11529 2018-01-19 Tom de Vries <tom@codesourcery.com>
11530 Cesar Philippidis <cesar@codesourcery.com>
11533 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11534 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11536 2018-01-03 Jakub Jelinek <jakub@redhat.com>
11538 Update copyright years.
11540 * libgomp.texi: Bump @copying's copyright year.
11542 2017-12-30 Tom de Vries <tom@codesourcery.com>
11545 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
11546 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
11548 2017-12-27 Tom de Vries <tom@codesourcery.com>
11551 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
11552 (test_nonstatic): Fix return type to workaround PR83046.
11554 2017-12-05 Jakub Jelinek <jakub@redhat.com>
11557 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
11558 j suffix instead of i.
11559 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
11562 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
11564 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
11565 call to acc_wait (1).
11567 2017-11-24 Jakub Jelinek <jakub@redhat.com>
11570 * testsuite/libgomp.fortran/pr81304.f90: New test.
11572 2017-11-23 Jakub Jelinek <jakub@redhat.com>
11575 * libgomp.fortran/pr81841.f90: New test.
11577 2017-11-22 Jakub Jelinek <jakub@redhat.com>
11580 * target.c (gomp_target_init): Compute lengths just once and
11581 use them in both malloc size and subsequent copying.
11583 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11585 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
11586 * acinclude.m4: Add cet.m4.
11587 * configure: Regenerate.
11588 * Makefile.in: Likewise.
11589 * testsuite/Makefile.in: Likewise.
11591 2017-11-15 Tom de Vries <tom@codesourcery.com>
11593 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
11594 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
11595 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
11596 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
11597 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
11598 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
11600 2017-11-14 Tom de Vries <tom@codesourcery.com>
11602 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
11603 non-nvidia devices.
11605 2017-11-07 Jakub Jelinek <jakub@redhat.com>
11608 * testsuite/libgomp.c++/pr82835.C: New test.
11610 2017-11-06 Martin Liska <mliska@suse.cz>
11612 * testsuite/libgomp.c++/loop-2.C: Return a value
11613 for functions with non-void return type, or change type to void,
11614 or add -Wno-return-type for test.
11615 * testsuite/libgomp.c++/loop-4.C: Likewise.
11616 * testsuite/libgomp.c++/parallel-1.C: Likewise.
11617 * testsuite/libgomp.c++/shared-1.C: Likewise.
11618 * testsuite/libgomp.c++/single-1.C: Likewise.
11619 * testsuite/libgomp.c++/single-2.C: Likewise.
11621 2017-10-31 Tom de Vries <tom@codesourcery.com>
11623 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
11624 "do {} while (false)".
11625 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
11626 after HSA_DEBUG call.
11628 2017-10-28 Jakub Jelinek <jakub@redhat.com>
11630 * target.c (struct gomp_coalesce_buf): New type.
11631 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
11632 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
11633 (gomp_copy_host2dev): Add CBUF argument, if copying into
11634 the cached ranges, memcpy into buffer instead of copying
11636 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
11637 Add CBUF argument, pass it through to other calls.
11638 (gomp_map_vars): Aggregate copies from host to device if small enough
11639 and with small enough gaps in between into memcpy into a buffer and
11640 fewer host to device copies from the buffer.
11641 (gomp_update): Adjust gomp_copy_host2dev caller.
11643 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
11645 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
11647 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11648 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11649 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11650 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11652 2017-10-16 Tom de Vries <tom@codesourcery.com>
11654 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
11655 openacc_nvidia_accel_selected.
11656 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
11657 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
11658 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
11659 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
11660 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
11661 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
11662 openacc_nvidia_accel_selected. Skip for shared memory device.
11663 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
11664 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
11666 2017-10-09 Martin Jambor <mjambor@suse.cz>
11669 * testsuite/libgomp.hsa.c/pr82416.c: New test.
11671 2017-10-07 Tom de Vries <tom@codesourcery.com>
11673 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
11674 Remove acc_device_nvidia references.
11675 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
11678 2017-10-05 Tom de Vries <tom@codesourcery.com>
11680 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
11681 vector_length(32) clause from acc parallel directive.
11682 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
11684 2017-10-04 Tom de Vries <tom@codesourcery.com>
11686 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
11687 (main): Reduce sum of arr elements. Assert that hres is exactly
11688 representable in 32-bit floating point.
11689 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
11690 (main): Reduce sum of arr elements. Assert that hres and hmres are
11691 exactly representable in 32-bit floating point.
11692 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
11694 2017-09-28 Tom de Vries <tom@codesourcery.com>
11696 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
11698 * testsuite/libgomp.c++/pr69393.C: Same.
11699 * testsuite/libgomp.c++/taskloop-1.C: Same.
11700 * testsuite/libgomp.c++/taskloop-3.C: Same.
11701 * testsuite/libgomp.c++/taskloop-4.C: Same.
11702 * testsuite/libgomp.c/for-4.c: Same.
11703 * testsuite/libgomp.c/pr66199-3.c: Same.
11704 * testsuite/libgomp.c/pr66199-4.c: Same.
11705 * testsuite/libgomp.c/pr66199-6.c: Same.
11706 * testsuite/libgomp.c/taskloop-1.c: Same.
11707 * testsuite/libgomp.c/taskloop-3.c: Same.
11708 * testsuite/libgomp.c/taskloop-4.c: Same.
11709 * testsuite/libgomp.fortran/aligned1.f03: Same.
11710 * testsuite/libgomp.fortran/condinc1.f: Same.
11711 * testsuite/libgomp.fortran/condinc3.f90: Same.
11712 * testsuite/libgomp.fortran/crayptr1.f90: Same.
11713 * testsuite/libgomp.fortran/crayptr2.f90: Same.
11714 * testsuite/libgomp.fortran/crayptr3.f90: Same.
11715 * testsuite/libgomp.fortran/omp_cond1.f: Same.
11716 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
11717 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
11718 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
11719 * testsuite/libgomp.fortran/recursion1.f90: Same.
11720 * testsuite/libgomp.fortran/target2.f90: Same.
11721 * testsuite/libgomp.fortran/target5.f90: Same.
11722 * testsuite/libgomp.fortran/task3.f90: Same.
11724 2017-09-28 Tom de Vries <tom@codesourcery.com>
11726 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
11727 vector_length(32) clause from acc parallel directive.
11728 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
11730 2017-09-27 Tom de Vries <tom@codesourcery.com>
11732 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
11733 Remove acc_device_nvidia references.
11735 2017-09-16 Tom de Vries <tom@codesourcery.com>
11738 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
11740 2017-09-14 Tom de Vries <tom@codesourcery.com>
11742 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
11743 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
11744 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
11745 * testsuite/libgomp.c/c.exp: Include test-cases from
11746 libgomp.c-c++-common.
11747 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
11750 2017-09-14 Jakub Jelinek <jakub@redhat.com>
11753 * testsuite/libgomp.c++/pr81314.C: New test.
11755 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
11757 * libgomp.texi (Top): www.openacc.org now uses https.
11758 (Enabling OpenACC): Ditto.
11759 (acc_get_num_devices): Ditto.
11760 (acc_set_device_type): Ditto.
11761 (acc_get_device_type): Ditto.
11762 (acc_set_device_num): Ditto.
11763 (acc_get_device_num): Ditto.
11764 (acc_async_test): Ditto.
11765 (acc_async_test_all): Ditto.
11767 (acc_wait_all): Ditto.
11768 (acc_wait_all_async): Ditto.
11769 (acc_wait_async): Ditto.
11771 (acc_shutdown): Ditto.
11772 (acc_on_device): Ditto.
11773 (acc_malloc): Ditto.
11775 (acc_copyin): Ditto.
11776 (acc_present_or_copyin): Ditto.
11777 (acc_create): Ditto.
11778 (acc_present_or_create): Ditto.
11779 (acc_copyout): Ditto.
11780 (acc_delete): Ditto.
11781 (acc_update_device): Ditto.
11782 (acc_update_self): Ditto.
11783 (acc_map_data): Ditto.
11784 (acc_unmap_data): Ditto.
11785 (acc_deviceptr): Ditto.
11786 (acc_hostptr): Ditto.
11787 (acc_is_present): Ditto.
11788 (acc_memcpy_to_device): Ditto.
11789 (acc_memcpy_from_device): Ditto.
11790 (acc_get_current_cuda_device): Ditto.
11791 (acc_get_current_cuda_context): Ditto.
11792 (acc_get_cuda_stream): Ditto.
11793 (acc_set_cuda_stream): Ditto.
11794 (ACC_DEVICE_TYPE): Ditto.
11795 (ACC_DEVICE_NUM): Ditto.
11796 (OpenACC Library Interoperability): Ditto.
11798 2017-08-09 Jakub Jelinek <jakub@redhat.com>
11801 * testsuite/libgomp.c/pr81687-1.c: New test.
11802 * testsuite/libgomp.c/pr81687-2.c: New test.
11804 2017-08-07 Jakub Jelinek <jakub@redhat.com>
11807 * testsuite/libgomp.c/pr69389.c: New test.
11808 * testsuite/libgomp.c++/pr69389.C: New test.
11810 2017-08-07 Tom de Vries <tom@codesourcery.com>
11812 PR middle-end/78266
11813 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
11814 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
11816 2017-07-27 Jakub Jelinek <jakub@redhat.com>
11819 * testsuite/libgomp.c/pr45784.c: New test.
11820 * testsuite/libgomp.c++/pr45784.C: New test.
11822 2017-07-19 Tom de Vries <tom@codesourcery.com>
11824 * testsuite/libgomp.oacc-c/vec.c: New test.
11826 2017-07-03 Tom de Vries <tom@codesourcery.com>
11828 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
11830 2017-06-27 Tom de Vries <tom@codesourcery.com>
11832 * plugin/plugin-nvptx.c (notify_var): New function.
11833 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
11835 2017-06-27 Tom de Vries <tom@codesourcery.com>
11837 * env.c (parse_unsigned_long_1): Factor out of ...
11838 (parse_unsigned_long): ... here.
11839 (parse_int_1): Factor out of ...
11840 (parse_int): ... here.
11841 (parse_int_secure): New function.
11842 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
11843 * secure_getenv.h: Factor out of ...
11844 * plugin/plugin-hsa.c: ... here.
11845 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
11847 2017-06-21 Jakub Jelinek <jakub@redhat.com>
11850 * testsuite/libgomp.c++/pr81130.C: New test.
11852 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11854 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
11856 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
11857 dg-xfail-run-if default args.
11859 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
11861 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
11862 * testsuite/libgomp.c/pr39591-3.c: Likewise.
11864 2017-05-30 Jakub Jelinek <jakub@redhat.com>
11867 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
11868 (gomp_affinity_init_level): Use it. Always analyze the core and thread
11869 sibling lists, depending on level just pick up what CPUs to put
11870 together into a place vs. whether add multiple ordered places.
11872 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
11874 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
11875 * libgomp.map (OACC_2.0.1): Add these.
11876 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
11877 for "acc_wait", and "acc_wait_all", respectively.
11878 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
11879 for "acc_wait", and "acc_wait_all", respectively.
11880 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
11881 * libgomp.texi (acc_wait, acc_wait_all): Update.
11882 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
11883 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
11884 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11886 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
11887 acc_present_or_copyin and acc_present_or_create procedures,
11889 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
11890 generally different variants of OpenACC Runtime Library functions.
11891 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11893 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
11894 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11896 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
11897 of preprocessor definitions.
11898 * libgomp.h (strong_alias): Guard by "#ifdef
11899 HAVE_ATTRIBUTE_ALIAS".
11900 * oacc-mem.c: Provide "acc_pcreate" as alias for
11901 "acc_present_or_create", and "acc_pcopyin" as alias for
11902 "acc_present_or_copyin".
11903 * libgomp.map: New version "OACC_2.0.1".
11904 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
11905 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
11906 its content into...
11907 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
11910 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
11911 when disabling nvptx offloading.
11913 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
11915 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
11916 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
11917 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11919 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
11920 * testsuite/lib/libgomp.exp
11921 (check_effective_target_openacc_nvidia_accel_configured): New
11923 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
11924 (check_effective_target_c++): New procs.
11925 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
11926 (check_effective_target_c++): Likewise.
11928 2017-05-22 Jakub Jelinek <jakub@redhat.com>
11930 PR middle-end/80809
11931 * testsuite/libgomp.c/pr80809-2.c: New test.
11932 * testsuite/libgomp.c/pr80809-3.c: New test.
11934 PR middle-end/80809
11935 * testsuite/libgomp.c/pr80809-1.c: New test.
11937 PR middle-end/80853
11938 * testsuite/libgomp.c/pr80853.c: New test.
11940 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
11942 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
11943 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
11944 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11945 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11946 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11948 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
11949 Debug output for failure.
11951 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11953 * testsuite/lib/libgomp.exp: Load scanlang.exp.
11955 2017-04-27 Jakub Jelinek <jakub@redhat.com>
11958 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
11959 bootstrap compare failures.
11961 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
11963 * testsuite/libgomp.c/target-36.c: New testcase.
11965 2017-04-13 Jakub Jelinek <jakub@redhat.com>
11967 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
11970 2017-04-11 Jakub Jelinek <jakub@redhat.com>
11973 * testsuite/libgomp.c/pr80394.c: New test.
11975 2017-04-04 Jakub Jelinek <jakub@redhat.com>
11978 * config/posix/thread-stacksize.h: New file.
11979 * config/darwin/thread-stacksize.h: New file.
11980 * config/nvptx/thread-stacksize.h: New file.
11981 * env.c: Include thread-stacksize.h.
11982 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
11983 instead of 0. Call pthread_attr_setstacksize even if
11984 GOMP_DEFAULT_STACKSIZE is non-zero.
11986 2017-03-30 Jakub Jelinek <jakub@redhat.com>
11988 * env.c (initialize_env): Initialize stacksize to 0.
11990 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
11993 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
11995 2017-03-08 Jakub Jelinek <jakub@redhat.com>
11998 * testsuite/libgomp.c/pr79940.c: New test.
12000 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12002 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12004 Add __float128 options.
12006 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
12008 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12009 hppa*-*-* dg-skip-if directive.
12011 2017-02-09 Jakub Jelinek <jakub@redhat.com>
12013 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12014 dg-skip-if directive into a comment.
12016 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12017 Chung-Lin Tang <cltang@codesourcery.com>
12019 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12020 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12021 add additional case.
12022 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12023 "openacc_nvidia_accel_selected".
12024 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12025 Add num_workers(8) clause.
12027 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
12029 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12031 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12032 include complex.h on hppa*-*-hpux*.
12033 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12035 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12037 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12039 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12040 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12041 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12042 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12043 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12044 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12045 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12046 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12047 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12048 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12050 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12052 * libgomp-plugin.h: #include <stdbool.h>.
12053 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12054 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12055 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12056 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12057 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12058 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12059 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12060 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12061 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12062 (GOMP_OFFLOAD_openacc_async_test)
12063 (GOMP_OFFLOAD_openacc_async_test_all)
12064 (GOMP_OFFLOAD_openacc_async_wait)
12065 (GOMP_OFFLOAD_openacc_async_wait_async)
12066 (GOMP_OFFLOAD_openacc_async_wait_all)
12067 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12068 (GOMP_OFFLOAD_openacc_async_set_async)
12069 (GOMP_OFFLOAD_openacc_create_thread_data)
12070 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12071 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12072 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12073 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12074 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12075 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12077 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12078 (GOMP_OFFLOAD_unload_image): Fix argument types.
12080 2017-01-26 Jakub Jelinek <jakub@redhat.com>
12082 * testsuite/lib/libgomp.exp
12083 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12084 check_compile invocation. Fix up removal of executable. Drop
12085 bogus "2>&1" argument.
12087 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12090 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
12091 Martin Jambor <mjambor@suse.cz>
12093 * plugin/hsa.h: Moved to top level include.
12094 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12096 2017-01-21 Jakub Jelinek <jakub@redhat.com>
12099 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12100 of cat to get version from BASE-VER file.
12101 * testsuite/Makefile.in: Regenerated.
12103 2017-01-19 Jakub Jelinek <jakub@redhat.com>
12105 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12108 2017-01-17 Jakub Jelinek <jakub@redhat.com>
12110 * plugin/hsa.h: Add GCC runtime library exception.
12111 * plugin/hsa_ext_finalize.h: Likewise.
12113 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12114 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12115 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12116 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12117 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12118 library to link ptx plugin against.
12119 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12120 (CUDA_CALLS): Define.
12121 (cuda_lib, cuda_lib_inited): New variables.
12122 (init_cuda_lib): New function.
12123 (CUDA_CALL_PREFIX): Define.
12124 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12125 (CUDA_CALL): Use FN instead of (FN).
12126 (CUDA_CALL_NOCHECK): Define.
12127 (cuda_error, fini_streams_for_device, select_stream_for_async,
12128 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12129 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12130 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12131 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12133 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12135 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12136 Use CUDA_CALL_NOCHECK.
12137 * plugin/cuda/cuda.h: New file.
12138 * config.h.in: Regenerated.
12139 * configure: Regenerated.
12142 * configure.ac: Add GCC_BASE_VER.
12143 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12144 get version from BASE-VER file.
12145 * testsuite/Makefile.in: Regenerated.
12146 * configure: Regenerated.
12147 * Makefile.in: Regenerated.
12149 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12152 * Makefile.am: Make fincludedir multilib-aware.
12153 * Makefile.in: Regenerate.
12155 2017-01-01 Jakub Jelinek <jakub@redhat.com>
12157 Update copyright years.
12159 * libgomp.texi: Bump @copying's copyright year.
12161 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12163 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12164 pthread_spinlock_t instead of gomp_mutex_t lock.
12165 (gomp_get_thread_pool): Likewise.
12166 (gomp_release_thread_pool): Likewise.
12167 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12170 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12172 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12173 thread pool in case nthreads == 1.
12175 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12177 * config/nvptx/env.c: Delete.
12178 * icv.c: Move definitions of ICV variables back ...
12179 * env.c: ...here. Do not compile environment-related functionality if
12180 LIBGOMP_OFFLOADED_ONLY is set.
12182 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12184 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12185 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12186 * configure: Regenerate.
12187 * config.h.in: Likewise.
12189 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12191 * Makefile.in: Regenerate with automake-1.11.6.
12192 * aclocal.m4: Likewise.
12193 * configure: Likewise.
12194 * testsuite/Makefile.in: Likewise.
12196 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
12198 * config/nvptx/critical.c: Delete to use generic implementation.
12200 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12202 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12203 ../../affinity.c as fallback.
12204 * config/nvptx/affinity.c: Delete to use fallback implementation.
12206 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
12207 Jakub Jelinek <jakub@redhat.com>
12208 Dmitry Melnik <dm@ispras.ru>
12210 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12211 * Makefile.in. Regenerate.
12212 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12213 (LIBGOMP_USE_PTHREADS): ...here; new define.
12214 * configure: Regenerate.
12215 * config.h.in: Likewise.
12216 * config/posix/affinity.c: Move to...
12217 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12218 interface by LIBGOMP_USE_PTHREADS.
12219 * critical.c: Split out GOMP_atomic_{start,end} into...
12220 * atomic.c: ...here (new file).
12221 * env.c: Split out ICV definitions into...
12222 * icv.c: ...here (new file) and...
12223 * icv-device.c: ...here. New file.
12224 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12225 (gomp_destroy_lock_30): Ditto.
12226 (gomp_set_lock_30): Ditto.
12227 (gomp_unset_lock_30): Ditto.
12228 (gomp_test_lock_30): Ditto.
12229 (gomp_init_nest_lock_30): Ditto.
12230 (gomp_destroy_nest_lock_30): Ditto.
12231 (gomp_set_nest_lock_30): Ditto.
12232 (gomp_unset_nest_lock_30): Ditto.
12233 (gomp_test_nest_lock_30): Ditto.
12235 * config/nvptx/lock.c: New.
12236 * config/nvptx/bar.c: New.
12237 * config/nvptx/bar.h: New.
12238 * config/nvptx/doacross.h: New.
12239 * config/nvptx/error.c: New.
12240 * config/nvptx/icv-device.c: New.
12241 * config/nvptx/mutex.h: New.
12242 * config/nvptx/pool.h: New.
12243 * config/nvptx/proc.c: New.
12244 * config/nvptx/ptrlock.h: New.
12245 * config/nvptx/sem.h: New.
12246 * config/nvptx/simple-bar.h: New.
12247 * config/nvptx/target.c: New.
12248 * config/nvptx/task.c: New.
12249 * config/nvptx/team.c: New.
12250 * config/nvptx/time.c: New.
12251 * config/posix/simple-bar.h: New.
12252 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12253 (gomp_num_teams_var): Declare.
12254 (struct gomp_thread_pool): Change threads_dock member to
12255 gomp_simple_barrier_t.
12256 [__nvptx__] (gomp_thread): New implementation.
12257 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12258 (gomp_thread_destructor): Ditto.
12259 (gomp_init_thread_affinity): Ditto.
12260 * team.c: Guard uses of Pthreads-specific interfaces by
12261 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12262 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12263 * config/nvptx/alloc.c: Delete.
12264 * config/nvptx/barrier.c: Ditto.
12265 * config/nvptx/fortran.c: Ditto.
12266 * config/nvptx/iter.c: Ditto.
12267 * config/nvptx/iter_ull.c: Ditto.
12268 * config/nvptx/loop.c: Ditto.
12269 * config/nvptx/loop_ull.c: Ditto.
12270 * config/nvptx/ordered.c: Ditto.
12271 * config/nvptx/parallel.c: Ditto.
12272 * config/nvptx/priority_queue.c: Ditto.
12273 * config/nvptx/sections.c: Ditto.
12274 * config/nvptx/single.c: Ditto.
12275 * config/nvptx/splay-tree.c: Ditto.
12276 * config/nvptx/work.c: Ditto.
12277 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12278 -foffload=-lgfortran in addition to -lgfortran.
12279 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12280 * plugin/plugin-nvptx.c: Include <limits.h>.
12281 (struct targ_fn_descriptor): Add new fields.
12282 (struct ptx_device): Ditto. Set them...
12283 (nvptx_open_device): ...here.
12284 (nvptx_adjust_launch_bounds): New.
12285 (nvptx_host2dev): Allow NULL 'nvthd'.
12286 (nvptx_dev2host): Ditto.
12287 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12288 (link_ptx): Adjust log sizes.
12289 (nvptx_host2dev): Allow NULL 'nvthd'.
12290 (nvptx_dev2host): Ditto.
12291 (nvptx_set_clocktick): New. Use it...
12292 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12294 (GOMP_OFFLOAD_dev2dev): New.
12295 (nvptx_adjust_launch_bounds): New.
12296 (nvptx_stacks_size): New.
12297 (nvptx_stacks_alloc): New.
12298 (nvptx_stacks_free): New.
12299 (GOMP_OFFLOAD_run): New.
12300 (GOMP_OFFLOAD_async_run): New (stub).
12302 2016-11-23 Martin Jambor <mjambor@suse.cz>
12304 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12305 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12306 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12308 2016-11-23 Martin Liska <mliska@suse.cz>
12309 Martin Jambor <mjambor@suse.cz>
12311 * plugin/hsa.h: New file.
12312 * plugin/hsa_ext_finalize.h: New file.
12313 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12314 header file unistd.h, and functions secure_getenv, __secure_getenv,
12315 getuid, geteuid, getgid and getegid.
12316 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12318 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12319 Handle various cases of secure_getenv presence, add an implementation
12320 when we can test effective UID and GID.
12321 (struct hsa_runtime_fn_info): New structure.
12322 (hsa_runtime_fn_info hsa_fns): New variable.
12323 (hsa_runtime_lib): Likewise.
12324 (support_cpu_devices): Likewise.
12325 (init_enviroment_variables): Load newly introduced ENV
12327 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12328 (hsa_fatal): Likewise.
12329 (DLSYM_FN): New macro.
12330 (init_hsa_runtime_functions): New function.
12331 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12332 structure. Depending on environment, also allow CPU devices.
12333 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12334 (get_kernarg_memory_region): Likewise.
12335 (GOMP_OFFLOAD_init_device): Likewise.
12336 (destroy_hsa_program): Likewise.
12337 (init_basic_kernel_info): New function.
12338 (GOMP_OFFLOAD_load_image): Use it.
12339 (create_and_finalize_hsa_program): Call hsa run-time functions via
12341 (create_single_kernel_dispatch): Likewise.
12342 (release_kernel_dispatch): Likewise.
12343 (init_single_kernel): Likewise.
12344 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12345 (get_group_size): New function.
12346 (run_kernel): Likewise.
12347 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12348 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12350 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12351 * testsuite/libgomp-test-support.exp.in: Likewise.
12352 * Makefile.in: Regenerated.
12353 * aclocal.m4: Likewise.
12354 * config.h.in: Likewise.
12355 * configure: Likewise.
12356 * testsuite/Makefile.in: Likewise.
12358 2016-11-15 Martin Jambor <mjambor@suse.cz>
12359 Alexander Monakov <amonakov@ispras.ru>
12361 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12362 mapping clauses to target constructs.
12363 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12365 2016-11-15 Matthias Klose <doko@ubuntu.com>
12367 * configure: Regenerate.
12369 2016-11-10 Jakub Jelinek <jakub@redhat.com>
12371 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12372 * omp_lib.h.in (openmp_version): Likewise.
12373 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12375 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12377 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12378 (fib_wrapper): Add map(from: x) clause.
12379 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12380 (e_53_2): Likewise.
12381 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12382 (accum): Add map(tmp) clause.
12383 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12384 (accum): Add map(tofrom: tmp) clause.
12385 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12386 (gramSchmidt): Likewise.
12387 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12388 map(tofrom: sum) clause.
12389 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12390 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12391 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12392 only allowed on the loop iterator.
12393 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12394 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12395 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12396 * testsuite/libgomp.fortran/doacross1.f90: New test.
12397 * testsuite/libgomp.fortran/doacross3.f90: New test.
12398 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12399 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12400 * testsuite/libgomp.fortran/doacross2.f90: New test.
12401 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12402 #pragma omp atomic read.
12403 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12404 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12406 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12407 Nathan Sidwell <nathan@acm.org>
12409 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12410 to determine default geometry.
12411 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12414 2016-11-01 Jakub Jelinek <jakub@redhat.com>
12416 * hashtab.h: Use standard GPLv3 with runtime exception
12419 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
12421 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12422 size when allocating new thread.
12424 2016-09-14 Marek Polacek <polacek@redhat.com>
12426 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12428 2016-08-19 Jakub Jelinek <jakub@redhat.com>
12431 * testsuite/libgomp.fortran/pr71014.f90: New test.
12433 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12435 PR middle-end/70895
12436 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12437 firstprivate clauses.
12438 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12440 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12441 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12442 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12443 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12444 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12445 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12446 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12447 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12448 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12449 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12450 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12451 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12453 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12456 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12458 2016-08-08 Jakub Jelinek <jakub@redhat.com>
12461 * testsuite/libgomp.c++/pr58706.C: New test.
12463 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12465 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12466 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12467 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12469 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12470 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12472 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12474 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12475 test, and don't hardcode -O0.
12477 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12479 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12481 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12483 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12486 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12488 PR middle-end/71734
12489 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12490 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12492 2016-07-01 Jakub Jelinek <jakub@redhat.com>
12495 * testsuite/libgomp.fortran/associate3.f90: New test.
12497 2016-06-17 Jakub Jelinek <jakub@redhat.com>
12499 * testsuite/libgomp.c++/target-21.C: New test.
12501 2016-06-16 Jakub Jelinek <jakub@redhat.com>
12503 * testsuite/libgomp.c++/target-20.C: New test.
12505 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12506 Cesar Philippidis <cesar@codesourcery.com>
12508 PR middle-end/71373
12509 * libgomp.oacc-c/nested-function-1.c: New file.
12510 * libgomp.oacc-c/nested-function-2.c: Likewise.
12511 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12512 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12513 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12515 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12518 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12519 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12520 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12522 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
12524 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12525 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12527 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
12530 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
12532 2016-05-26 Jakub Jelinek <jakub@redhat.com>
12534 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12535 instead of invalid schedule(static, 0).
12536 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12538 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12540 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
12541 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
12542 parameter, use to set async stream around call to gomp_unmap_vars,
12543 call gomp_unmap_vars() with 'do_copyfrom' set to true.
12544 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
12545 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
12546 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
12547 (event_add): Add int parameter, initialize 'val' field when
12548 adding new ptx_event struct.
12549 (nvptx_evec): Adjust event_add() call arguments.
12550 (nvptx_host2dev): Likewise.
12551 (nvptx_dev2host): Likewise.
12552 (nvptx_wait_async): Likewise.
12553 (nvptx_wait_all_async): Likewise.
12554 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
12555 pass to event_add() call.
12556 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
12558 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
12559 call openacc.register_async_cleanup_func() hook.
12560 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
12561 * target.c (gomp_copy_from_async): Delete function.
12562 (gomp_map_vars): Remove async_refcount.
12563 (gomp_unmap_vars): Likewise.
12564 (gomp_load_image_to_device): Likewise.
12565 (omp_target_associate_ptr): Likewise.
12566 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
12567 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
12568 (gomp_copy_from_async): Remove.
12570 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12572 * target.c (gomp_device_copy): New function.
12573 (gomp_copy_host2dev): Likewise.
12574 (gomp_copy_dev2host): Likewise.
12575 (gomp_free_device_memory): Likewise.
12576 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
12577 (gomp_map_pointer): Likewise.
12578 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
12579 NULL value from alloc_func plugin hook.
12580 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
12581 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
12582 (gomp_unmap_vars): Likewise.
12583 (gomp_update): Adjust to call gomp_copy_dev2host and
12584 gomp_copy_host2dev functions.
12585 (gomp_unload_image_from_device): Handle false value from
12586 unload_image_func plugin hook.
12587 (gomp_init_device): Handle false value from init_device_func
12589 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
12590 (omp_target_free): Adjust to call gomp_free_device_memory.
12591 (omp_target_memcpy): Handle return values from host2dev_func,
12592 dev2host_func, and dev2dev_func plugin hooks.
12593 (omp_target_memcpy_rect_worker): Likewise.
12594 (gomp_target_fini): Handle false value from fini_device_func
12596 * libgomp.h (struct gomp_device_descr): Adjust return type of
12597 init_device_func, fini_device_func, unload_image_func, free_func,
12598 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
12599 * oacc-init.c (acc_shutdown_1): Handle false value from
12600 fini_device_func plugin hook.
12601 * oacc-host.c (host_init_device): Change return type to bool.
12602 (host_fini_device): Likewise.
12603 (host_unload_image): Likewise.
12604 (host_free): Likewise.
12605 (host_dev2host): Likewise.
12606 (host_host2dev): Likewise.
12607 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
12608 (acc_memcpy_to_device): Likewise.
12609 (acc_memcpy_from_device): Likewise.
12610 (delete_copyout): Add libfnname parameter, handle free_func
12611 hook fatal error case.
12612 (acc_delete): Adjust delete_copyout call.
12613 (acc_copyout): Likewise.
12614 (update_dev_host): Move gomp_mutex_unlock to after
12615 host2dev/dev2host hook calls.
12617 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
12618 to 'hsa_error_msg', for clarity.
12619 (hsa_fatal): Likewise.
12620 (hsa_error): New function.
12621 (init_hsa_context): Change return type to bool, adjust to return
12623 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
12625 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
12626 return false on error.
12627 (get_agent_info): Adjust to return NULL on error.
12628 (destroy_hsa_program): Change return type to bool, adjust to
12629 return false on error.
12630 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
12631 (destroy_module): Change return type to bool, adjust to
12632 return false on error.
12633 (GOMP_OFFLOAD_unload_image): Likewise.
12634 (GOMP_OFFLOAD_fini_device): Likewise.
12635 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
12636 (GOMP_OFFLOAD_free): Change to return false when called.
12637 (GOMP_OFFLOAD_dev2host): Likewise.
12638 (GOMP_OFFLOAD_host2dev): Likewise.
12639 (GOMP_OFFLOAD_dev2dev): Likewise.
12641 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
12642 (CUDA_CALL): Likewise.
12643 (CUDA_CALL_ASSERT): Likewise.
12644 (map_init): Change return type to bool, use CUDA_CALL* macros.
12645 (map_fini): Likewise.
12646 (init_streams_for_device): Change return type to bool, adjust
12648 (fini_streams_for_device): Change return type to bool, adjust
12650 (select_stream_for_async): Release stream_lock before calls to
12651 GOMP_PLUGIN_fatal, adjust call to map_init.
12652 (nvptx_init): Use CUDA_CALL* macros.
12653 (nvptx_attach_host_thread_to_device): Change return type to bool,
12654 use CUDA_CALL* macros.
12655 (nvptx_open_device): Use CUDA_CALL* macros.
12656 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
12658 (nvptx_get_num_devices): Use CUDA_CALL* macros.
12659 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
12660 (nvptx_exec): Use CUDA_CALL* macros.
12661 (nvptx_alloc): Use CUDA_CALL* macros.
12662 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
12663 (nvptx_host2dev): Likewise.
12664 (nvptx_dev2host): Likewise.
12665 (nvptx_wait): Use CUDA_CALL* macros.
12666 (nvptx_wait_async): Likewise.
12667 (nvptx_wait_all): Likewise.
12668 (nvptx_wait_all_async): Likewise.
12669 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
12670 use CUDA_CALL* macros, adjust call to map_fini.
12671 (GOMP_OFFLOAD_init_device): Change return type to bool,
12672 adjust code accordingly.
12673 (GOMP_OFFLOAD_fini_device): Likewise.
12674 (GOMP_OFFLOAD_load_image): Adjust calls to
12675 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
12676 use CUDA_CALL* macros.
12677 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
12679 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
12680 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
12681 handle error return.
12682 (GOMP_OFFLOAD_dev2host): Likewise.
12683 (GOMP_OFFLOAD_host2dev): Likewise.
12684 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
12685 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
12687 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
12689 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
12690 (acc_free): Likewise.
12691 (acc_memcpy_to_device): Likewise.
12692 (acc_memcpy_from_device): Likewise.
12693 (acc_deviceptr): Likewise.
12694 (acc_hostptr): Likewise.
12695 (acc_is_present): Likewise.
12696 (acc_map_data): Likewise.
12697 (acc_unmap_data): Likewise.
12698 (present_create_copy): Likewise.
12699 (delete_copyout): Likewise.
12700 (update_dev_host): Likewise.
12701 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
12702 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
12703 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
12704 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12705 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
12706 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
12707 it only runs on nvptx targets.
12708 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12709 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12710 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12711 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12712 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12713 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12714 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12715 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12716 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12717 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12718 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12719 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12720 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12721 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12722 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12723 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12724 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12725 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12726 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12727 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12728 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12729 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12730 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12732 2016-05-23 Martin Jambor <mjambor@suse.cz>
12734 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
12736 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
12738 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
12739 to gomp_init_targets_once.
12740 (acc_set_device_type): Remove !cached_base_dev condition on call to
12741 gomp_init_targets_once, move call to before acc_device_lock acquire,
12743 (acc_get_device_num): Remove !cached_base_dev condition on call to
12744 gomp_init_targets_once.
12745 (acc_set_device_num): Likewise.
12747 2016-05-16 Martin Jambor <mjambor@suse.cz>
12749 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
12751 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
12753 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
12754 expected partitioning.
12756 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
12758 PR middle-end/70626
12759 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
12760 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
12761 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
12763 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
12765 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
12768 2016-04-19 Jakub Jelinek <jakub@redhat.com>
12770 PR middle-end/70680
12771 * testsuite/libgomp.c/pr70680-1.c: New test.
12772 * testsuite/libgomp.c/pr70680-2.c: New test.
12774 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
12776 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
12777 pass parameter variables to subroutines.
12779 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
12781 PR middle-end/70643
12782 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
12784 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
12787 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
12788 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12790 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
12792 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
12793 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
12794 GOACC_declare prototype.
12796 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
12797 Merge this file, and...
12798 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
12799 ... this file, and...
12800 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
12801 ... this file, and...
12802 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
12803 ... this file, and...
12804 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
12805 ... this file, and...
12806 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
12807 ... this file, and...
12808 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
12809 ... this file, and...
12810 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
12811 ... this file, and...
12812 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
12813 ... this file, and...
12814 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
12815 ... this file, and...
12816 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
12817 ... this file, and...
12818 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
12819 ... this file, and...
12820 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
12821 ... this file into...
12822 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
12825 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
12826 Make failure observable.
12828 2016-04-12 Jakub Jelinek <jakub@redhat.com>
12830 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
12832 * target.c (gomp_target_fallback_firstprivate,
12833 gomp_target_unshare_firstprivate): Removed.
12834 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
12835 before waiting for dependencies.
12836 (gomp_target_task_fn): Don't copy firstprivate vars here.
12837 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
12838 firstprivate_copies here.
12839 (gomp_create_target_task): Don't initialize firstprivate_copies field.
12840 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
12841 explicit/implicit firstprivate.
12843 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
12847 PR tree-optimization/70373
12848 PR middle-end/70533
12849 PR middle-end/70534
12850 PR middle-end/70535
12851 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
12853 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
12855 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
12857 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
12859 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
12861 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
12863 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
12865 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
12867 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
12869 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
12870 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
12871 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
12872 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
12874 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
12876 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
12878 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
12880 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
12882 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
12883 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12884 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
12885 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
12886 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
12887 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
12889 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
12894 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
12895 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
12896 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
12897 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
12898 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12899 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12900 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12901 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12902 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12903 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
12905 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
12906 James Norris <jnorris@codesourcery.com>
12907 Nathan Sidwell <nathan@codesourcery.com>
12908 Julian Brown <julian@codesourcery.com>
12909 Cesar Philippidis <cesar@codesourcery.com>
12910 Chung-Lin Tang <cltang@codesourcery.com>
12911 Tom de Vries <tom@codesourcery.com>
12913 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
12914 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12915 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12916 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
12917 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12918 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12919 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12920 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12921 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12923 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
12925 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
12927 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
12928 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
12929 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
12930 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
12932 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
12934 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12935 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
12936 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
12937 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
12938 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12939 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12940 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12941 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12942 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12943 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
12945 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
12946 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12947 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
12949 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
12951 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
12953 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
12955 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
12957 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
12958 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
12959 ... this new file. Update.
12960 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
12961 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
12962 ... this new file. Update.
12963 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
12964 file. Incorporate...
12965 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
12967 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
12969 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
12971 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
12973 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
12975 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
12976 set-torture-options.
12978 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
12980 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
12982 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12983 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
12984 -fno-builtin-acc_on_device instead of -O0.
12985 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
12987 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12988 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
12990 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12991 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12992 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12993 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12994 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12995 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12996 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12997 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12998 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12999 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13000 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13001 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13002 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13003 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13004 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13005 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13006 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13007 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13009 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13011 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13014 2016-03-24 Martin Liska <mliska@suse.cz>
13016 * plugin/plugin-hsa.c (packet_store_release): New function
13017 that is taken from the HSA runtime manual.
13018 (GOMP_OFFLOAD_run): Use the function.
13020 2016-03-23 Jakub Jelinek <jakub@redhat.com>
13023 * testsuite/libgomp.c++/pr70376.C: New test.
13025 2016-03-23 Tom de Vries <tom@codesourcery.com>
13027 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13028 initialization of lresult and lvresult.
13029 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13031 2016-03-23 James Norris <jnorris@codesourcery.com>
13032 Daichi Fukuoka <dc-fukuoka@sgi.com>
13035 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13036 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13037 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13038 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13040 2016-03-23 Martin Liska <mliska@suse.cz>
13043 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13044 argument just in case a dispatched kernel uses that argument.
13046 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13048 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13049 -ftree-parallelize-loops/-fopenacc changes.
13050 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13052 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13054 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13056 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13058 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13059 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13061 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13063 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13064 always_ld_library_path the path to libgcc_s.
13066 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13069 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13071 2016-03-09 Tom de Vries <tom@codesourcery.com>
13073 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13074 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13075 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13077 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13078 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13079 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13080 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13082 2016-03-07 Martin Jambor <mjambor@suse.cz>
13084 * testsuite/lib/libgomp.exp
13085 (check_effective_target_hsa_offloading_selected_nocache): New.
13086 (check_effective_target_hsa_offloading_selected): Likewise.
13087 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13088 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13089 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13090 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13091 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13092 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13093 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13094 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13095 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13096 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13097 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13098 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13099 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13100 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13101 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13102 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13103 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13105 2016-03-07 Martin Jambor <mjambor@suse.cz>
13107 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13108 non-shared memory accelerators.
13109 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13110 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13111 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13112 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13113 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13114 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13115 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13116 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13117 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13119 2016-03-07 Martin Jambor <mjambor@suse.cz>
13121 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13124 2016-03-02 Jakub Jelinek <jakub@redhat.com>
13127 * testsuite/libgomp.c++/pr69555-1.C: New test.
13128 * testsuite/libgomp.c++/pr69555-2.C: New test.
13130 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13131 Martin Jambor <mjambor@suse.cz>
13133 * testsuite/lib/libgomp.exp
13134 (check_effective_target_offload_device_shared_as): New proc.
13135 * testsuite/libgomp.c++/declare_target-1.C: New test.
13137 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13140 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13142 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13144 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13145 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13147 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13148 -ftree-parallelize-loops/-fopenacc changes.
13149 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13150 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13152 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13154 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13156 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13158 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13160 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13162 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13164 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13165 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13167 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13168 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13170 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13171 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13174 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13176 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13178 2016-02-19 Jakub Jelinek <jakub@redhat.com>
13181 * testsuite/libgomp.c/pr69805.c: New test.
13183 2016-02-16 Tom de Vries <tom@codesourcery.com>
13186 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13188 2016-02-09 Tom de Vries <tom@codesourcery.com>
13190 PR tree-optimization/69599
13191 * testsuite/libgomp.c/omp-nested-3.c: New test.
13192 * testsuite/libgomp.c/pr46032-2.c: New test.
13193 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13194 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13196 2016-02-09 Tom de Vries <tom@codesourcery.com>
13199 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13201 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13203 * testsuite/libgomp.c/target-31.c: Fix testcase.
13205 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13207 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13209 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13210 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13211 reduction and map clauses.
13212 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13214 2016-02-02 James Norris <jnorris@codesourcery.com>
13216 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13218 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13220 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13221 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13223 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13226 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13228 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13229 (hsa_kmt_lib): Set variables.
13230 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13231 always_ld_library_path.
13232 * Makefile.in: Regenerate.
13233 * configure: Likewise.
13234 * testsuite/Makefile.in: Likewise.
13236 * plugin/configfrag.ac (offload_additional_options)
13237 (offload_additional_lib_paths): Don't amend for hsa offloading.
13238 * configure: Regenerate.
13240 * plugin/configfrag.ac: Don't configure for offloading target if
13241 we don't build the corresponding plugin.
13242 * configure: Regenerate.
13244 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13246 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13247 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13249 2016-01-26 Tom de Vries <tom@codesourcery.com>
13251 PR tree-optimization/69110
13252 * testsuite/libgomp.c/pr69110.c: New test.
13254 2016-01-25 Richard Biener <rguenther@suse.de>
13257 * testsuite/libgomp.c++/pr69393.C: New testcase.
13259 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13261 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13262 function wasn't mapped to the device with non-shared memory.
13264 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13266 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13268 2016-01-19 Martin Jambor <mjambor@suse.cz>
13269 Martin Liska <mliska@suse.cz>
13271 * plugin/Makefrag.am: Add HSA plugin requirements.
13272 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13273 (HSA_RUNTIME_LIB): Likewise.
13274 (HSA_RUNTIME_CPPFLAGS): Likewise.
13275 (HSA_RUNTIME_INCLUDE): New substitution.
13276 (HSA_RUNTIME_LIB): Likewise.
13277 (HSA_RUNTIME_LDFLAGS): Likewise.
13278 (hsa-runtime): New configure option.
13279 (hsa-runtime-include): Likewise.
13280 (hsa-runtime-lib): Likewise.
13281 (PLUGIN_HSA): New substitution variable.
13282 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13284 (PLUGIN_HSA_CPPFLAGS): Likewise.
13285 (PLUGIN_HSA_LDFLAGS): Likewise.
13286 (PLUGIN_HSA_LIBS): Likewise.
13287 Check that we have access to HSA run-time.
13288 * libgomp-plugin.h (offload_target_type): New element
13289 OFFLOAD_TARGET_TYPE_HSA.
13290 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13292 (bool gomp_create_target_task): Updated.
13293 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13294 new field can_run_func.
13295 * libgomp_g.h (GOMP_target_ext): Update prototype.
13296 * oacc-host.c (host_run): Added a new parameter args.
13297 * target.c (calculate_firstprivate_requirements): New function.
13298 (copy_firstprivate_data): Likewise.
13299 (gomp_target_fallback_firstprivate): Use them.
13300 (gomp_target_unshare_firstprivate): New function.
13301 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13303 (GOMP_target): Do host fallback for all shared memory devices. Do not
13304 pass any args to plugins.
13305 (GOMP_target_ext): Introduce device-specific argument parameter args.
13306 Allow host fallback if device shares memory. Do not remap data if
13307 device has shared memory.
13308 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13309 like host fallback for mappings.
13310 (GOMP_target_data): Treat shared memory devices like host fallback.
13311 (GOMP_target_data_ext): Likewise.
13312 (GOMP_target_update): Likewise.
13313 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13314 gomp_create_target_task.
13315 (GOMP_target_enter_exit_data): Likewise.
13316 (omp_target_alloc): Treat shared memory devices like host fallback.
13317 (omp_target_free): Likewise.
13318 (omp_target_is_present): Likewise.
13319 (omp_target_memcpy): Likewise.
13320 (omp_target_memcpy_rect): Likewise.
13321 (omp_target_associate_ptr): Likewise.
13322 (gomp_load_plugin_for_device): Also load can_run.
13323 * task.c (GOMP_PLUGIN_target_task_completion): Free
13324 firstprivate_copies.
13325 (gomp_create_target_task): Accept new argument args and store it to
13327 * plugin/plugin-hsa.c: New file.
13329 2016-01-18 Tom de Vries <tom@codesourcery.com>
13331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13332 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13334 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13336 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13337 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13338 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13339 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13340 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13341 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13345 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13346 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13347 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13348 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13349 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13350 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13351 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13352 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13354 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13356 2016-01-15 Jakub Jelinek <jakub@redhat.com>
13358 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13360 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13362 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13364 2016-01-12 James Norris <jnorris@codesourcery.com>
13366 * libgomp.texi: Updates for OpenACC.
13368 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
13370 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13372 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13375 * testsuite/libgomp.fortran/pr66680.f90: New test.
13377 2016-01-07 Jakub Jelinek <jakub@redhat.com>
13379 PR middle-end/68960
13380 * testsuite/libgomp.c/pr68960.c: New test.
13382 2016-01-06 Nathan Sidwell <nathan@acm.org>
13384 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13385 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13387 2016-01-04 Jakub Jelinek <jakub@redhat.com>
13389 Update copyright years.
13391 * libgomp.texi: Bump @copying's copyright year.
13393 2015-12-31 Nathan Sidwell <nathan@acm.org>
13395 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13396 dg-additional-options syntax.
13397 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13398 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13399 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13400 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13401 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13402 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13403 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13404 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13405 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13406 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13407 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13408 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13409 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13410 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13411 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13412 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13413 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13414 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13416 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13418 * libgomp.h (REFCOUNT_LINK): Define.
13419 (struct splay_tree_key_s): Add link_key.
13420 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13421 Replace target address of the pointer with target address of newly
13422 mapped object in the splay tree. Set link pointer on target to the
13423 device address of the mapped object.
13424 (gomp_unmap_vars): Restore target address of the pointer in the splay
13425 tree for REFCOUNT_LINK objects after unmapping.
13426 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13427 declare target link" objects.
13428 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13429 "omp declare target link" objects, which were mapped for the image.
13430 (gomp_exit_data): Restore target address of the pointer in the splay
13431 tree for REFCOUNT_LINK objects after unmapping.
13432 * testsuite/libgomp.c/target-link-1.c: New file.
13434 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13436 * libgomp.h (gomp_device_state): New enum.
13437 (struct gomp_device_descr): Replace is_initialized with state.
13438 (gomp_fini_device): Remove declaration.
13439 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13440 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13441 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13442 (acc_set_device_type): Use state instead of is_initialized.
13443 (acc_set_device_num): Likewise.
13444 * target.c (resolve_device): Use state instead of is_initialized.
13445 Do not initialize finalized device.
13446 (gomp_map_vars): Do nothing if device is finalized.
13447 (gomp_unmap_vars): Likewise.
13448 (gomp_update): Likewise.
13449 (GOMP_offload_register_ver): Use state instead of is_initialized.
13450 (GOMP_offload_unregister_ver): Likewise.
13451 (gomp_init_device): Likewise.
13452 (gomp_unload_device): Likewise.
13453 (gomp_fini_device): Remove.
13454 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13455 (GOMP_target): Go to host fallback if device is finalized.
13456 (GOMP_target_ext): Likewise.
13457 (gomp_exit_data): Do nothing if device is finalized.
13458 (gomp_target_task_fn): Go to host fallback if device is finalized.
13459 (gomp_target_fini): New static function.
13460 (gomp_target_init): Use state instead of is_initialized.
13461 Call gomp_target_fini at exit.
13463 2015-12-09 Tom de Vries <tom@codesourcery.com>
13465 PR tree-optimization/68716
13466 * testsuite/libgomp.c/omp-nested-2.c: New test.
13468 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13470 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13471 target openacc_nvidia_accel_selected.
13472 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13473 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13474 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13475 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13477 2015-12-01 Julian Brown <julian@codesourcery.com>
13478 James Norris <James_Norris@mentor.com>
13480 * oacc-parallel.c (GOACC_host_data): New function.
13481 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13482 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13483 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13484 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13485 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13486 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13487 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13489 2015-11-30 James Norris <jnorris@codesourcery.com>
13490 Cesar Philippidis <cesar@codesourcery.com>
13493 * libgomp.oacc-fortran/routine-5.f90: New test.
13494 * libgomp.oacc-fortran/routine-7.f90: New test.
13495 * libgomp.oacc-fortran/routine-9.f90: New test.
13497 2015-11-30 Tom de Vries <tom@codesourcery.com>
13499 PR tree-optimization/46032
13500 * testsuite/libgomp.c/pr46032.c: New test.
13502 2015-11-27 Jakub Jelinek <jakub@redhat.com>
13505 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13506 (gomp_create_target_task): Call it before freeing
13507 GOMP_TARGET_TASK_DATA tasks.
13510 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13511 in between case label and OpenMP standalone directives.
13512 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13514 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
13516 * configure: Regenerate.
13518 2015-11-26 Jakub Jelinek <jakub@redhat.com>
13520 * testsuite/libgomp.c/target-35.c: New test.
13522 2015-11-22 James Norris <jnorris@codesourcery.com>
13523 Cesar Philippidis <cesar@codesourcery.com>
13525 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13526 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13527 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13528 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13529 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13531 2015-11-20 Jakub Jelinek <jakub@redhat.com>
13533 PR middle-end/68221
13534 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13535 * testsuite/libgomp.c/reduction-12.c: Likewise.
13536 * testsuite/libgomp.c++/reduction-11.C: Likewise.
13537 * testsuite/libgomp.c++/reduction-12.C: Likewise.
13539 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
13541 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
13542 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
13543 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
13544 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
13545 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
13547 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13548 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13550 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
13552 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
13553 worker & gang cases.
13554 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13556 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
13558 * config/nvptx/priority_queue.c: New file.
13560 2015-11-14 Jakub Jelinek <jakub@redhat.com>
13562 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
13565 2015-11-14 Jakub Jelinek <jakub@redhat.com>
13566 Aldy Hernandez <aldyh@redhat.com>
13567 Ilya Verbin <ilya.verbin@intel.com>
13569 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
13570 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
13571 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
13572 iterators or IV by chunk size.
13573 * parallel.c (gomp_resolve_num_threads): Don't assume that
13574 if thr->ts.team is non-NULL, then pool must be non-NULL.
13575 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
13576 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
13577 GOMP_PLUGIN_target_task_completion.
13578 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
13579 * Makefile.in: Regenerate.
13580 * libgomp.h: Shuffle prototypes and forward definitions around so
13581 priority queues can be defined.
13582 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
13583 (enum gomp_target_task_state): New enum.
13584 (struct gomp_target_task): Add state, tgt, task and team fields.
13585 (gomp_create_target_task): Change return type to bool, add
13587 (gomp_target_task_fn): Change return type to bool.
13588 (struct gomp_device_descr): Add async_run_func.
13589 (struct gomp_task): Remove children, next_child, prev_child,
13590 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
13592 (struct gomp_taskgroup): Remove children.
13593 Add taskgroup_queue.
13594 (struct gomp_team): Change task_queue type to a priority queue.
13595 (splay_compare): Define inline.
13596 (priority_queue_offset): New.
13597 (priority_node_to_task): New.
13598 (task_to_priority_node): New.
13599 * oacc-mem.c: Do not include splay-tree.h.
13600 * priority_queue.c: New file.
13601 * priority_queue.h: New file.
13602 * splay-tree.c: Do not include splay-tree.h.
13603 (splay_tree_foreach_internal): New.
13604 (splay_tree_foreach): New.
13605 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
13606 (splay_tree_callback): Define typedef.
13607 * target.c (splay_compare): Move to libgomp.h.
13608 (GOMP_target): Don't adjust *thr in any way around running offloaded
13610 (GOMP_target_ext): Likewise. Handle target nowait.
13611 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
13612 return value from gomp_create_target_task, if false, fallthrough
13613 as if no dependencies exist.
13614 (gomp_target_task_fn): Change return type to bool, return true
13615 if the task should have another part scheduled later. Handle
13617 (gomp_load_plugin_for_device): Initialize async_run.
13618 * task.c (gomp_init_task): Initialize children_queue.
13619 (gomp_clear_parent_in_list): New.
13620 (gomp_clear_parent_in_tree): New.
13621 (gomp_clear_parent): Handle priorities.
13622 (GOMP_task): Likewise.
13623 (priority_queue_move_task_first,
13624 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
13626 (gomp_create_target_task): Use priority queues. Change return type
13627 to bool, add state argument, return false if for async
13628 {{enter,exit} data,update} constructs no dependencies need to be
13629 waited for, handle target nowait. Set task->fn to NULL instead of
13630 gomp_target_task_fn.
13631 (verify_children_queue): Remove.
13632 (priority_list_upgrade_task): New.
13633 (priority_queue_upgrade_task): New.
13634 (verify_task_queue): Remove.
13635 (priority_list_downgrade_task): New.
13636 (priority_queue_downgrade_task): New.
13637 (gomp_task_run_pre): Use priority queues.
13638 Abstract code out to priority_queue_downgrade_task.
13639 (gomp_task_run_post_handle_dependers): Use priority queues.
13640 (gomp_task_run_post_remove_parent): Likewise.
13641 (gomp_task_run_post_remove_taskgroup): Likewise.
13642 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
13644 (GOMP_taskwait): Likewise.
13645 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
13646 priority-queue_upgrade_task.
13647 (GOMP_taskgroup_start): Use priority queues.
13648 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
13649 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
13651 * taskloop.c (GOMP_taskloop): Handle priorities.
13652 * team.c (gomp_new_team): Call priority_queue_init.
13653 (free_team): Call priority_queue_free.
13654 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
13655 team created for target nowait in implicit parallel region.
13656 (gomp_team_start): For nested check, test thr->ts.level instead of
13657 thr->ts.team != NULL.
13658 * testsuite/libgomp.c/doacross-3.c: New test.
13659 * testsuite/libgomp.c/ordered-5.c: New test.
13660 * testsuite/libgomp.c/priority.c: New test.
13661 * testsuite/libgomp.c/target-31.c: New test.
13662 * testsuite/libgomp.c/target-32.c: New test.
13663 * testsuite/libgomp.c/target-33.c: New test.
13664 * testsuite/libgomp.c/target-34.c: New test.
13666 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
13668 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
13670 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
13671 loop is sequential.
13673 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
13675 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
13676 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
13678 2015-11-12 James Norris <jnorris@codesourcery.com>
13679 Joseph Myers <joseph@codesourcery.com>
13681 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
13682 * oacc-parallel.c (GOACC_declare): New function.
13683 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
13684 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
13685 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
13686 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
13687 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
13689 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
13691 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
13693 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
13695 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
13696 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
13698 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
13700 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
13701 inadvertent commit.
13703 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
13705 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
13706 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
13707 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
13708 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
13709 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
13711 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
13713 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
13714 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13716 2015-11-05 Jakub Jelinek <jakub@redhat.com>
13717 Ilya Verbin <ilya.verbin@intel.com>
13719 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
13720 GOMP_loop_nonmonotonic_dynamic_start,
13721 GOMP_loop_nonmonotonic_guided_next,
13722 GOMP_loop_nonmonotonic_guided_start,
13723 GOMP_loop_ull_nonmonotonic_dynamic_next,
13724 GOMP_loop_ull_nonmonotonic_dynamic_start,
13725 GOMP_loop_ull_nonmonotonic_guided_next,
13726 GOMP_loop_ull_nonmonotonic_guided_start,
13727 GOMP_parallel_loop_nonmonotonic_dynamic,
13728 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
13729 (GOMP_target_41): Renamed to ...
13730 (GOMP_target_ext): ... this. Add num_teams and thread_limit
13732 (GOMP_target_data_41): Renamed to ...
13733 (GOMP_target_data_ext): ... this.
13734 (GOMP_target_update_41): Renamed to ...
13735 (GOMP_target_update_ext): ... this.
13736 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
13737 GOMP_target_data_ext and GOMP_target_update_ext instead of
13738 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
13739 Export GOMP_loop_nonmonotonic_dynamic_next,
13740 GOMP_loop_nonmonotonic_dynamic_start,
13741 GOMP_loop_nonmonotonic_guided_next,
13742 GOMP_loop_nonmonotonic_guided_start,
13743 GOMP_loop_ull_nonmonotonic_dynamic_next,
13744 GOMP_loop_ull_nonmonotonic_dynamic_start,
13745 GOMP_loop_ull_nonmonotonic_guided_next,
13746 GOMP_loop_ull_nonmonotonic_guided_start,
13747 GOMP_parallel_loop_nonmonotonic_dynamic and
13748 GOMP_parallel_loop_nonmonotonic_guided.
13749 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
13750 GOMP_parallel_loop_nonmonotonic_guided,
13751 GOMP_loop_nonmonotonic_dynamic_start,
13752 GOMP_loop_nonmonotonic_guided_start,
13753 GOMP_loop_nonmonotonic_dynamic_next,
13754 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
13755 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
13756 GOMP_loop_ull_nonmonotonic_guided_start,
13757 GOMP_loop_ull_nonmonotonic_dynamic_next,
13758 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
13759 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
13761 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
13762 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
13763 Use gomp_map_val function.
13764 (gomp_target_fallback_firstprivate): New static function.
13765 (GOMP_target_41): Renamed to ...
13766 (GOMP_target_ext): ... this. Add num_teams and thread_limit
13767 arguments. Move firstprivate fallback handling into a new
13769 (GOMP_target_data_41): Renamed to ...
13770 (GOMP_target_data_ext): ... this.
13771 (GOMP_target_update_41): Renamed to ...
13772 (GOMP_target_update_ext): ... this.
13773 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
13774 gomp_map_0len_lookup instead of gomp_map_lookup.
13775 (omp_target_is_present): Use gomp_map_0len_lookup instead of
13777 * testsuite/libgomp.c/target-28.c: Likewise.
13778 * testsuite/libgomp.c/monotonic-1.c: New test.
13779 * testsuite/libgomp.c/monotonic-2.c: New test.
13780 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
13781 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
13782 * testsuite/libgomp.c/pr66199-5.c: New test.
13783 * testsuite/libgomp.c/pr66199-6.c: New test.
13784 * testsuite/libgomp.c/pr66199-7.c: New test.
13785 * testsuite/libgomp.c/pr66199-8.c: New test.
13786 * testsuite/libgomp.c/pr66199-9.c: New test.
13787 * testsuite/libgomp.c/reduction-11.c: New test.
13788 * testsuite/libgomp.c/reduction-12.c: New test.
13789 * testsuite/libgomp.c/reduction-13.c: New test.
13790 * testsuite/libgomp.c/reduction-14.c: New test.
13791 * testsuite/libgomp.c/reduction-15.c: New test.
13792 * testsuite/libgomp.c/target-12.c (main): Adjust for
13793 omp_target_is_present change for one-past-last element.
13794 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
13795 the same var is both mapped and privatized.
13796 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
13797 handling of zero-length array sections.
13798 * testsuite/libgomp.c/target-28.c: New test.
13799 * testsuite/libgomp.c/target-29.c: New test.
13800 * testsuite/libgomp.c/target-30.c: New test.
13801 * testsuite/libgomp.c/target-teams-1.c: New test.
13802 * testsuite/libgomp.c++/member-6.C: New test.
13803 * testsuite/libgomp.c++/member-7.C: New test.
13804 * testsuite/libgomp.c++/monotonic-1.C: New test.
13805 * testsuite/libgomp.c++/monotonic-2.C: New test.
13806 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
13807 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
13808 * testsuite/libgomp.c++/pr66199-3.C: New test.
13809 * testsuite/libgomp.c++/pr66199-4.C: New test.
13810 * testsuite/libgomp.c++/pr66199-5.C: New test.
13811 * testsuite/libgomp.c++/pr66199-6.C: New test.
13812 * testsuite/libgomp.c++/pr66199-7.C: New test.
13813 * testsuite/libgomp.c++/pr66199-8.C: New test.
13814 * testsuite/libgomp.c++/pr66199-9.C: New test.
13815 * testsuite/libgomp.c++/reduction-11.C: New test.
13816 * testsuite/libgomp.c++/reduction-12.C: New test.
13817 * testsuite/libgomp.c++/target-13.C: New test.
13818 * testsuite/libgomp.c++/target-14.C: New test.
13819 * testsuite/libgomp.c++/target-15.C: New test.
13820 * testsuite/libgomp.c++/target-16.C: New test.
13821 * testsuite/libgomp.c++/target-17.C: New test.
13822 * testsuite/libgomp.c++/target-18.C: New test.
13823 * testsuite/libgomp.c++/target-19.C: New test.
13825 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
13827 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
13828 and reduction copy.
13829 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13830 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13831 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13832 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13833 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
13834 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13835 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13836 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13837 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13838 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
13839 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13840 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13841 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13842 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
13844 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
13846 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
13847 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
13848 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
13849 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
13850 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
13851 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
13852 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
13853 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
13855 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
13857 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
13858 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
13859 (GOMP_OFFLOAD_openacc_parallel): Likewise.
13860 * oacc-host.c (host_openacc_exec): Likewise.
13861 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
13863 2015-11-03 Julian Brown <julian@codesourcery.com>
13864 Thomas Schwinge <thomas@codesourcery.com>
13866 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
13867 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13868 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
13870 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
13871 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
13873 2015-11-03 James Norris <jnorris@codesourcery.com>
13875 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
13877 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
13879 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
13880 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
13881 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
13882 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
13883 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
13885 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
13887 * openacc.h (enum acc_device_t): Reformat. Ensure layout
13889 (enum acc_async_t): Reformat.
13890 (acc_on_device): Declare compatible with builtin and provide C++
13892 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
13894 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
13895 Cesar Philippidis <cesar@codesourcery.com>
13897 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
13898 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
13899 ... this. Add a description of the test at the top of the file.
13900 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
13901 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
13902 ... this. Add a description of the test at the top of the file.
13904 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
13906 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
13907 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
13908 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
13909 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
13910 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
13911 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
13913 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
13915 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
13918 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
13921 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
13923 2015-10-27 James Norris <jnorris@codesourcery.com>
13925 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
13926 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
13928 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
13930 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
13931 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13933 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
13934 acc_device_nvidia usage.
13935 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13936 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13937 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13939 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
13940 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
13943 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
13947 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
13948 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
13950 2015-10-23 Tom de Vries <tom@codesourcery.com>
13953 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
13955 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
13957 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
13959 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13961 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
13962 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
13964 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
13965 to 0 when mapnum is 0.
13967 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
13969 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
13970 Cast to int from int32_t.
13972 2015-10-13 Jakub Jelinek <jakub@redhat.com>
13973 Aldy Hernandez <aldyh@redhat.com>
13974 Ilya Verbin <ilya.verbin@intel.com>
13976 * config/linux/affinity.c (omp_get_place_num_procs,
13977 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13978 * config/linux/doacross.h: New file.
13979 * config/posix/affinity.c (omp_get_place_num_procs,
13980 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13981 * config/posix/doacross.h: New file.
13982 * env.c: Include gomp-constants.h.
13983 (struct gomp_task_icv): Rename run_sched_modifier to
13984 run_sched_chunk_size.
13985 (gomp_max_task_priority_var): New variable.
13986 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
13987 (handle_omp_display_env): Change _OPENMP value from 201307 to
13988 201511. Print OMP_MAX_TASK_PRIORITY.
13989 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
13990 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
13991 chunk_size and run_sched_modifier to run_sched_chunk_size.
13992 (omp_get_max_task_priority, omp_get_initial_device,
13993 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
13994 omp_get_partition_place_nums): New functions.
13995 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
13996 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
13998 (omp_get_num_places_, omp_get_place_num_procs_,
13999 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14000 omp_get_place_proc_ids_8_, omp_get_place_num_,
14001 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14002 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14003 omp_get_max_task_priority_): New functions.
14004 * libgomp_g.h (GOMP_loop_doacross_static_start,
14005 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14006 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14007 GOMP_loop_ull_doacross_dynamic_start,
14008 GOMP_loop_ull_doacross_guided_start,
14009 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14010 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14011 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14012 GOMP_target_data_41, GOMP_target_update_41,
14013 GOMP_target_enter_exit_data): New prototypes.
14014 (GOMP_task): Add prototype argument.
14015 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14016 (struct gomp_doacross_work_share): New type.
14017 (struct gomp_work_share): Add doacross field.
14018 (struct gomp_task_icv): Rename run_sched_modifier to
14019 run_sched_chunk_size.
14020 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14021 GOMP_TASK_UNDEFERRED. Add comments.
14022 (struct gomp_task_depend_entry): Add comments.
14023 (struct gomp_task): Likewise.
14024 (struct gomp_taskgroup): Likewise.
14025 (struct gomp_target_task): New type.
14026 (struct gomp_team): Add comment.
14027 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14028 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14029 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14030 (struct target_var_desc): New type.
14031 (struct target_mem_desc): Adjust comment. Use struct
14032 target_var_desc instead of splay_tree_key for list.
14033 (REFCOUNT_INFINITY): Define.
14034 (struct splay_tree_key_s): Remove copy_from field.
14035 (struct gomp_device_descr): Add dev2dev_func field.
14036 (enum gomp_map_vars_kind): New enum.
14037 (gomp_map_vars): Add one argument.
14038 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14039 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14040 omp_get_place_num_procs, omp_get_place_num_procs_,
14041 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14042 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14043 omp_get_place_num_, omp_get_partition_num_places,
14044 omp_get_partition_num_places_, omp_get_partition_place_nums,
14045 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14046 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14047 omp_target_free, omp_target_is_present, omp_target_memcpy,
14048 omp_target_memcpy_rect, omp_target_associate_ptr and
14049 omp_target_disassociate_ptr.
14050 (GOMP_4.0.2): Renamed to ...
14051 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14052 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14053 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14054 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14055 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14056 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14057 GOMP_loop_ull_doacross_guided_start,
14058 GOMP_loop_ull_doacross_runtime_start,
14059 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14060 GOMP_doacross_ull_wait.
14061 * libgomp.texi: Document omp_get_max_task_priority.
14062 Rename modifier argument to chunk_size for omp_set_schedule and
14063 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14064 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14065 to run_sched_chunk_size renaming.
14066 (GOMP_loop_ordered_runtime_start): Likewise.
14067 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14068 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14069 GOMP_parallel_loop_runtime_start): New functions.
14070 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14071 to run_sched_chunk_size renaming.
14072 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14073 GOMP_loop_doacross_guided_start): New functions or aliases.
14074 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14075 run_sched_modifier to run_sched_chunk_size renaming.
14076 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14077 (gomp_loop_ull_doacross_static_start,
14078 gomp_loop_ull_doacross_dynamic_start,
14079 gomp_loop_ull_doacross_guided_start,
14080 GOMP_loop_ull_doacross_runtime_start): New functions.
14081 (GOMP_loop_ull_doacross_static_start,
14082 GOMP_loop_ull_doacross_dynamic_start,
14083 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14084 * oacc-mem.c (acc_map_data, present_create_copy,
14085 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14087 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14088 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14089 instead of false to gomp_map_vars.
14090 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14091 * omp.h.in (omp_lock_hint_t): New type.
14092 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14093 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14094 omp_get_place_num, omp_get_partition_num_places,
14095 omp_get_partition_place_nums, omp_get_initial_device,
14096 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14097 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14098 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14100 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14101 (omp_lock_hint_none, omp_lock_hint_uncontended,
14102 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14103 omp_lock_hint_speculative): New parameters.
14104 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14105 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14106 omp_get_place_num, omp_get_partition_num_places,
14107 omp_get_partition_place_nums, omp_get_initial_device,
14108 omp_get_max_task_priority): New interfaces.
14109 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14111 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14112 (omp_lock_hint_none, omp_lock_hint_uncontended,
14113 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14114 omp_lock_hint_speculative): New parameters.
14115 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14116 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14117 omp_get_place_num, omp_get_partition_num_places,
14118 omp_get_partition_place_nums, omp_get_initial_device,
14119 omp_get_max_task_priority): New functions and subroutines.
14120 * ordered.c: Include stdarg.h and string.h.
14121 (MAX_COLLAPSED_BITS): Define.
14122 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14123 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14124 GOMP_doacross_ull_wait): New functions.
14125 * target.c: Include errno.h.
14126 (resolve_device): If device is not initialized, call
14127 gomp_init_device on it.
14128 (gomp_map_lookup): New function.
14129 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14130 Don't bump refcount if REFCOUNT_INFINITY. Handle
14131 GOMP_MAP_ALWAYS_TO_P.
14132 (get_kind): Rename is_openacc argument to short_mapkind.
14133 (gomp_map_pointer): Use gomp_map_lookup.
14134 (gomp_map_fields_existing): New function.
14135 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14136 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14137 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14138 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14139 Adjust for tgt->list changed type and copy_from living in there.
14140 (gomp_copy_from_async): Adjust for tgt->list changed type and
14141 copy_from living in there.
14142 (gomp_unmap_vars): Likewise.
14143 (gomp_update): Likewise. Rename is_openacc argument to
14144 short_mapkind. Don't fail if object is not mapped.
14145 (gomp_load_image_to_device): Initialize refcount to
14147 (gomp_target_fallback): New function.
14148 (gomp_get_target_fn_addr): Likewise.
14149 (GOMP_target): Adjust gomp_map_vars caller, use
14150 gomp_get_target_fn_addr and gomp_target_fallback.
14151 (GOMP_target_41): New function.
14152 (gomp_target_data_fallback): New function.
14153 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14154 (GOMP_target_data_41): New function.
14155 (GOMP_target_update): Adjust gomp_update caller.
14156 (GOMP_target_update_41): New function.
14157 (gomp_exit_data, GOMP_target_enter_exit_data,
14158 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14159 omp_target_is_present, omp_target_memcpy,
14160 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14161 omp_target_associate_ptr, omp_target_disassociate_ptr,
14162 gomp_load_plugin_for_device): New functions.
14163 * task.c: Include gomp-constants.h. Include taskloop.c
14164 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14165 (gomp_task_handle_depend): New function.
14166 (GOMP_task): Use it. Add priority argument. Use
14167 gomp-constant.h constants instead of hardcoded numbers.
14168 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14169 (gomp_create_target_task): New function.
14170 (verify_children_queue, verify_taskgroup_queue,
14171 verify_task_queue): New functions.
14172 (gomp_task_run_pre): Call verify_*_queue functions.
14173 If an upcoming tied task is about to leave the sibling or
14174 taskgroup queues in an invalid state, adjust appropriately.
14175 Remove taskgroup argument. Add comments.
14176 (gomp_task_run_post_handle_dependers): Add comments.
14177 (gomp_task_run_post_remove_parent): Likewise.
14178 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14179 (GOMP_taskwait): Likewise. Add comments.
14180 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14181 problem such that the first non parent_depends_on task does not
14182 end up at the end of the children queue.
14183 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14184 GOMP_TASK_UNDEFERRED.
14185 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14186 * taskloop.c: New file.
14187 * testsuite/lib/libgomp.exp
14188 (check_effective_target_offload_device_nonshared_as): New proc.
14189 * testsuite/libgomp.c/affinity-2.c: New test.
14190 * testsuite/libgomp.c/doacross-1.c: New test.
14191 * testsuite/libgomp.c/doacross-2.c: New test.
14192 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14193 Add map clause to target.
14194 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14195 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14196 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14197 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14198 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14200 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14201 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14202 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14203 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14204 not defined. Use those where needed.
14205 * testsuite/libgomp.c/for-4.c: New test.
14206 * testsuite/libgomp.c/for-5.c: New test.
14207 * testsuite/libgomp.c/for-6.c: New test.
14208 * testsuite/libgomp.c/linear-1.c: New test.
14209 * testsuite/libgomp.c/ordered-4.c: New test.
14210 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14211 only allowed on the loop iterator.
14212 * testsuite/libgomp.c/pr66199-3.c: New test.
14213 * testsuite/libgomp.c/pr66199-4.c: New test.
14214 * testsuite/libgomp.c/reduction-7.c: New test.
14215 * testsuite/libgomp.c/reduction-8.c: New test.
14216 * testsuite/libgomp.c/reduction-9.c: New test.
14217 * testsuite/libgomp.c/reduction-10.c: New test.
14218 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14220 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14221 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14222 * testsuite/libgomp.c/target-11.c: New test.
14223 * testsuite/libgomp.c/target-12.c: New test.
14224 * testsuite/libgomp.c/target-13.c: New test.
14225 * testsuite/libgomp.c/target-14.c: New test.
14226 * testsuite/libgomp.c/target-15.c: New test.
14227 * testsuite/libgomp.c/target-16.c: New test.
14228 * testsuite/libgomp.c/target-17.c: New test.
14229 * testsuite/libgomp.c/target-18.c: New test.
14230 * testsuite/libgomp.c/target-19.c: New test.
14231 * testsuite/libgomp.c/target-20.c: New test.
14232 * testsuite/libgomp.c/target-21.c: New test.
14233 * testsuite/libgomp.c/target-22.c: New test.
14234 * testsuite/libgomp.c/target-23.c: New test.
14235 * testsuite/libgomp.c/target-24.c: New test.
14236 * testsuite/libgomp.c/target-25.c: New test.
14237 * testsuite/libgomp.c/target-26.c: New test.
14238 * testsuite/libgomp.c/target-27.c: New test.
14239 * testsuite/libgomp.c/taskloop-1.c: New test.
14240 * testsuite/libgomp.c/taskloop-2.c: New test.
14241 * testsuite/libgomp.c/taskloop-3.c: New test.
14242 * testsuite/libgomp.c/taskloop-4.c: New test.
14243 * testsuite/libgomp.c++/ctor-13.C: New test.
14244 * testsuite/libgomp.c++/doacross-1.C: New test.
14245 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14246 Replace offload_device with offload_device_nonshared_as.
14247 * testsuite/libgomp.c++/for-12.C: New test.
14248 * testsuite/libgomp.c++/for-13.C: New test.
14249 * testsuite/libgomp.c++/for-14.C: New test.
14250 * testsuite/libgomp.c++/linear-1.C: New test.
14251 * testsuite/libgomp.c++/member-1.C: New test.
14252 * testsuite/libgomp.c++/member-2.C: New test.
14253 * testsuite/libgomp.c++/member-3.C: New test.
14254 * testsuite/libgomp.c++/member-4.C: New test.
14255 * testsuite/libgomp.c++/member-5.C: New test.
14256 * testsuite/libgomp.c++/ordered-1.C: New test.
14257 * testsuite/libgomp.c++/reduction-5.C: New test.
14258 * testsuite/libgomp.c++/reduction-6.C: New test.
14259 * testsuite/libgomp.c++/reduction-7.C: New test.
14260 * testsuite/libgomp.c++/reduction-8.C: New test.
14261 * testsuite/libgomp.c++/reduction-9.C: New test.
14262 * testsuite/libgomp.c++/reduction-10.C: New test.
14263 * testsuite/libgomp.c++/reference-1.C: New test.
14264 * testsuite/libgomp.c++/simd14.C: New test.
14265 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14266 * testsuite/libgomp.c++/target-5.C: New test.
14267 * testsuite/libgomp.c++/target-6.C: New test.
14268 * testsuite/libgomp.c++/target-7.C: New test.
14269 * testsuite/libgomp.c++/target-8.C: New test.
14270 * testsuite/libgomp.c++/target-9.C: New test.
14271 * testsuite/libgomp.c++/target-10.C: New test.
14272 * testsuite/libgomp.c++/target-11.C: New test.
14273 * testsuite/libgomp.c++/target-12.C: New test.
14274 * testsuite/libgomp.c++/taskloop-1.C: New test.
14275 * testsuite/libgomp.c++/taskloop-2.C: New test.
14276 * testsuite/libgomp.c++/taskloop-3.C: New test.
14277 * testsuite/libgomp.c++/taskloop-4.C: New test.
14278 * testsuite/libgomp.c++/taskloop-5.C: New test.
14279 * testsuite/libgomp.c++/taskloop-6.C: New test.
14280 * testsuite/libgomp.c++/taskloop-7.C: New test.
14281 * testsuite/libgomp.c++/taskloop-8.C: New test.
14282 * testsuite/libgomp.c++/taskloop-9.C: New test.
14283 * testsuite/libgomp.fortran/affinity1.f90: New test.
14284 * testsuite/libgomp.fortran/affinity2.f90: New test.
14286 2015-10-13 Tom de Vries <tom@codesourcery.com>
14288 PR tree-optimization/67476
14289 * testsuite/libgomp.c/autopar-3.c: New test.
14290 * testsuite/libgomp.c/autopar-4.c: New test.
14291 * testsuite/libgomp.c/autopar-5.c: New test.
14292 * testsuite/libgomp.c/autopar-6.c: New test.
14293 * testsuite/libgomp.c/autopar-7.c: New test.
14294 * testsuite/libgomp.c/autopar-8.c: New test.
14296 2015-10-12 James Norris <jnorris@codesourcery.com>
14298 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14301 2015-10-09 David Malcolm <dmalcolm@redhat.com>
14303 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14304 using load_gcc_lib.
14306 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14308 * oacc-ptx.h: Remove file, moving its content into...
14309 * config/nvptx/fortran.c: ... here...
14310 * config/nvptx/oacc-init.c: ..., here...
14311 * config/nvptx/oacc-parallel.c: ..., and here.
14312 * config/nvptx/openacc.f90: New file.
14313 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14314 (link_ptx): Don't link in predefined bits of PTX code.
14316 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14317 Bernd Schmidt <bernds@codesourcery.com>
14319 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14320 (struct targ_ptx_obj): New.
14321 (nvptx_tdata): Move earlier, change data format.
14322 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14324 (GOMP_OFFLOAD_load_image): Adjust.
14326 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14328 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14329 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14330 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14331 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14332 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14333 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14334 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14335 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14336 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14337 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14338 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14339 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14340 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14341 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14342 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14343 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14344 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14345 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14346 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14347 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14348 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14349 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14350 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14351 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14352 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14353 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14354 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14355 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14356 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14357 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14358 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14359 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14360 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14361 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14362 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14363 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14364 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14365 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14366 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14367 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14368 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14369 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14370 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14371 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14372 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14373 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14374 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14375 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14376 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14377 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14378 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14379 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14380 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14381 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14382 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14383 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14384 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14385 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14386 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14387 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14388 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14389 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14390 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14392 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14394 * oacc-init.c (acc_on_device): Force optimization level.
14396 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14398 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14399 (cuda_errlist): Delete.
14400 (cuda_error): Reimplement.
14402 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14404 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14406 * libgomp.map (GOACC_parallel_keyed): New.
14407 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14409 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14410 and take keyed varargs list. Adjust call to exec_func.
14411 (GOACC_parallel): Force host fallback.
14412 * libgomp_g.h (GOACC_parallel): Remove.
14413 (GOACC_parallel_keyed): Declare.
14414 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
14415 (struct targ_gn_descriptor): Replace name field with launch field.
14416 (nvptx_exec): Lose separate geometry args, take array. Process
14417 dynamic dimensions and adjust.
14418 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14419 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14421 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14423 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14426 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14429 * oacc-int.h (goacc_host_init): Add declaration.
14430 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14431 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14433 2015-09-08 Aditya Kumar <hiraditya@msn.com>
14434 Sebastian Pop <s.pop@samsung.com>
14436 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
14438 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14439 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14440 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14441 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14442 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14444 2015-09-03 Jakub Jelinek <jakub@redhat.com>
14446 * configure.tgt: Add missing ;; in between nvptx and rtems
14449 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14451 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14452 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14453 (gomp_thread_pool_reservoir): Add priority member.
14454 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14456 (parse_thread_pools): Likewise.
14457 * team.c (gomp_team_start): Call configuration provided
14458 gomp_adjust_thread_attr(). Destroy thread attributes if
14460 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14462 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14464 * config/posix/pool.h: New.
14465 * config/rtems/pool.h: Likewise.
14466 * config/rtems/proc.c: Likewise.
14467 * libgomp.h (gomp_thread_destructor): Declare.
14468 * team.c: Include configuration provided "pool.h".
14469 (gomp_get_thread_pool): Define in configuration.
14470 (gomp_team_end): Call configuration defined
14471 gomp_release_thread_pool().
14473 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14475 * config/rtems/bar.c: New.
14476 * config/rtems/bar.h: Likewise.
14477 * config/rtems/mutex.c: Likewise.
14478 * config/rtems/mutex.h: Likewise.
14479 * config/rtems/sem.c: Likewise.
14480 * config/rtems/sem.h: Likewise.
14481 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14482 <sys/lock.h> header file.
14483 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14484 supported by Newlib.
14485 * configure: Regenerate.
14487 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14489 * team.c (gomp_new_thread_pool): Delete and move content to ...
14490 (gomp_get_thread_pool): ... new function. Allocate and
14491 initialize thread pool on demand.
14492 (get_last_team): Use gomp_get_thread_pool().
14493 (gomp_team_start): Delete thread pool initialization.
14495 2015-09-03 Tom de Vries <tom@codesourcery.com>
14497 PR tree-optimization/65637
14498 * testsuite/libgomp.c/autopar-2.c: New test.
14500 2015-08-29 Tom de Vries <tom@codesourcery.com>
14502 PR tree-optimization/46193
14503 * testsuite/libgomp.c/pr46193.c: New test.
14505 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
14508 * libgomp.map: Add 4.0.2 version.
14509 * target.c (offload_image_descr): Add version field.
14510 (gomp_load_image_to_device): Add version argument. Adjust plugin
14511 call. Improve load mismatch diagnostic.
14512 (gomp_unload_image_from_device): Add version argument. Adjust plugin
14514 (GOMP_offload_regster): Make stub function, move bulk to ...
14515 (GOMP_offload_register_ver): ... here. Process version argument.
14516 (GOMP_offload_unregister): Make stub function, move bulk to ...
14517 (GOMP_offload_unregister_ver): ... here. Process version argument.
14518 (gomp_init_device): Process version field.
14519 (gomp_unload_device): Process version field.
14520 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14521 macros. Check plugin version.
14522 * libgomp.h (gomp_device_descr): Add version function field. Adjust
14523 loader and unloader types.
14524 * oacc-host.c: Include gomp-constants.h.
14525 (host_version): New.
14526 (host_load_image, host_unload_image): Adjust.
14527 (host_dispatch): Add host_version.
14528 * plugin/plugin-nvptx.c: Include gomp-constants.h.
14529 (GOMP_OFFLOAD_version): New.
14530 (GOMP_OFFLOAD_load_image): Add version arg and check it.
14531 (GOMP_OFFLOAD_unload_image): Likewise.
14532 * plugin/plugin-host.c: Include gomp-constants.h.
14533 (GOMP_OFFLOAD_version): New.
14534 (GOMP_OFFLOAD_load_image): Add version arg.
14535 (GOMP_OFFLOAD_unload_image): Likewise.
14537 2015-08-24 Tom de Vries <tom@codesourcery.com>
14539 PR tree-optimization/65468
14540 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
14542 2015-08-24 Tom de Vries <tom@codesourcery.com>
14544 PR tree-optimization/65468
14545 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
14547 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
14551 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
14552 (gomp_iter_guided_next): Idem.
14553 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
14554 (gomp_iter_ull_guided_next): Idem.
14555 * config/linux/wait.h (do_spin): Idem.
14557 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14559 * libgomp-plugin.h (enum offload_target_type): Remove
14560 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
14561 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
14562 * openacc.h (enum acc_device_t): Likewise.
14563 * openacc_lib.h: Likewise.
14564 * oacc-init.c (name_of_acc_device_t): Don't handle it.
14565 (acc_on_device): Just use __builtin_acc_on_device.
14566 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
14567 of acc_on_device builtin.
14568 * plugin/plugin-host.h: Remove file.
14569 * plugin/plugin-host.c: Likewise, but salvage some content into...
14570 * oacc-host.c: ... this file.
14571 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
14572 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
14573 * Makefile.in: Regenerate.
14574 * configure: Likewise.
14575 * testsuite/lib/libgomp.exp
14576 (check_effective_target_openacc_host_nonshm_selected): Remove.
14577 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
14578 ACC_DEVICE_TYPE=host_nonshm.
14579 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14580 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14581 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
14582 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
14583 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
14584 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
14586 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14587 Jakub Jelinek <jakub@redhat.com>
14589 * config/nvptx/affinity.c: New file.
14590 * config/nvptx/alloc.c: Likewise.
14591 * config/nvptx/bar.c: Likewise.
14592 * config/nvptx/barrier.c: Likewise.
14593 * config/nvptx/critical.c: Likewise.
14594 * config/nvptx/env.c: Likewise.
14595 * config/nvptx/error.c: Likewise.
14596 * config/nvptx/fortran.c: Likewise.
14597 * config/nvptx/iter.c: Likewise.
14598 * config/nvptx/iter_ull.c: Likewise.
14599 * config/nvptx/libgomp-plugin.c: Likewise.
14600 * config/nvptx/lock.c: Likewise.
14601 * config/nvptx/loop.c: Likewise.
14602 * config/nvptx/loop_ull.c: Likewise.
14603 * config/nvptx/mutex.c: Likewise.
14604 * config/nvptx/oacc-async.c: Likewise.
14605 * config/nvptx/oacc-cuda.c: Likewise.
14606 * config/nvptx/oacc-host.c: Likewise.
14607 * config/nvptx/oacc-init.c: Likewise.
14608 * config/nvptx/oacc-mem.c: Likewise.
14609 * config/nvptx/oacc-parallel.c: Likewise.
14610 * config/nvptx/oacc-plugin.c: Likewise.
14611 * config/nvptx/omp-lock.h: Likewise.
14612 * config/nvptx/ordered.c: Likewise.
14613 * config/nvptx/parallel.c: Likewise.
14614 * config/nvptx/proc.c: Likewise.
14615 * config/nvptx/ptrlock.c: Likewise.
14616 * config/nvptx/sections.c: Likewise.
14617 * config/nvptx/sem.c: Likewise.
14618 * config/nvptx/single.c: Likewise.
14619 * config/nvptx/splay-tree.c: Likewise.
14620 * config/nvptx/target.c: Likewise.
14621 * config/nvptx/task.c: Likewise.
14622 * config/nvptx/team.c: Likewise.
14623 * config/nvptx/time.c: Likewise.
14624 * config/nvptx/work.c: Likewise.
14625 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
14626 * configure: Regenerate.
14627 * configure.tgt (config_path): Set to "nvptx" for target
14630 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14632 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
14634 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
14636 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
14637 (cuda_errlist): Constify.
14638 (errmsg): Move into ...
14639 (cuda_error): ... here. Make smaller.
14640 (_XSTR, _STR): Delete.
14641 (cuda_synames): Delete.
14642 (verify_device_library): Delete.
14643 (nvptx_init): Don't call it.
14645 2015-07-28 Tom de Vries <tom@codesourcery.com>
14647 * testsuite/libgomp.c/uns-outer-4.c: New test.
14649 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
14651 * testsuite/libgomp.c/pr66714.c: New test.
14653 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
14656 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
14657 (fib_ref): New function.
14658 (fib): Correct corner cases in the recursion.
14659 (main): Replace the non-simd loop with fib_ref call.
14660 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
14662 (fibonacci): Lower the parameter N to 30. Correct accordingly check
14663 for the last array element value. Replace the non-simd loop with
14664 fib_ref call. Remove redundant b_ref array. Remove the comparison
14665 of the last array element with according Fibonacci sequence element.
14666 (fib): Correct corner cases in the recursion.
14668 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
14670 * target.c (gomp_offload_image_to_device): Rename to ...
14671 (gomp_load_image_to_device): ... here.
14672 (GOMP_offload_register): Adjust call.
14673 (gomp_init_device): Likewise.
14674 (gomp_unload_image_from_device): New. Broken out of ...
14675 (GOMP_offload_unregister): ... here. Call it.
14676 (gomp_unload_device): New.
14677 * libgomp.h (gomp_unload_device): Declare.
14678 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
14681 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
14683 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
14685 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
14687 (goacc_waits): Move !num_waits handling to ...
14688 (GOACC_wait): ... here, the only caller that might have zero waits.
14690 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
14691 (struct ptx_image_data): Move earlier, add fns field.
14692 (struct ptx_device): Add images and image_lock fields.
14693 (ptx_images, ptx_image_lock): Delete.
14694 (nvptx_open_device): Initialize images and image_lock fields.
14695 (nvptx_close_device): Destroy image_lock.
14696 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
14697 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
14700 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
14702 * target.c (GOMP_offload_register): Use int for device type arg.
14703 (GOMP_offload_unregister): Likewise.
14705 * target.c (struct_offload_image_descr): Constify host_table.
14706 (gomp_offload_image_to_device): Likewise.
14707 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
14709 * libgomp.h (gomp_device_descr): Constify target data arguments.
14710 * target.c (struct offload_image_descr): Constify target_data.
14711 (gomp_offload_image_to_device): Likewise.
14712 (GOMP_offload_register): Likewise.
14713 (GOMP_offload_unregister): Likewise.
14714 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
14715 GOMP_OFFLOAD_unload_image): Constify target data.
14716 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
14717 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
14719 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
14721 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
14722 Workaround driver library const error.
14723 (struct nvptx_tdata, nvptx_tdata_t): New.
14724 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
14727 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
14729 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
14730 of EPS parameter from integer to real.
14731 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
14732 type of EPS parameter from integer to real.
14734 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
14736 * team.c (get_last_team): New.
14737 (gomp_new_team): Recycle last non-nested team if possible.
14738 (gomp_team_end): Move team work share list free lock destruction
14740 (free_team): ... here.
14742 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
14744 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
14745 and ref from int to double. Replaced their comparison with
14746 an inequality of their difference and EPS.
14747 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
14748 comparison of pri and a reference number with an inequality of their
14749 difference and EPS.
14750 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
14751 the comparison of sum and sum_ref with an inequality of their
14752 difference and EPS.
14753 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
14754 the comparison of pri and a reference number with an inequality of
14755 their difference and EPS.
14757 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
14759 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
14760 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
14761 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
14762 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
14763 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
14764 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
14765 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
14766 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
14767 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
14768 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
14769 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
14770 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
14771 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
14773 (vec_mult): Likewise. Add #pragma omp taskwait.
14774 (main): Adjust caller.
14775 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
14776 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
14777 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
14778 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
14779 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
14780 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
14781 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
14782 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
14783 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
14784 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
14785 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
14786 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
14787 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
14788 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
14789 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
14790 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
14791 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
14792 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
14793 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
14794 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
14795 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
14796 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
14797 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
14798 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
14799 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
14800 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
14801 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
14802 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
14803 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
14804 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
14805 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
14806 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
14807 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
14808 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
14809 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
14810 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
14811 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
14812 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
14813 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
14814 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
14815 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
14816 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
14817 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
14818 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
14819 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
14820 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
14821 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
14822 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
14823 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
14824 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
14825 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
14826 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
14827 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
14828 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
14829 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
14830 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
14831 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
14832 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
14833 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
14834 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
14835 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
14836 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
14837 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
14838 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
14839 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
14840 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
14841 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
14842 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
14843 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
14844 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
14845 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
14846 (vec_mult): Add !$omp taskwait.
14847 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
14848 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
14849 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
14850 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
14851 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
14852 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
14853 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
14854 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
14855 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
14856 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
14857 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
14858 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
14859 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
14860 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
14861 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
14862 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
14863 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
14864 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
14865 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
14866 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
14867 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
14868 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
14869 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
14870 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
14871 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
14872 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
14873 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
14874 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
14875 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
14876 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
14877 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
14878 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
14879 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
14880 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
14881 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
14882 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
14883 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
14884 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
14885 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
14886 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
14887 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
14888 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
14889 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
14890 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
14891 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
14892 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
14893 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
14894 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
14895 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
14896 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
14897 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
14898 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
14899 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
14900 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
14901 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
14902 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
14903 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
14904 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
14905 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
14906 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
14907 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
14908 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
14909 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
14910 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
14911 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
14912 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
14913 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
14915 2015-07-10 Tom de Vries <tom@codesourcery.com>
14917 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
14918 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
14920 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
14923 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
14924 in a 64-bit configuration.
14925 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
14926 offloading testing if no such device is available.
14927 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14928 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14930 2015-07-08 Tom de Vries <tom@codesourcery.com>
14932 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
14934 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14936 2015-07-07 Tom de Vries <tom@codesourcery.com>
14938 PR tree-optimization/66642
14939 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
14940 iteration count case.
14941 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
14942 function, factor out of ...
14943 (main): ... here. Test low iteration count case.
14945 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
14947 * libgomp.h (gomp_thread_pool): Comment last_team field.
14949 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
14951 * testsuite/libgomp.c++/pr66702-1.C: Require
14952 vect_simd_clones effective target.
14953 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
14955 2015-06-30 Tom de Vries <tom@codesourcery.com>
14957 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14958 already set. Use DEFAULT_CFLAGS in dg-runtest.
14959 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
14962 2015-06-30 Tom de Vries <tom@codesourcery.com>
14964 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14965 already set. Use DEFAULT_CFLAGS in dg-runtest.
14966 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
14967 * testsuite/libgomp.c++/pr64824.C: Same.
14968 * testsuite/libgomp.c++/pr64868.C: Same.
14969 * testsuite/libgomp.c++/pr66199-1.C: Same.
14970 * testsuite/libgomp.c++/pr66199-2.C: Same.
14971 * testsuite/libgomp.c++/target-2.C: Same.
14972 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
14973 -std=<standard> option.
14974 * testsuite/libgomp.c++/udr-11.C: Same.
14975 * testsuite/libgomp.c++/udr-12.C: Same.
14976 * testsuite/libgomp.c++/udr-13.C: Same.
14977 * testsuite/libgomp.c++/udr-14.C: Same.
14978 * testsuite/libgomp.c++/udr-15.C: Same.
14979 * testsuite/libgomp.c++/udr-16.C: Same.
14980 * testsuite/libgomp.c++/udr-17.C: Same.
14981 * testsuite/libgomp.c++/udr-18.C: Same.
14982 * testsuite/libgomp.c++/udr-19.C: Same.
14983 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
14984 * testsuite/libgomp.c++/simd-1.C: Same.
14985 * testsuite/libgomp.c++/simd-2.C: Same.
14986 * testsuite/libgomp.c++/simd-3.C: Same.
14987 * testsuite/libgomp.c++/simd-4.C: Same.
14988 * testsuite/libgomp.c++/simd-5.C: Same.
14989 * testsuite/libgomp.c++/simd-6.C: Same.
14990 * testsuite/libgomp.c++/simd-7.C: Same.
14991 * testsuite/libgomp.c++/simd-8.C: Same.
14992 * testsuite/libgomp.c++/simd-9.C: Same.
14993 * testsuite/libgomp.c++/simd10.C: Same.
14994 * testsuite/libgomp.c++/simd11.C: Same.
14995 * testsuite/libgomp.c++/simd12.C: Same.
14996 * testsuite/libgomp.c++/simd13.C: Same.
14998 2015-06-30 Jakub Jelinek <jakub@redhat.com>
15000 PR middle-end/66702
15001 * testsuite/libgomp.c++/pr66702-1.C: New test.
15002 * testsuite/libgomp.c++/pr66702-2.C: New test.
15004 2015-06-30 Tom de Vries <tom@codesourcery.com>
15006 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15007 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15008 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15009 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15011 2015-06-30 Tom de Vries <tom@codesourcery.com>
15013 PR tree-optimization/66652
15014 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15015 using restrict pointers.
15016 (main): Add arguments to calls to f.
15017 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15019 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15021 * configure.ac: Fix check for header <sys/sysctl.h>.
15022 * configure: Regenerate.
15023 * config.h.in: Likewise.
15025 2015-06-23 Tom de Vries <tom@codesourcery.com>
15027 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15029 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15031 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15033 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15037 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15038 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15040 2015-06-15 Tom de Vries <tom@codesourcery.com>
15042 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15043 dg-additional-options for any remaining options.
15044 * testsuite/libgomp.c/atomic-2.c: Same.
15045 * testsuite/libgomp.c/atomic-4.c: Same.
15046 * testsuite/libgomp.c/atomic-5.c: Same.
15047 * testsuite/libgomp.c/atomic-6.c: Same.
15048 * testsuite/libgomp.c/autopar-1.c: Same.
15049 * testsuite/libgomp.c/copyin-1.c: Same.
15050 * testsuite/libgomp.c/copyin-2.c: Same.
15051 * testsuite/libgomp.c/copyin-3.c: Same.
15052 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15053 * testsuite/libgomp.c/nestedfn-5.c: Same.
15054 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15055 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15056 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15057 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15058 * testsuite/libgomp.c/pr32362-1.c: Same.
15059 * testsuite/libgomp.c/pr32362-2.c: Same.
15060 * testsuite/libgomp.c/pr32362-3.c: Same.
15061 * testsuite/libgomp.c/pr39591-1.c: Same.
15062 * testsuite/libgomp.c/pr39591-2.c: Same.
15063 * testsuite/libgomp.c/pr39591-3.c: Same.
15064 * testsuite/libgomp.c/pr58392.c: Same.
15065 * testsuite/libgomp.c/pr58756.c: Same.
15066 * testsuite/libgomp.c/simd-1.c: Same.
15067 * testsuite/libgomp.c/simd-10.c: Same.
15068 * testsuite/libgomp.c/simd-11.c: Same.
15069 * testsuite/libgomp.c/simd-12.c: Same.
15070 * testsuite/libgomp.c/simd-13.c: Same.
15071 * testsuite/libgomp.c/simd-14.c: Same.
15072 * testsuite/libgomp.c/simd-15.c: Same.
15073 * testsuite/libgomp.c/simd-2.c: Same.
15074 * testsuite/libgomp.c/simd-3.c: Same.
15075 * testsuite/libgomp.c/simd-4.c: Same.
15076 * testsuite/libgomp.c/simd-5.c: Same.
15077 * testsuite/libgomp.c/simd-6.c: Same.
15078 * testsuite/libgomp.c/simd-7.c: Same.
15079 * testsuite/libgomp.c/simd-8.c: Same.
15080 * testsuite/libgomp.c/simd-9.c: Same.
15082 2015-06-15 Tom de Vries <tom@codesourcery.com>
15084 * testsuite/libgomp.c/pr35625.c: Fix typo.
15086 2015-06-15 Tom de Vries <tom@codesourcery.com>
15088 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15090 * testsuite/libgomp.c/atomic-3.c: Same.
15091 * testsuite/libgomp.c/debug-1.c: Same.
15092 * testsuite/libgomp.c/nqueens-1.c: Same.
15093 * testsuite/libgomp.c/pr26171.c: Same.
15094 * testsuite/libgomp.c/pr48591.c: Same.
15095 * testsuite/libgomp.c/pr64824.c: Same.
15096 * testsuite/libgomp.c/pr64868.c: Same.
15097 * testsuite/libgomp.c/pr66133.c: Same.
15098 * testsuite/libgomp.c/pr66199-1.c: Same.
15099 * testsuite/libgomp.c/pr66199-2.c: Same.
15100 * testsuite/libgomp.c/target-8.c: Same.
15102 2015-06-15 Tom de Vries <tom@codesourcery.com>
15104 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15106 * testsuite/libgomp.c/for-1.c: Same.
15107 * testsuite/libgomp.c/for-2.c: Same.
15108 * testsuite/libgomp.c/for-3.c: Same.
15109 * testsuite/libgomp.c/pr35625.c: Same.
15110 * testsuite/libgomp.c/pr39154.c: Same.
15111 * testsuite/libgomp.c/simd-16.c: Same.
15112 * testsuite/libgomp.c/simd-17.c: Same.
15114 2015-06-13 Tom de Vries <tom@codesourcery.com>
15116 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15118 2015-06-13 Tom de Vries <tom@codesourcery.com>
15120 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15121 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15122 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15124 (main): Use N instead of hardcoded constants.
15126 2015-06-05 Tom de Vries <tom@codesourcery.com>
15128 merge from gomp4 branch:
15129 2015-05-28 Tom de Vries <tom@codesourcery.com>
15131 PR tree-optimization/65443
15132 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15133 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15134 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15136 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15138 * testsuite/libgomp.graphite/bounds.c: Adjust for
15139 cleanup-tree-dump removal.
15140 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15141 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15142 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15143 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15144 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15145 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15146 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15147 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15148 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15149 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15151 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
15153 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15154 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15155 (futex_wake) [!__x86_64__]: Ditto.
15157 2015-05-28 Julian Brown <julian@codesourcery.com>
15159 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15160 function comment. Only call gomp_fatal if new argument is true.
15161 (acc_dev_num_out_of_range): New function.
15162 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15163 acc_dev_num_out_of_range as appropriate.
15164 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15165 (acc_get_device_num, acc_set_device_num): Update calls to
15167 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15170 2015-05-28 Julian Brown <julian@codesourcery.com>
15173 * oacc-init.c (plugin/plugin-host.h): Include.
15174 (acc_on_device): Check whether we're in an offloaded region for
15176 plugin. Don't use __builtin_acc_on_device.
15177 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15178 nonshm_exec flag in thread-local data.
15179 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15180 data for host_nonshm plugin.
15181 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15182 for host_nonshm plugin.
15183 * plugin/plugin-host.h: New.
15185 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15187 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15189 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15191 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15193 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15194 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15197 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15199 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15201 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15203 * target.c (gomp_map_pointer): New function abstracting out
15204 GOMP_MAP_POINTER handling.
15205 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15206 gomp_map_pointer().
15208 2015-05-19 Jakub Jelinek <jakub@redhat.com>
15210 PR middle-end/66199
15211 * testsuite/libgomp.c/pr66199-1.c: New test.
15212 * testsuite/libgomp.c/pr66199-2.c: New test.
15213 * testsuite/libgomp.c++/pr66199-1.C: New test.
15214 * testsuite/libgomp.c++/pr66199-2.C: New test.
15215 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15216 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15218 2015-05-19 Julian Brown <julian@codesourcery.com>
15220 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15223 2015-05-13 Jakub Jelinek <jakub@redhat.com>
15225 PR middle-end/66133
15226 * testsuite/libgomp.c/pr66133.c: New test.
15228 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15230 * Makefile.in: Regenerated with automake-1.11.6.
15231 * aclocal.m4: Likewise.
15232 * config.h.in: Likewise.
15233 * configure: Likewise.
15234 * testsuite/Makefile.in: Likewise.
15236 2015-05-08 Jason Merrill <jason@redhat.com>
15238 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15241 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15243 2015-05-06 Julian Brown <julian@codesourcery.com>
15245 * oacc-init.c (acc_device_lock): Add explanatory comment.
15246 (resolve_device): Add comment about locking requirement.
15247 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15248 gomp_init_device and gomp_fini_device calls.
15249 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15250 (acc_get_device_num, acc_set_device_num): Add locking around
15251 resolve_device and gomp_init_device calls.
15253 2015-05-06 Julian Brown <julian@codesourcery.com>
15255 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15256 goacc_thread_lock on error paths.
15257 * oacc-mem.c (lookup_host): Remove locking from function. Note
15258 locking requirement for caller in function comment.
15259 (lookup_dev): Likewise.
15260 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15261 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15262 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15265 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15269 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15270 don't expect "0x" prefix for "%p" format specifier, don't expect
15271 "(nil)" for NULL pointer.
15272 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15273 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15274 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15275 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15276 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15277 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15278 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15279 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15280 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15281 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15282 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15283 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15284 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15285 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15286 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15287 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15288 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15289 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15290 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15291 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15292 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15293 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15294 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15295 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15296 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15297 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15298 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15299 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15300 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15301 accurately specify what we're looking for.
15302 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15303 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15304 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15305 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15306 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15308 2015-04-30 James Norris <jnorris@codesourcery.com>
15311 * testsuite/lib/libgomp.exp
15312 (check_effective_target_openacc_host_selected)
15313 (check_effective_target_openacc_host_nonshm_selected): New
15315 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15317 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15318 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15319 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15320 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15321 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15322 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15323 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15324 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15325 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15326 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15327 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15328 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15329 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15330 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15331 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15332 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15333 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15334 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15335 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15336 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15337 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15338 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15339 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15340 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15341 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15342 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15343 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15344 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15345 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15346 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15347 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15348 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15349 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15350 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15351 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15352 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15353 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15354 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15355 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15356 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15357 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15358 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15359 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15361 2015-04-08 Julian Brown <julian@codesourcery.com>
15363 * libgomp.h (target_mem_desc: Remove mem_map field.
15364 (acc_dispatch_t): Remove open_device_func, close_device_func,
15365 get_device_num_func, set_device_num_func, target_data members.
15366 Change create_thread_data_func argument to device number instead of
15368 * oacc-async.c (assert.h): Include.
15369 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15370 (acc_wait_all, acc_wait_all_async): Use current host thread's
15371 active device, not base_dev.
15372 * oacc-cuda.c (acc_get_current_cuda_device)
15373 (acc_get_current_cuda_context, acc_get_cuda_stream)
15374 (acc_set_cuda_stream): Likewise.
15375 * oacc-host.c (host_dispatch): Don't set open_device_func,
15376 close_device_func, get_device_num_func or set_device_num_func.
15377 * oacc-init.c (base_dev, init_key): Remove.
15378 (cached_base_dev): New.
15379 (name_of_acc_device_t): New.
15380 (acc_init_1): Initialise default-numbered device, not zeroth.
15381 (acc_shutdown_1): Close all devices of a given type.
15382 (goacc_destroy_thread): Don't use base_dev.
15383 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15384 (goacc_attach_host_thread_to_device): New.
15385 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15386 (acc_get_num_devices): Don't use base_dev.
15387 (acc_set_device_type): Reimplement.
15388 (acc_get_device_type): Don't use base_dev.
15389 (acc_get_device_num): Tweak logic.
15390 (acc_set_device_num): Likewise.
15391 (acc_on_device): Use acc_get_device_type.
15392 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15393 (goacc_lazy_initialize): Reimplement with acc_init and
15394 goacc_attach_host_thread_to_device.
15395 * oacc-int.h (goacc_thread): Add base_dev field.
15396 (base_dev): Remove extern declaration.
15397 (goacc_attach_host_thread_to_device): Add prototype.
15398 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15400 (acc_free): Likewise.
15401 (acc_memcpy_to_device): Likewise.
15402 (acc_memcpy_from_device): Likewise.
15403 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15404 goacc_lazy_initialize (throughout).
15405 (GOACC_parallel): Use tgt_offset to locate target functions.
15406 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15407 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15408 (gomp_load_plugin_for_device): Remove open_device, close_device,
15409 get_device_num, set_device_num openacc hook initialisation. Don't set
15410 openacc.target_data.
15411 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15412 (GOMP_OFFLOAD_openacc_close_device)
15413 (GOMP_OFFLOAD_openacc_get_device_num)
15414 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15415 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15417 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15418 (instantiated_devices, ptx_dev_lock): New.
15419 (struct ptx_image_data): New.
15420 (ptx_devices, ptx_images, ptx_image_lock): New.
15421 (fini_streams_for_device): Reorder cuStreamDestroy call.
15422 (nvptx_get_num_devices): Remove forward declaration.
15423 (nvptx_init): Change return type to bool.
15424 (nvptx_fini): Remove.
15425 (nvptx_attach_host_thread_to_device): New.
15426 (nvptx_open_device): Return struct ptx_device* instead of void*.
15427 (nvptx_close_device): Change argument type to struct ptx_device*,
15428 return type to void.
15429 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15430 (kernel_target_data, kernel_host_table): Remove static globals.
15431 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15432 (GOMP_OFFLOAD_init_device): Reimplement.
15433 (GOMP_OFFLOAD_fini_device): Likewise.
15434 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15435 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15436 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15437 (GOMP_OFFLOAD_openacc_open_device)
15438 (GOMP_OFFLOAD_openacc_close_device)
15439 (GOMP_OFFLOAD_openacc_set_device_num)
15440 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15441 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15445 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15447 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15449 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15450 * libgomp.h (struct gomp_memory_mapping): Remove.
15451 (struct target_mem_desc): Change type of mem_map from
15452 gomp_memory_mapping * to splay_tree_s *.
15453 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15454 Add load_image_func, unload_image_func.
15455 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15456 Remove offload_regions_registered.
15457 (gomp_init_tables): Remove.
15458 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15460 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15461 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15462 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15463 offload_regions_registered.
15464 Initialize load_image_func, unload_image_func, mem_map.root.
15465 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15466 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15467 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15468 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15469 gomp_memory_mapping *. Use dev's lock and splay_tree.
15470 (lookup_dev): Use dev's lock.
15471 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15472 (acc_is_present): Likewise.
15473 (acc_map_data): Likewise.
15474 (acc_unmap_data): Likewise. Use dev's lock.
15475 (present_create_copy): Likewise.
15476 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15477 (update_dev_host): Likewise.
15478 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15479 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15480 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15481 (GOMP_OFFLOAD_get_table): Remove
15482 (GOMP_OFFLOAD_load_image): New function.
15483 (GOMP_OFFLOAD_unload_image): New function.
15484 * target.c (register_lock): New mutex for offload image registration.
15485 (num_devices): Do not guard with PLUGIN_SUPPORT.
15486 (gomp_realloc_unlock): New static function.
15487 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15489 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15490 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15491 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15493 (gomp_unmap_vars): Likewise.
15494 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15495 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15496 (gomp_offload_image_to_device): New static function.
15497 (GOMP_offload_register): Add mutex lock.
15498 Call gomp_offload_image_to_device for all initialized devices.
15499 Replace gomp_realloc with gomp_realloc_unlock.
15500 (GOMP_offload_unregister): New function.
15501 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
15502 get_table_func from the plugin with calls to init_device_func and
15503 gomp_offload_image_to_device.
15504 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15506 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
15507 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
15508 (GOMP_target_data): Do not call gomp_init_tables.
15509 (GOMP_target_update): Likewise. Remove argument from gomp_update.
15510 (gomp_load_plugin_for_device): Replace register_image and get_table
15511 with load_image and unload_image in DLSYM ().
15512 (gomp_register_images_for_device): Remove function.
15513 (gomp_target_init): Do not initialize current_device.mem_map.*,
15514 current_device.offload_regions_registered.
15515 Remove call to gomp_register_images_for_device.
15516 Do not free offload_images and num_offload_images.
15518 2015-03-30 Jakub Jelinek <jakub@redhat.com>
15521 * testsuite/libgomp.fortran/pr65597.f90: New test.
15523 2015-03-27 Tom de Vries <tom@codesourcery.com>
15526 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15527 (init, check): New function.
15528 (foo): Change return type to void.
15529 (main): Call init and check.
15531 2015-03-27 Tom de Vries <tom@codesourcery.com>
15534 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15535 (foo): Use M for non-inner loops to scale down test-case.
15537 2015-03-25 Kai Tietz <ktietz@redhat.com>
15540 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
15541 (GOACC_data_start): Likewise.
15542 * target.c (gomp_map_vars): Likewise.
15544 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
15546 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
15549 2015-03-19 Jakub Jelinek <jakub@redhat.com>
15551 * testsuite/libgomp.c/target-10.c: New test.
15552 * testsuite/libgomp.c++/target-4.C: New test.
15554 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
15556 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
15557 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
15559 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
15561 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
15562 * configure.ac (*-*-rtems*): Assume Pthread is supported.
15563 (pthread.h): Check for this header file.
15564 * configure: Regenerate.
15566 2015-02-25 Tom de Vries <tom@codesourcery.com>
15568 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
15569 (check_reduction_op, check_reduction_macro, max, min):
15571 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
15573 (main): Use new functions.
15575 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
15577 * target.c (gomp_load_plugin_for_device): Use const char * instead of
15578 char * for variables holding dlerror return values.
15579 (DLSYM_OPT): Ditto.
15581 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15583 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
15585 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15586 Cesar Philippidis <cesar@codesourcery.com>
15588 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
15589 GOACC_ctaid, and GOACC_nctaid routines.
15591 2015-02-11 Jakub Jelinek <jakub@redhat.com>
15594 * testsuite/libgomp.c/atomic-18.c: New test.
15595 * testsuite/libgomp.c++/atomic-16.C: New test.
15597 2015-02-04 Jakub Jelinek <jakub@redhat.com>
15601 * testsuite/libgomp.c/pr64824.c: New test.
15602 * testsuite/libgomp.c/pr64868.c: New test.
15603 * testsuite/libgomp.c++/pr64824.C: New test.
15604 * testsuite/libgomp.c++/pr64868.C: New test.
15606 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
15609 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
15610 Link with -lpthread.
15611 * config/aix/plugin-suffix.h: Delete.
15613 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
15616 * configure.tgt (*-*-aix*): Use config_path "aix posix".
15617 (*-*-darwin*): Use config_path "bsd darwin posix".
15618 (*-*-hpux*): Use config_path "hpux posix".
15619 * target.c: Add include of plugin-suffix.h and use
15620 SONAME_SUFFIX macro.
15621 * config/aix/plugin-suffix.h: New file.
15622 * config/darwin/plugin-suffix.h: New file.
15623 * config/hpux/plugin-suffix.h: New file.
15624 * config/posix/plugin-suffix.h: New file.
15626 2015-01-23 Jakub Jelinek <jakub@redhat.com>
15628 PR middle-end/64734
15629 * libgomp.c/pr64734.c: New test.
15631 2015-01-23 Tom de Vries <tom@codesourcery.com>
15634 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
15636 2015-01-23 Tom de Vries <tom@codesourcery.com>
15639 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
15642 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
15645 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
15646 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
15647 formal parameter. Update all users.
15648 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
15649 Document unused formal parameter.
15651 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
15653 * oacc-parallel.c: Don't include <alloca.h>.
15654 (GOACC_parallel): Use gomp_alloca instead of alloca.
15656 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
15658 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
15660 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
15661 James Norris <jnorris@codesourcery.com>
15662 Tom de Vries <tom@codesourcery.com>
15663 Julian Brown <julian@codesourcery.com>
15664 Cesar Philippidis <cesar@codesourcery.com>
15665 Nathan Sidwell <nathan@codesourcery.com>
15666 Tobias Burnus <burnus@net-b.de>
15668 * Makefile.am (search_path): Add $(top_srcdir)/../include.
15669 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
15670 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
15671 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
15672 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
15673 Include $(top_srcdir)/plugin/Makefrag.am.
15674 (nodist_libsubinclude_HEADERS): Add openacc.h.
15675 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
15676 openacc.f90, openacc.mod, openacc_kinds.mod.
15677 (omp_lib.mod): Generalize into...
15678 (%.mod): ... this new rule.
15679 (openacc_kinds.mod, openacc.mod): New rules.
15680 * plugin/configfrag.ac: New file.
15681 * configure.ac: Move plugin/offloading support into it. Include
15682 it. Instantiate testsuite/libgomp-test-support.pt.exp.
15683 * plugin/Makefrag.am: New file.
15684 * testsuite/Makefile.am (OFFLOAD_TARGETS)
15685 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
15687 (libgomp-test-support.exp): New rule.
15688 (all-local): Depend on it.
15689 * Makefile.in: Regenerate.
15690 * testsuite/Makefile.in: Regenerate.
15691 * config.h.in: Likewise.
15692 * configure: Likewise.
15693 * configure.tgt: Harden shell syntax.
15694 * env.c: Include "oacc-int.h".
15695 (parse_acc_device_type): New function.
15696 (gomp_debug_var, goacc_device_type, goacc_device_num): New
15698 (initialize_env): Initialize those. Call
15699 goacc_runtime_initialize.
15700 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
15701 (gomp_fatal): Call gomp_vfatal.
15702 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
15703 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
15704 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
15705 (splay_tree_node, splay_tree, splay_tree_key)
15706 (struct target_mem_desc, struct splay_tree_key_s)
15707 (struct gomp_memory_mapping, struct acc_dispatch_t)
15708 (struct gomp_device_descr, gomp_acc_insert_pointer)
15709 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
15710 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
15711 (gomp_free_memmap, gomp_fini_device): New declarations.
15712 (gomp_vdebug, gomp_debug): New macros.
15713 Include "splay-tree.h".
15714 * libgomp.map (OACC_2.0): New symbol version. Use for
15715 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
15716 acc_set_device_type_h_, acc_get_device_type,
15717 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
15718 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
15719 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
15720 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
15721 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
15722 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
15723 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
15724 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
15725 acc_copyin_array_h_, acc_present_or_copyin,
15726 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
15727 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
15728 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
15729 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
15730 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
15731 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
15732 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
15733 acc_update_device, acc_update_device_32_h_,
15734 acc_update_device_64_h_, acc_update_device_array_h_,
15735 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
15736 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
15737 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
15738 acc_is_present_64_h_, acc_is_present_array_h_,
15739 acc_memcpy_to_device, acc_memcpy_from_device,
15740 acc_get_current_cuda_device, acc_get_current_cuda_context,
15741 acc_get_cuda_stream, acc_set_cuda_stream.
15742 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
15743 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
15744 GOACC_update, GOACC_wait, GOACC_get_thread_num,
15745 GOACC_get_num_threads.
15746 (GOMP_PLUGIN_1.0): New symbol version. Use for
15747 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
15748 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
15749 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
15750 GOMP_PLUGIN_acc_thread.
15751 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
15752 environment variable.
15753 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
15754 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
15755 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
15756 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
15757 (splay_tree_remove): New declarations.
15758 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
15759 (splay_tree_remove, splay_tree_lookup): Move into...
15760 * splay-tree.c: ... this new file.
15761 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
15762 (splay_tree_node, splay_tree, splay_tree_key)
15763 (struct target_mem_desc, struct splay_tree_key_s)
15764 (struct gomp_device_descr): Don't declare.
15765 (num_devices_openmp): New variable.
15766 (gomp_get_num_devices ): Use it.
15767 (gomp_init_targets_once): New function.
15768 (gomp_get_num_devices ): Use it.
15769 (get_kind, gomp_copy_from_async, gomp_free_memmap)
15770 (gomp_fini_device, gomp_register_image_for_device): New functions.
15771 (gomp_map_vars): Add devaddrs parameter.
15772 (gomp_update): Add mm parameter.
15773 (gomp_init_device): Move most of it into...
15774 (gomp_init_tables): ... this new function.
15775 (gomp_register_images_for_device): Remove function.
15776 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
15777 Make them hidden instead of static.
15778 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
15779 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
15780 (GOMP_target_end_data, GOMP_target_update)
15781 (gomp_load_plugin_for_device, gomp_target_init): Update for
15783 * oacc-async.c: New file.
15784 * oacc-cuda.c: Likewise.
15785 * oacc-host.c: Likewise.
15786 * oacc-init.c: Likewise.
15787 * oacc-int.h: Likewise.
15788 * oacc-mem.c: Likewise.
15789 * oacc-parallel.c: Likewise.
15790 * oacc-plugin.c: Likewise.
15791 * oacc-plugin.h: Likewise.
15792 * oacc-ptx.h: Likewise.
15793 * openacc.f90: Likewise.
15794 * openacc.h: Likewise.
15795 * openacc_lib.h: Likewise.
15796 * plugin/plugin-host.c: Likewise.
15797 * plugin/plugin-nvptx.c: Likewise.
15798 * libgomp-plugin.c: Likewise.
15799 * libgomp-plugin.h: Likewise.
15800 * libgomp_target.h: Remove file after merging content into the
15801 former file. Update all users.
15802 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
15803 (offload_targets_s, offload_targets_s_openacc): New variables.
15804 (check_effective_target_openacc_nvidia_accel_present)
15805 (check_effective_target_openacc_nvidia_accel_selected): New
15807 (libgomp_init): Update for OpenACC changes.
15808 * testsuite/libgomp-test-support.exp.in: New file.
15809 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
15810 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15811 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15812 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
15813 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
15814 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15815 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
15816 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15817 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
15818 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
15819 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
15820 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15821 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
15822 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
15823 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
15824 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
15825 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
15826 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
15827 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
15828 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
15829 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
15830 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
15831 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
15832 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15833 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15834 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15835 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15836 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15837 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15838 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15839 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15840 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
15841 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
15842 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
15843 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
15844 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15845 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
15846 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15847 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
15848 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
15849 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
15850 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
15851 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15852 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15853 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15854 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
15855 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15856 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15857 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15858 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15859 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15860 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
15861 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15862 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15863 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15864 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15865 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15866 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15867 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15868 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
15869 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
15870 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
15871 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15872 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15873 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15874 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
15875 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
15876 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15877 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15878 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15879 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
15880 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15881 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15882 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15883 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
15884 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
15885 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15886 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15887 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
15888 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
15889 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
15890 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
15891 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15892 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15893 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15894 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
15895 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
15896 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15897 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15898 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
15899 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
15900 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
15901 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
15902 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15903 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15904 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15905 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15906 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
15907 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15908 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15909 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
15910 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
15911 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
15912 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15913 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
15914 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
15915 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
15916 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
15917 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
15918 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15919 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
15920 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
15921 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15922 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
15923 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
15924 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
15925 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
15926 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
15927 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
15928 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
15929 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
15930 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
15931 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
15932 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
15933 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
15934 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
15935 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
15936 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
15937 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
15938 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
15939 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
15940 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
15941 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15942 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
15943 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
15944 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
15945 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
15946 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
15947 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
15948 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
15950 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
15951 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
15952 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
15953 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
15954 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
15955 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15956 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
15957 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15958 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15959 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15960 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
15961 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
15962 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
15963 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
15964 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
15965 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
15966 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
15967 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
15968 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
15969 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
15970 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
15971 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
15972 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
15973 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
15974 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
15975 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
15976 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15977 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15978 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15979 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15980 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15981 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15982 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15983 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15984 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
15985 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
15986 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
15987 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
15988 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
15989 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
15990 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
15991 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
15992 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
15993 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
15994 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
15995 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
15996 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
15997 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
15998 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
15999 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16000 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16001 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16002 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16003 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16004 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16005 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16006 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16007 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16008 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16009 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16011 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16012 Julian Brown <julian@codesourcery.com>
16013 David Malcolm <dmalcolm@redhat.com>
16015 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16016 to "GNU Offloading and Multi Processing Runtime Library". Change
16018 * configure: Regenerate.
16019 * libgomp.texi: Update.
16021 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16023 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16025 * configure: Regenerate.
16027 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16028 "intelmic" in $offload_targets.
16030 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16032 Update copyright years.
16034 * libgomp.texi: Bump @copying's copyright year.
16036 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16038 * testsuite/lib/libgomp.exp: Load target-utils.exp.
16039 Move load of target-supports.exp earlier.
16041 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16043 * testsuite/libgomp.c/target-9.c: New test.
16045 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16047 * config.h.in: Regenerate.
16048 * configure: Regenerate.
16049 * configure.ac: Add GCC_CHECK_EMUTLS.
16050 * libgomp.h: Add check for USE_EMUTLS: this case
16051 is equal to HAVE_TLS.
16052 * team.c: Likewise.
16054 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
16056 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16058 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16059 Ilya Verbin <ilya.verbin@intel.com>
16061 * testsuite/libgomp.c/target-critical-1.c: New test.
16063 2014-11-26 Jakub Jelinek <jakub@redhat.com>
16065 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16066 to dg-options unless expensive testing is on.
16067 (TESTITERS): Define to N if not defined.
16068 (main): Use TESTITERS instead of N.
16069 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16070 dg-additional-options depending on whether expensive testing is on.
16071 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16072 Decrease N to 100000 and CHUNKSZ to 10000.
16074 2014-11-24 Jakub Jelinek <jakub@redhat.com>
16077 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16078 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16080 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
16082 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16084 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16087 * configure: Regenerated.
16089 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
16091 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16092 vect_simd_clones effective target.
16093 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16095 2014-11-14 Jakub Jelinek <jakub@redhat.com>
16097 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16098 of 32 as block_size.
16099 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16100 instead of 32 as block_size.
16102 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16103 Ilya Verbin <ilya.verbin@intel.com>
16105 * Makefile.in: Regenerate.
16106 * configure: Regenerate.
16107 * configure.ac: Set up offload_additional_options,
16108 offload_additional_lib_paths and offload_targets.
16109 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16110 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16111 * testsuite/Makefile.in: Regenerate.
16112 * testsuite/lib/libgomp.exp (libgomp_init): Append
16113 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16114 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16115 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16117 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16118 Ilya Verbin <ilya.verbin@intel.com>
16119 Kirill Yukhin <kirill.yukhin@intel.com>
16120 Ilya Tocar <ilya.tocar@intel.com>
16122 * testsuite/lib/libgomp.exp
16123 (check_effective_target_offload_device): New.
16124 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16125 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16126 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16127 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16128 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16129 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16130 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16131 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16132 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16133 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16134 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16135 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16136 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16137 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16138 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16139 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16140 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16141 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16142 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16143 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16144 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16145 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16146 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16147 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16148 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16149 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16150 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16151 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16152 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16153 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16154 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16155 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16156 * testsuite/libgomp.c/target-7.c: Fix test.
16157 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16158 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16159 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16160 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16161 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16162 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16163 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16164 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16165 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16166 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16167 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16168 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16169 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16170 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16171 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16172 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16173 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16174 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16175 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16176 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16177 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16178 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16179 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16180 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16181 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16182 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16183 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16184 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16185 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16186 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16187 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16189 2014-11-13 Jakub Jelinek <jakub@redhat.com>
16190 Ilya Verbin <ilya.verbin@intel.com>
16191 Thomas Schwinge <thomas@codesourcery.com>
16192 Andrey Turetskiy <andrey.turetskiy@intel.com>
16194 * libgomp.map (GOMP_4.0.1): New symbol version.
16195 Add GOMP_offload_register.
16196 * libgomp_target.h: New file.
16197 * splay-tree.h: New file.
16198 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16199 (gomp_target_init): New forward declaration.
16200 (gomp_is_initialized): New static variable.
16201 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16202 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16204 (offload_images, num_offload_images, devices, num_devices): New static
16206 (splay_compare): New static function.
16207 (struct gomp_device_descr): New structure.
16208 (gomp_get_num_devices): Call gomp_target_init.
16209 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16210 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16211 (GOMP_offload_register): New function.
16212 (GOMP_target): Arrange for host callback to be performed in a separate
16213 initial thread and contention group, inheriting ICVs from
16214 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16215 Add device initialization and lookup for target function in splay tree.
16216 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16217 (GOMP_target_end_data): Call gomp_unmap_vars.
16218 (GOMP_target_update): Add device initialization and call gomp_update.
16219 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16220 (gomp_target_init): New static functions.
16222 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16223 Thomas Schwinge <thomas@codesourcery.com>
16224 Ilya Verbin <ilya.verbin@intel.com>
16225 Andrey Turetskiy <andrey.turetskiy@intel.com>
16227 * config.h.in: Regenerate.
16228 * configure: Regenerate.
16229 * configure.ac: Check for libdl, required for plugin support.
16230 (PLUGIN_SUPPORT): Define if plugins are supported.
16231 (enable_offload_targets): Support Intel MIC targets.
16232 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16234 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16237 * configure: Regenerate.
16239 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16241 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16243 2014-10-06 Marek Polacek <polacek@redhat.com>
16245 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16246 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16247 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16248 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16250 2014-10-06 Marek Polacek <polacek@redhat.com>
16252 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16253 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16254 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16255 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16256 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16257 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16258 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16259 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16260 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16261 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16262 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16263 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16264 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16265 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16266 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16267 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16268 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16269 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16272 2014-10-03 Jakub Jelinek <jakub@redhat.com>
16275 * testsuite/libgomp.c/pr61200.c: New test.
16277 2014-09-18 Jakub Jelinek <jakub@redhat.com>
16280 * testsuite/libgomp.c++/pr63248.C: New test.
16282 2014-08-04 Jakub Jelinek <jakub@redhat.com>
16284 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16285 is not zero, but taskgroup->children is NULL and there are
16286 any task->children, schedule those instead of waiting.
16287 * testsuite/libgomp.c/depend-6.c: New test.
16288 * testsuite/libgomp.c/depend-7.c: New test.
16289 * testsuite/libgomp.c/depend-8.c: New test.
16290 * testsuite/libgomp.c/depend-9.c: New test.
16291 * testsuite/libgomp.c/depend-10.c: New test.
16293 2014-08-01 Jakub Jelinek <jakub@redhat.com>
16295 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16296 (struct gomp_taskwait): New type.
16297 (struct gomp_task): Add taskwait and parent_depends_on, remove
16298 in_taskwait and taskwait_sem fields.
16299 (gomp_finish_task): Don't destroy taskwait_sem.
16300 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16301 taskwait and parent_depends_on.
16302 (GOMP_task): For if (0) tasks with depend clause that depend on
16303 earlier tasks don't defer them, instead call
16304 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16305 Initialize redundant_out field, for redundant out entries just
16306 move them at the end of linked list instead of removing them
16307 completely, and set redundant_out flag instead of redundant.
16308 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16310 (gomp_task_run_post_handle_dependers): If parent is in
16311 gomp_task_maybe_wait_for_dependencies and newly runnable task
16312 is not parent_depends_on, queue it in parent->children linked
16313 list after all runnable tasks with parent_depends_on set.
16314 Adjust for addition of taskwait indirection.
16315 (gomp_task_run_post_remove_parent): If parent is in
16316 gomp_task_maybe_wait_for_dependencies and task to be removed
16317 is parent_depends_on, decrement n_depend and if needed awake
16318 parent. Adjust for addition of taskwait indirection.
16319 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16320 (gomp_task_maybe_wait_for_dependencies): New function.
16321 * testsuite/libgomp.c/depend-5.c: New test.
16323 2014-07-13 Tobias Burnus <burnus@net-b.de>
16325 * testsuite/libgomp.fortran/pr34020.f90: Make compile
16326 with TS 18508/Fortran 2015.
16328 2014-07-06 Marek Polacek <polacek@redhat.com>
16331 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16333 2014-07-03 Jakub Jelinek <jakub@redhat.com>
16335 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16336 matches regex $lang_source_re, add $lang_include_flags to options.
16337 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16338 * testsuite/libgomp.c++/c++.exp: Likewise.
16339 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16340 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16342 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16344 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16346 * testsuite/libgomp.fortran/fortran.exp: Explain
16347 gfortran-dg-runtest usage.
16349 2014-06-25 Jakub Jelinek <jakub@redhat.com>
16351 * testsuite/libgomp.fortran/simd5.f90: New test.
16352 * testsuite/libgomp.fortran/simd6.f90: New test.
16353 * testsuite/libgomp.fortran/simd7.f90: New test.
16355 2014-06-24 Jakub Jelinek <jakub@redhat.com>
16357 * testsuite/libgomp.c/for-2.c: Define SC to static for
16358 #pragma omp for simd testing.
16359 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16360 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16362 * testsuite/libgomp.c/simd-14.c: New test.
16363 * testsuite/libgomp.c/simd-15.c: New test.
16364 * testsuite/libgomp.c/simd-16.c: New test.
16365 * testsuite/libgomp.c/simd-17.c: New test.
16366 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16367 #pragma omp for simd testing.
16368 * testsuite/libgomp.c++/simd10.C: New test.
16369 * testsuite/libgomp.c++/simd11.C: New test.
16370 * testsuite/libgomp.c++/simd12.C: New test.
16371 * testsuite/libgomp.c++/simd13.C: New test.
16373 * testsuite/libgomp.fortran/aligned1.f03: New test.
16374 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16375 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16376 tasks with !$omp parallel !$omp single.
16377 * testsuite/libgomp.fortran/target8.f90: New test.
16378 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16379 not to use trim in the combiner, instead call elemental function.
16380 (fn): New elemental function.
16381 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16383 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16385 * testsuite/libgomp.fortran/udr12.f90: New test.
16386 * testsuite/libgomp.fortran/udr13.f90: New test.
16387 * testsuite/libgomp.fortran/udr14.f90: New test.
16388 * testsuite/libgomp.fortran/udr15.f90: New test.
16390 2014-06-18 Jakub Jelinek <jakub@redhat.com>
16392 * omp_lib.f90.in (openmp_version): Set to 201307.
16393 * omp_lib.h.in (openmp_version): Likewise.
16394 * testsuite/libgomp.c/target-8.c: New test.
16395 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16396 and inbranch clauses.
16397 * testsuite/libgomp.fortran/depend-3.f90: New test.
16398 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16400 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16401 * testsuite/libgomp.fortran/target1.f90: New test.
16402 * testsuite/libgomp.fortran/target2.f90: New test.
16403 * testsuite/libgomp.fortran/target3.f90: New test.
16404 * testsuite/libgomp.fortran/target4.f90: New test.
16405 * testsuite/libgomp.fortran/target5.f90: New test.
16406 * testsuite/libgomp.fortran/target6.f90: New test.
16407 * testsuite/libgomp.fortran/target7.f90: New test.
16409 2014-06-10 Jakub Jelinek <jakub@redhat.com>
16412 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16413 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16414 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16415 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16416 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16417 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16418 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16419 * testsuite/libgomp.fortran/associate1.f90: New test.
16420 * testsuite/libgomp.fortran/associate2.f90: New test.
16421 * testsuite/libgomp.fortran/procptr1.f90: New test.
16423 2014-06-06 Jakub Jelinek <jakub@redhat.com>
16425 * testsuite/libgomp.fortran/simd1.f90: New test.
16426 * testsuite/libgomp.fortran/udr1.f90: New test.
16427 * testsuite/libgomp.fortran/udr2.f90: New test.
16428 * testsuite/libgomp.fortran/udr3.f90: New test.
16429 * testsuite/libgomp.fortran/udr4.f90: New test.
16430 * testsuite/libgomp.fortran/udr5.f90: New test.
16431 * testsuite/libgomp.fortran/udr6.f90: New test.
16432 * testsuite/libgomp.fortran/udr7.f90: New test.
16433 * testsuite/libgomp.fortran/udr8.f90: New test.
16434 * testsuite/libgomp.fortran/udr9.f90: New test.
16435 * testsuite/libgomp.fortran/udr10.f90: New test.
16436 * testsuite/libgomp.fortran/udr11.f90: New test.
16438 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
16440 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16441 vect_simd_clones effective target.
16442 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16444 2014-05-21 Jakub Jelinek <jakub@redhat.com>
16446 PR middle-end/61252
16447 * testsuite/libgomp.c++/simd-9.C: New test.
16449 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
16451 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16452 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16453 texts according to their @menu entry positions.
16455 2014-05-11 Jakub Jelinek <jakub@redhat.com>
16457 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16458 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16459 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16460 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16461 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16462 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16463 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16464 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16465 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16466 * testsuite/libgomp.fortran/depend-1.f90: New test.
16467 * testsuite/libgomp.fortran/depend-2.f90: New test.
16468 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16469 * testsuite/libgomp.fortran/simd1.f90: New test.
16470 * testsuite/libgomp.fortran/simd2.f90: New test.
16471 * testsuite/libgomp.fortran/simd3.f90: New test.
16472 * testsuite/libgomp.fortran/simd4.f90: New test.
16473 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16475 2014-05-02 Jakub Jelinek <jakub@redhat.com>
16477 * testsuite/libgomp.c/simd-10.c: New test.
16478 * testsuite/libgomp.c/simd-11.c: New test.
16479 * testsuite/libgomp.c/simd-12.c: New test.
16480 * testsuite/libgomp.c/simd-13.c: New test.
16482 2014-04-24 Jakub Jelinek <jakub@redhat.com>
16484 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16485 atomic type clauses in any order and optional comma in between.
16486 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16487 * testsuite/libgomp.c/atomic-17.c: Likewise.
16489 * testsuite/libgomp.c/simd-7.c: New test.
16490 * testsuite/libgomp.c/simd-8.c: New test.
16491 * testsuite/libgomp.c/simd-9.c: New test.
16492 * testsuite/libgomp.c/loop-16.c: New test.
16494 2014-04-02 Richard Henderson <rth@redhat.com>
16496 * config/linux/futex.h (futex_wait): Get error value from errno.
16497 (futex_wake): Likewise.
16499 2014-03-25 Jakub Jelinek <jakub@redhat.com>
16502 * testsuite/libgomp.c++/udr-11.C: New test.
16503 * testsuite/libgomp.c++/udr-12.C: New test.
16504 * testsuite/libgomp.c++/udr-13.C: New test.
16505 * testsuite/libgomp.c++/udr-14.C: New test.
16506 * testsuite/libgomp.c++/udr-15.C: New test.
16507 * testsuite/libgomp.c++/udr-16.C: New test.
16508 * testsuite/libgomp.c++/udr-17.C: New test.
16509 * testsuite/libgomp.c++/udr-18.C: New test.
16510 * testsuite/libgomp.c++/udr-19.C: New test.
16512 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16514 Update copyright years
16516 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16518 * hashtab.h: Use the standard form for the copyright notice.
16520 2014-01-02 Tobias Burnus <burnus@net-b.de>
16522 * libgomp.texi: Bump @copying's copyright year.
16524 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
16526 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
16527 alloca () with __builtin_alloca ().
16528 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16529 * testsuite/libgomp.c/lock-3.c: Likewise.
16530 * testsuite/libgomp.c/pr48591.c: Likewise.
16532 2013-12-17 Jakub Jelinek <jakub@redhat.com>
16535 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16538 2013-12-16 Jakub Jelinek <jakub@redhat.com>
16541 * testsuite/libgomp.c/pr58756.c: New test.
16543 2013-12-12 Jakub Jelinek <jakub@redhat.com>
16546 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
16549 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
16551 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
16553 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
16554 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
16555 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
16556 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
16559 * libgomp_g.h: Include <stddef.h> for size_t.
16561 * libgomp.spec.in: Update comment about libgomp's dependencies.
16562 * configure.ac: Likewise.
16563 * configure: Regenerate.
16565 2013-10-16 Tobias Burnus <burnus@net-b.de>
16567 * libgomp.texi: (Runtime Library Routines): Update references for
16568 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
16569 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
16570 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
16571 (Environment Variables): Update references for OpenMP 4.0. Add
16572 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
16573 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
16576 2013-10-14 Jakub Jelinek <jakub@redhat.com>
16578 * env.c (parse_bind_var): Initialize value to avoid
16579 (false positive) warning.
16581 2013-10-12 Jakub Jelinek <jakub@redhat.com>
16584 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
16586 (gomp_init_num_threads): Move i variable declaration into
16587 #ifdef CPU_ALLOC_SIZE block.
16588 * config/linux/affinity.c (gomp_affinity_init_level): Test
16589 gomp_places_list_len == 0 rather than gomp_places_list == 0
16590 when checking for topology reading error.
16591 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
16592 * env.c (parse_affinity): Add ignore argument, if true, don't populate
16593 gomp_places_list, only parse env var and always return false.
16594 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
16595 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
16596 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
16597 and either of these variables were parsed correctly into a places
16600 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16601 Jakub Jelinek <jakub@redhat.com>
16603 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
16604 of 5 loopfn matches.
16605 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16606 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16607 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16608 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16609 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16610 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16611 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16612 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16614 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16616 * Makefile.am (omp_lib.mod): Streamline rule.
16617 * Makefile.in: Regenerate.
16619 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
16622 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
16623 * testsuite/libgomp.fortran/lib1.f90: Likewise.
16624 * testsuite/libgomp.fortran/lib2.f: Likewise.
16625 * testsuite/libgomp.fortran/lib3.f: Likewise.
16627 * configure.ac: Typo fix.
16628 * configure: Regenerate.
16630 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
16631 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16633 * omp.h.in: Don't touch the user's namespace.
16635 2013-10-11 Jakub Jelinek <jakub@redhat.com>
16636 Tobias Burnus <burnus@net-b.de>
16637 Richard Henderson <rth@redhat.com>
16639 * target.c: New file.
16640 * Makefile.am (libgomp_la_SOURCES): Add target.c.
16641 * Makefile.in: Regenerated.
16642 * libgomp_g.h (GOMP_task): Add depend argument.
16643 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16644 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16645 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
16646 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16647 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16648 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
16649 GOMP_taskgroup_start, GOMP_taskgroup_end,
16650 GOMP_parallel_sections): New prototypes.
16651 * fortran.c (omp_is_initial_device): Add ialias_redirect.
16652 (omp_is_initial_device_): New function.
16653 (ULP, STR1, STR2, ialias_redirect): Removed.
16654 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
16655 omp_set_default_device_8_, omp_get_default_device_,
16656 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
16658 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16659 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16660 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
16662 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
16663 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
16664 omp_set_default_device, omp_set_default_device_,
16665 omp_set_default_device_8_, omp_get_default_device,
16666 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
16667 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
16668 omp_get_team_num_): Export @@OMP_4.0.
16669 * team.c (struct gomp_thread_start_data): Add place field.
16670 (gomp_thread_start): Clear thr->thread_pool and
16671 thr->task before returning. Use gomp_team_barrier_wait_final
16672 instead of gomp_team_barrier_wait. Initialize thr->place.
16673 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
16674 team_cancelled and task_queued_count fields.
16675 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
16676 before calling pthread_exit.
16677 (gomp_free_thread): No longer static. Use
16678 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
16679 (gomp_team_start): Add flags argument. Set
16680 thr->thread_pool->threads_busy to nthreads immediately after creating
16681 new pool. Use gomp_managed_threads_lock instead of
16682 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
16683 (gomp_team_end): Use gomp_managed_threads_lock instead of
16684 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
16685 of gomp_team_barrier_wait. If team->team_cancelled, call
16686 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
16687 rather than thr->ts.work_share.
16688 (initialize_team): Don't call gomp_sem_init here.
16689 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
16691 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
16692 * env.c (gomp_global_icv): Add default_device_var, target_data and
16693 bind_var initializers.
16694 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
16695 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
16696 gomp_places_list_len): New variables.
16697 (parse_bind_var, parse_one_place, parse_places_var): New functions.
16698 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
16700 (gomp_cancel_var): New global variable.
16701 (parse_int): New function.
16702 (handle_omp_display_env): New function.
16703 (initialize_env): Use it. Initialize default_device_var.
16704 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
16705 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
16706 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
16707 been successfully parsed (and call gomp_init_affinity in that case).
16708 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16709 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16710 omp_get_team_num, omp_is_initial_device): New functions.
16711 * libgomp.h: Include stdlib.h.
16712 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
16714 (struct target_mem_desc): Forward declare.
16715 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
16716 and thread_limit_var fields.
16717 (gomp_get_num_devices): New prototype.
16718 (gomp_cancel_var): New extern decl.
16719 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
16720 team_cancelled and task_queued_count fields. Add comments about
16721 task_{,queued_,running_}count.
16722 (gomp_cancel_kind): New enum.
16723 (gomp_work_share_end_cancel): New prototype.
16724 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
16725 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
16727 (struct gomp_taskgroup): New type.
16728 (struct gomp_task_depend_entry,
16729 struct gomp_dependers_vec): New types.
16730 (gomp_finish_task): Free depend_hash if non-NULL.
16731 (struct gomp_team_state): Add place_partition_off
16732 and place_partition_len fields.
16733 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
16734 gomp_places_list_len): New extern decls.
16735 (struct gomp_thread): Add place field.
16736 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
16737 (gomp_init_thread_affinity): Add place argument.
16738 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16739 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16740 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16741 gomp_affinity_init_level, gomp_affinity_print_place): New
16743 (gomp_team_start): Add flags argument.
16744 (gomp_thread_limit_var, gomp_remaining_threads_count,
16745 gomp_remaining_threads_lock): Remove.
16746 (gomp_managed_threads_lock): New variable.
16747 (struct gomp_thread_pool): Add threads_busy field.
16748 (gomp_free_thread): New prototype.
16749 * task.c: Include hashtab.h.
16750 (hash_entry_type): New typedef.
16751 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
16752 (gomp_init_task): Clear dependers, depend_hash, depend_count,
16753 copy_ctors_done and taskgroup fields.
16754 (GOMP_task): Add depend argument, handle depend clauses. If
16755 gomp_team_barrier_cancelled or if it's taskgroup has been
16756 cancelled, don't queue or start new tasks. Set copy_ctors_done
16757 field if needed. Initialize taskgroup field. If copy_ctors_done
16758 and already cancelled, don't discard the task. If taskgroup is
16759 non-NULL, enqueue the task into taskgroup queue. Increment
16760 num_children field in taskgroup. Increment task_queued_count.
16761 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
16762 gomp_task_run_post_remove_taskgroup): New inline functions.
16763 (gomp_task_run_post_handle_depend_hash,
16764 gomp_task_run_post_handle_dependers,
16765 gomp_task_run_post_handle_depend): New functions.
16766 (GOMP_taskwait): Use them. If more than one new tasks
16767 have been queued, wake other threads if needed.
16768 (gomp_barrier_handle_tasks): Likewise. If
16769 gomp_team_barrier_cancelled, don't start any new tasks, just free
16771 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
16773 (omp_proc_bind_kind, omp_proc_bind_false,
16774 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16775 omp_proc_bind_spread): New params.
16776 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16777 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16778 omp_get_team_num, omp_is_initial_device): New interfaces.
16779 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
16780 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
16781 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
16782 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
16783 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
16784 useless use omp_lib_kinds.
16785 * omp.h.in (omp_proc_bind_t): New typedef.
16786 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16787 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16788 omp_get_team_num, omp_is_initial_device): New prototypes.
16789 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
16790 through to gomp_team_start.
16791 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
16792 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
16793 Adjust gomp_parallel_loop_start callers.
16794 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16795 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16796 GOMP_loop_end_cancel): New functions.
16797 (GOMP_parallel_end): Add ialias_redirect.
16798 * hashtab.h: New file.
16799 * libgomp.texi (Environment Variables): Minor cleanup,
16800 update section refs to OpenMP 4.0rc2.
16801 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
16802 environment variables.
16803 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
16804 team->work_shares_to_free to thr->ts.work_share before calling
16806 (gomp_work_share_end_cancel): New function.
16807 * config/linux/proc.c: Include errno.h.
16808 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
16809 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
16810 sizeof (cpu_set_t) to determine number of iterations. Fix up check
16811 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
16812 gomp_cpuset_size is sizeof (cpu_set_t).
16813 (gomp_init_num_threads): Initialize gomp_cpuset_size,
16814 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
16815 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
16816 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
16817 contain any logical CPUs.
16818 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
16819 is NULL. Use gomp_cpusetp instead of &cpuset and pass
16820 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
16821 pthread_getaffinity_np. Check gomp_places_list instead of
16822 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
16823 * config/linux/bar.c (gomp_barrier_wait_end,
16824 gomp_barrier_wait_last): Use BAR_* defines.
16825 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
16826 from state where needed. Set work_share_cancelled to 0 on last
16828 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
16829 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
16831 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
16832 Add cpusetsize argument.
16833 (gomp_cpuset_size, gomp_cpusetp): Declare.
16834 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
16835 (affinity_counter): Remove.
16836 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
16837 if CPU_ALLOC_SIZE isn't defined.
16838 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
16839 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
16840 bind current thread to the first place.
16841 (gomp_init_thread_affinity): Rewritten. Add place argument, just
16842 pthread_setaffinity_np to gomp_places_list[place].
16843 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16844 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16845 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16846 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
16847 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16848 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16849 (gomp_barrier_t): Add awaited_final field.
16850 (gomp_barrier_init): Initialize awaited_final field.
16851 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
16852 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
16854 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
16856 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
16857 gomp_team_barrier_cancelled): New inline functions.
16858 (gomp_barrier_last_thread,
16859 gomp_team_barrier_set_task_pending,
16860 gomp_team_barrier_clear_task_pending,
16861 gomp_team_barrier_set_waiting_for_tasks,
16862 gomp_team_barrier_waiting_for_tasks,
16863 gomp_team_barrier_done): Use BAR_* defines.
16864 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
16865 (gomp_barrier_wait_end): Use BAR_* defines.
16866 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
16867 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
16869 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
16870 gomp_team_barrier_cancel): New functions.
16871 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
16873 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16874 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16875 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16876 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
16877 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16878 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16879 (gomp_barrier_t): Add cancellable field.
16880 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
16881 gomp_team_barrier_cancel): New prototypes.
16882 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
16883 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
16884 gomp_team_barrier_cancelled): New inline functions.
16885 (gomp_barrier_wait_start, gomp_barrier_last_thread,
16886 gomp_team_barrier_set_task_pending,
16887 gomp_team_barrier_clear_task_pending,
16888 gomp_team_barrier_set_waiting_for_tasks,
16889 gomp_team_barrier_waiting_for_tasks,
16890 gomp_team_barrier_done): Use BAR_* defines.
16891 * barrier.c (GOMP_barrier_cancel): New function.
16892 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
16893 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16894 omp_proc_bind_spread): New params.
16895 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16896 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16897 omp_get_team_num, omp_is_initial_device): New externals.
16898 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
16900 (gomp_resolve_num_threads): Adjust for thread_limit now being in
16901 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
16902 infinity. If not nested, just return minimum of max_num_threads
16903 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
16904 to the returned value. Otherwise, don't update atomically
16905 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
16906 (GOMP_parallel_end): Adjust for thread_limit now being in
16907 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
16908 infinity. Adjust threads_busy in the pool rather than
16909 gomp_remaining_threads_count. Remember team->nthreads and call
16910 gomp_team_end before adjusting threads_busy, if not nested
16911 afterwards, just set it to 1 non-atomically. Add ialias.
16912 (GOMP_parallel_start): Adjust gomp_team_start caller.
16913 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
16914 * testsuite/libgomp.c/affinity-1.c: New test.
16915 * testsuite/libgomp.c/atomic-15.c: New test.
16916 * testsuite/libgomp.c/atomic-16.c: New test.
16917 * testsuite/libgomp.c/atomic-17.c: New test.
16918 * testsuite/libgomp.c/cancel-for-1.c: New test.
16919 * testsuite/libgomp.c/cancel-for-2.c: New test.
16920 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
16921 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
16922 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
16923 * testsuite/libgomp.c/cancel-sections-1.c: New test.
16924 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
16925 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
16926 * testsuite/libgomp.c/depend-1.c: New test.
16927 * testsuite/libgomp.c/depend-2.c: New test.
16928 * testsuite/libgomp.c/depend-3.c: New test.
16929 * testsuite/libgomp.c/depend-4.c: New test.
16930 * testsuite/libgomp.c/for-1.c: New test.
16931 * testsuite/libgomp.c/for-1.h: New file.
16932 * testsuite/libgomp.c/for-2.c: New test.
16933 * testsuite/libgomp.c/for-2.h: New file.
16934 * testsuite/libgomp.c/for-3.c: New test.
16935 * testsuite/libgomp.c/pr58392.c: New test.
16936 * testsuite/libgomp.c/simd-1.c: New test.
16937 * testsuite/libgomp.c/simd-2.c: New test.
16938 * testsuite/libgomp.c/simd-3.c: New test.
16939 * testsuite/libgomp.c/simd-4.c: New test.
16940 * testsuite/libgomp.c/simd-5.c: New test.
16941 * testsuite/libgomp.c/simd-6.c: New test.
16942 * testsuite/libgomp.c/target-1.c: New test.
16943 * testsuite/libgomp.c/target-2.c: New test.
16944 * testsuite/libgomp.c/target-3.c: New test.
16945 * testsuite/libgomp.c/target-4.c: New test.
16946 * testsuite/libgomp.c/target-5.c: New test.
16947 * testsuite/libgomp.c/target-6.c: New test.
16948 * testsuite/libgomp.c/target-7.c: New test.
16949 * testsuite/libgomp.c/taskgroup-1.c: New test.
16950 * testsuite/libgomp.c/thread-limit-1.c: New test.
16951 * testsuite/libgomp.c/thread-limit-2.c: New test.
16952 * testsuite/libgomp.c/thread-limit-3.c: New test.
16953 * testsuite/libgomp.c/udr-1.c: New test.
16954 * testsuite/libgomp.c/udr-2.c: New test.
16955 * testsuite/libgomp.c/udr-3.c: New test.
16956 * testsuite/libgomp.c++/affinity-1.C: New test.
16957 * testsuite/libgomp.c++/atomic-10.C: New test.
16958 * testsuite/libgomp.c++/atomic-11.C: New test.
16959 * testsuite/libgomp.c++/atomic-12.C: New test.
16960 * testsuite/libgomp.c++/atomic-13.C: New test.
16961 * testsuite/libgomp.c++/atomic-14.C: New test.
16962 * testsuite/libgomp.c++/atomic-15.C: New test.
16963 * testsuite/libgomp.c++/cancel-for-1.C: New test.
16964 * testsuite/libgomp.c++/cancel-for-2.C: New test.
16965 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
16966 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
16967 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
16968 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
16969 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
16970 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
16971 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
16972 * testsuite/libgomp.c++/cancel-test.h: New file.
16973 * testsuite/libgomp.c++/for-9.C: New test.
16974 * testsuite/libgomp.c++/for-10.C: New test.
16975 * testsuite/libgomp.c++/for-11.C: New test.
16976 * testsuite/libgomp.c++/simd-1.C: New test.
16977 * testsuite/libgomp.c++/simd-2.C: New test.
16978 * testsuite/libgomp.c++/simd-3.C: New test.
16979 * testsuite/libgomp.c++/simd-4.C: New test.
16980 * testsuite/libgomp.c++/simd-5.C: New test.
16981 * testsuite/libgomp.c++/simd-6.C: New test.
16982 * testsuite/libgomp.c++/simd-7.C: New test.
16983 * testsuite/libgomp.c++/simd-8.C: New test.
16984 * testsuite/libgomp.c++/target-1.C: New test.
16985 * testsuite/libgomp.c++/target-2.C: New test.
16986 * testsuite/libgomp.c++/target-2-aux.cc: New file.
16987 * testsuite/libgomp.c++/target-3.C: New test.
16988 * testsuite/libgomp.c++/taskgroup-1.C: New test.
16989 * testsuite/libgomp.c++/udr-1.C: New test.
16990 * testsuite/libgomp.c++/udr-2.C: New test.
16991 * testsuite/libgomp.c++/udr-3.C: New test.
16992 * testsuite/libgomp.c++/udr-4.C: New test.
16993 * testsuite/libgomp.c++/udr-5.C: New test.
16994 * testsuite/libgomp.c++/udr-6.C: New test.
16995 * testsuite/libgomp.c++/udr-7.C: New test.
16996 * testsuite/libgomp.c++/udr-8.C: New test.
16997 * testsuite/libgomp.c++/udr-9.C: New test.
16999 2013-09-20 Jakub Jelinek <jakub@redhat.com>
17002 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17005 2013-09-20 Alan Modra <amodra@gmail.com>
17007 * configure: Regenerate.
17009 2013-09-19 Jakub Jelinek <jakub@redhat.com>
17011 * testsuite/libgomp.c/sections-2.c: New test.
17013 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17015 * testsuite/libgomp.fortran/strassen.f90:
17016 Add dg-skip-if aarch64_tiny.
17018 2013-06-20 Iain Sandoe <iain@codesourcery.com>
17019 Cesar Philippidis <cesar@codesourcery.com>
17021 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17022 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17023 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17024 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17025 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17026 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17027 Use dg-runtest rather than gfortran-dg-runtest.
17029 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17031 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17032 Linux-based x86 systems to cover all GNU systems.
17033 * testsuite/libgomp.c/lock-3.c: Likewise.
17034 * testsuite/libgomp.c/pr48591.c: Likewise.
17036 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17038 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17039 GNU/Hurd, as done for Linux-based systems.
17041 * config/posix/ptrlock.h: Fix comment.
17043 2013-05-27 Tobias Burnus <burnus@net-b.de>
17046 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17047 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17048 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17049 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17050 omp_destroy_nest_lock): Correct arguments to match the one in
17052 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17053 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17054 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17055 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17057 2013-05-16 Jakub Jelinek <jakub@redhat.com>
17059 * testsuite/libgomp.c/loop-13.c: New test.
17060 * testsuite/libgomp.c/loop-14.c: New test.
17061 * testsuite/libgomp.c/loop-15.c: New test.
17062 * testsuite/libgomp.c++/loop-13.C: New test.
17063 * testsuite/libgomp.c++/loop-14.C: New test.
17064 * testsuite/libgomp.c++/loop-15.C: New test.
17066 2013-02-06 Jakub Jelinek <jakub@redhat.com>
17068 PR middle-end/56217
17069 * testsuite/libgomp.c++/pr56217.C: New test.
17071 2013-02-01 Alan Modra <amodra@gmail.com>
17073 * task.c (GOMP_task, GOMP_taskwait): Comment.
17075 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17076 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17079 * config/linux/wait.h (do_spin): Use atomic load for addr.
17080 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17081 for intptr and ptrlock.
17082 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17085 2013-01-22 Alan Modra <amodra@gmail.com>
17089 * task.c (GOMP_task): Revert 2011-12-09 change.
17090 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17091 barrier to read task->children..
17092 (gomp_barrier_handle_tasks): ..and matching atomic store with
17093 release barrier here when setting parent->children to NULL.
17095 2013-01-16 Jakub Jelinek <jakub@redhat.com>
17096 Tobias Burnus <burnus@net-b.de>
17099 * testsuite/libgomp.fortran/fortran.exp: Use
17100 -fintrinsic-modules-path= instead of
17101 -fintrinsic-modules-path.
17103 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17105 Update copyright years.
17107 2012-12-19 Tobias Burnus <burnus@net-b.de>
17109 * testsuite/libgomp.fortran/fortran.exp: Set
17110 -fintrinsic-modules-path.
17112 2012-12-19 Tobias Burnus <burnus@net-b.de>
17114 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17115 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17117 2012-11-21 Jakub Jelinek <jakub@redhat.com>
17120 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17121 if pool had any threads_used.
17123 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17125 * testsuite/libgomp.c++/pr24455.C: Use
17126 -Wl,-undefined,dynamic_lookup on darwin.
17128 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
17130 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17132 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17134 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17136 2012-10-23 Ian Bolton <ian.bolton@arm.com>
17137 Jim MacArthur <jim.macarthur@arm.com>
17138 Marcus Shawcroft <marcus.shawcroft@arm.com>
17139 Nigel Stephens <nigel.stephens@arm.com>
17140 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17141 Richard Earnshaw <rearnsha@arm.com>
17142 Sofiane Naci <sofiane.naci@arm.com>
17143 Stephen Thomas <stephen.thomas@arm.com>
17144 Tejas Belagod <tejas.belagod@arm.com>
17145 Yufeng Zhang <yufeng.zhang@arm.com>
17147 * configure.tgt: Add AArch64.
17149 2012-10-04 Jason Merrill <jason@redhat.com>
17151 * testsuite/libgomp.c++/tls-init1.C: New.
17153 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
17155 * configure: Regenerated.
17157 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17159 * config/linux/mips/futex.h (sys_futex0): Change to static
17160 function with noinline, nomips16 attributes under MIPS16. Adjust
17161 asm statement to place 'li v0,SYS_futex' immediately before
17164 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17166 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17167 conflict with index.html on case-insensitive file systems.
17169 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
17171 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17172 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17174 2012-07-02 Richard Guenther <rguenther@suse.de>
17175 Michael Matz <matz@suse.de>
17176 Tobias Grosser <tobias@grosser.es>
17177 Sebastian Pop <sebpop@gmail.com>
17179 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17180 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17181 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17182 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17184 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17186 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17188 2012-06-22 Richard Guenther <rguenther@suse.de>
17190 Merge from graphite branch
17191 2012-01-13 Tobias Grosser <tobias@grosser.es>
17193 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17194 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17196 2012-06-07 Jakub Jelinek <jakub@redhat.com>
17198 PR middle-end/53580
17199 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17200 use GOMP_barrier () call instead.
17201 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17202 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17203 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17204 call GOMP_barrier instead.
17205 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17207 2012-06-06 Jakub Jelinek <jakub@redhat.com>
17210 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17211 argument to memset call.
17213 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17215 * configure: Regenerated.
17217 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17219 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17221 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17224 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17226 2012-03-22 Jakub Jelinek <jakub@redhat.com>
17228 PR middle-end/52547
17229 * testsuite/libgomp.c/pr52547.c: New test.
17231 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17233 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17235 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17237 * configure.tgt (mips-sgi-irix6*): Remove.
17239 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17241 * configure.tgt (alpha*-dec-osf*): Remove.
17243 * config/osf/sem.h: Remove.
17244 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17246 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17248 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17250 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17253 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17254 Remove ENABLE_SYMVERS_SOL2.
17255 * configure: Regenerate.
17256 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17257 (PREPROCESS): New variable.
17258 (libgomp.ver): New target.
17259 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17260 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17261 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17263 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17264 * Makefile.in: Regenerate.
17266 2012-02-14 Walter Lee <walt@tilera.com>
17268 * configure.tgt: Handle tilegx and tilepro.
17269 * config/linux/tile/futex.h: New file.
17271 2012-02-08 Richard Guenther <rguenther@suse.de>
17273 PR tree-optimization/46886
17274 * testsuite/libgomp.c/pr46886.c: New testcase.
17276 2012-01-25 Matthias Klose <doko@ubuntu.com>
17278 * config/linux/arm: Remove empty directory.
17279 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17281 2011-12-09 Alan Modra <amodra@gmail.com>
17284 * task.c (GOMP_taskwait): Don't access task->children outside of
17285 task_lock mutex region.
17286 (GOMP_task): Likewise.
17288 2011-12-06 Jakub Jelinek <jakub@redhat.com>
17291 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17293 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17294 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17295 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17296 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17297 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17299 2011-12-02 Alan Modra <amodra@gmail.com>
17301 * config/linux/affinity.c: Use atomic rather than sync builtin.
17302 * config/linux/lock.c: Likewise.
17303 * config/linux/ptrlock.h: Likewise.
17304 * config/linux/ptrlock.c: Likewise.
17305 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17306 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17307 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17308 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17309 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17310 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17311 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17312 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17313 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17314 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17316 2011-11-30 Alan Modra <amodra@gmail.com>
17319 * config/linux/bar.h: Use atomic rather than sync builtins.
17320 * config/linux/bar.c: Likewise. Add missing acquire
17321 synchronisation on generation field.
17322 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17325 2011-11-30 Alan Modra <amodra@gmail.com>
17327 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17328 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17329 * config/linux/mutex.h: Use atomic rather than sync builtins.
17330 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17331 * config/linux/omp-lock.h: Comment fix.
17332 * config/linux/arm/mutex.h: Delete.
17333 * config/linux/powerpc/mutex.h: Delete.
17334 * config/linux/ia64/mutex.h: Delete.
17335 * config/linux/mips/mutex.h: Delete.
17337 2011-11-30 Alan Modra <amodra@gmail.com>
17340 * config/linux/sem.h: Rewrite.
17341 * config/linux/sem.c: Rewrite.
17343 2011-11-28 Richard Henderson <rth@redhat.com>
17345 * libgomp.h (enum memmodel): New.
17347 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
17349 * configure: Regenerate.
17351 2011-10-10 Matthias Klose <doko@ubuntu.com>
17353 * config/posix95: Remove empty directory.
17355 2011-08-26 Jakub Jelinek <jakub@redhat.com>
17357 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17359 2011-08-19 Jakub Jelinek <jakub@redhat.com>
17362 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17363 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17365 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17367 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17369 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17372 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17374 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
17376 * config/linux/proc.h: New.
17377 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17378 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17379 (gomp_init_num_threads): Update call to cpuset_popcount.
17380 (get_num_procs): Ditto.
17381 * config/linux/affinity.c (gomp_init_affinity): Call
17382 gomp_cpuset_popcount.
17384 2011-08-02 Jakub Jelinek <jakub@redhat.com>
17388 * omp.h.in (omp_in_final): New prototype.
17389 * omp_lib.f90.in (omp_in_final): New interface.
17390 (omp_integer_kind, omp_logical_kind): Remove
17391 and replace all its uses in the module with 4.
17392 (openmp_version): Change to 201107.
17393 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17394 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17395 kind for the parameters.
17396 (omp_in_final): New external.
17397 (openmp_version): Change to 201107.
17398 * task.c (omp_in_final): New function.
17399 (gomp_init_task): Initialize final_task.
17400 (GOMP_task): Remove unused attribute from flags. Handle final
17402 (GOMP_taskyield): New function.
17403 (omp_in_final): Return true if if (false) or final (true) task
17404 or descendant of final (true).
17405 * fortran.c (omp_in_final_): New function.
17406 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17407 (GOMP_3.0): Export GOMP_taskyield.
17408 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17410 (parse_unsigned_long_list): New function.
17411 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17412 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17413 even if parse_affinity returned false.
17414 * config/linux/affinity.c (gomp_init_affinity): Handle
17415 gomp_cpu_affinity_len == 0.
17416 * libgomp_g.h (GOMP_taskyield): New prototype.
17417 * libgomp.h (struct gomp_task): Add final_task field.
17418 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17419 * team.c (gomp_team_start): Override new task's nthreads_var icv
17420 if list form OMP_NUM_THREADS has been used and it has value for
17421 the new nesting level.
17423 * testsuite/libgomp.c/atomic-11.c: New test.
17424 * testsuite/libgomp.c/atomic-12.c: New test.
17425 * testsuite/libgomp.c/atomic-13.c: New test.
17426 * testsuite/libgomp.c/atomic-14.c: New test.
17427 * testsuite/libgomp.c/reduction-6.c: New test.
17428 * testsuite/libgomp.c/task-5.c: New test.
17429 * testsuite/libgomp.c++/atomic-2.C: New test.
17430 * testsuite/libgomp.c++/atomic-3.C: New test.
17431 * testsuite/libgomp.c++/atomic-4.C: New test.
17432 * testsuite/libgomp.c++/atomic-5.C: New test.
17433 * testsuite/libgomp.c++/atomic-6.C: New test.
17434 * testsuite/libgomp.c++/atomic-7.C: New test.
17435 * testsuite/libgomp.c++/atomic-8.C: New test.
17436 * testsuite/libgomp.c++/atomic-9.C: New test.
17437 * testsuite/libgomp.c++/task-8.C: New test.
17438 * testsuite/libgomp.c++/reduction-4.C: New test.
17439 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17440 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17441 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17442 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17443 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17444 * testsuite/libgomp.fortran/pointer1.f90: New test.
17445 * testsuite/libgomp.fortran/pointer2.f90: New test.
17446 * testsuite/libgomp.fortran/task4.f90: New test.
17448 2011-08-02 Tobias Burnus <burnus@net-b.de>
17450 * libgomp.texi: Update OpenMP spec references to 3.1.
17451 (omp_in_final,OMP_PROC_BIND): New sections.
17452 (OMP_NUM_THREADS): Document that the value can be now a list.
17453 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17455 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17457 * config/linux/x86/futex.h: Check __x86_64__ instead of
17460 2011-07-29 Jakub Jelinek <jakub@redhat.com>
17462 PR middle-end/49897
17463 PR middle-end/49898
17464 * testsuite/libgomp.c/pr49897-1.c: New test.
17465 * testsuite/libgomp.c/pr49897-2.c: New test.
17466 * testsuite/libgomp.c/pr49898-1.c: New test.
17467 * testsuite/libgomp.c/pr49898-2.c: New test.
17469 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17471 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17472 for ia32 instead of ilp32.
17474 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17475 * testsuite/libgomp.c/atomic-6.c: Likewise.
17477 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17479 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17480 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17482 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17485 * config/osf/sem.h: New file.
17486 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17488 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17491 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17494 2011-07-15 Jakub Jelinek <jakub@redhat.com>
17496 * config/linux/wait.h (do_spin): New inline, largely copied
17497 from do_wait, just don't do futex_wait here, instead return true if
17499 (do_wait): Implement using do_spin.
17500 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17502 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17503 __sync_bool_compare_and_swap, pass the oldval to
17504 gomp_mutex_lock_slow.
17505 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17506 If all mutex contenders are just spinning and not sleeping, don't
17507 change state to 2 unnecessarily. Optimize the loop when state has
17508 already become 2 to use just one atomic operation per loop instead
17510 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17512 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17513 __sync_bool_compare_and_swap, pass the oldval to
17514 gomp_mutex_lock_slow.
17516 2011-06-22 Jakub Jelinek <jakub@redhat.com>
17519 * iter.c (gomp_iter_static_next): For chunk size 0
17520 only use n ceil/ nthreads size for the first
17521 n % nthreads threads in the team instead of
17522 all threads except for the last few ones which
17523 get less work or none at all.
17524 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17525 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17526 chunk argument, set run_sched_modifier to 0 for static
17527 resp. 1 for other kinds. If chunk argument is 0
17528 and not static, set value to 1.
17530 2011-05-19 Jakub Jelinek <jakub@redhat.com>
17533 * testsuite/libgomp.c++/pr49043.C: New test.
17536 * testsuite/libgomp.c++/pr48869.C: New test.
17538 2011-05-06 Jakub Jelinek <jakub@redhat.com>
17541 * fortran.c: Include limits.h.
17543 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
17545 (omp_set_num_threads_8_, omp_set_schedule_8_,
17546 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
17547 omp_get_team_size_8_): Use TO_INT macro.
17548 * testsuite/libgomp.fortran/pr48894.f90: New test.
17550 2011-04-13 Jakub Jelinek <jakub@redhat.com>
17552 PR middle-end/48591
17553 * testsuite/libgomp.c/pr48591.c: New test.
17555 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17558 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
17559 * configure: Regenerate.
17561 2011-02-27 Jakub Jelinek <jakub@redhat.com>
17564 * testsuite/libgomp.fortran/task3.f90: New test.
17566 2011-02-24 Tobias Burnus <burnus@net-b.de>
17568 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
17570 2011-02-23 Jakub Jelinek <jakub@redhat.com>
17573 * libgomp.texi (omp_get_wtime): Don't say time in the past
17574 must be Unix Epoch.
17576 2011-02-18 Jakub Jelinek <jakub@redhat.com>
17579 * testsuite/libgomp.fortran/fortran.exp: Check for both
17580 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
17581 but $blddir != "", still append ${blddir}/${lang_library_path}
17582 to ld_library_path.
17584 2011-02-16 Tobias Burnus <burnus@net-b.de>
17587 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
17588 of libquadmath.a before adding its libpath to ldflags.
17590 2011-02-14 Jakub Jelinek <jakub@redhat.com>
17593 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
17594 to FUTEX_WAIT futex syscall.
17595 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
17597 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17599 * configure: Regenerate.
17601 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
17604 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
17606 2011-01-16 Gerald Pfeifer
17608 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
17610 2010-12-14 Jakub Jelinek <jakub@redhat.com>
17613 * libgomp.fortran/allocatable6.f90: New test.
17615 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17617 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
17618 * configure: Regenerate.
17620 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
17624 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
17625 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
17626 * aclocal.m4: Regenerate.
17627 * configure: Regenerate.
17628 * Makefile.in: Regenerate.
17629 * testsuite/Makefile.in: Regenerate.
17631 2010-12-02 Jakub Jelinek <jakub@redhat.com>
17634 * libgomp.fortran/pr46753.f90: New test.
17637 * env.c (initialize_env): Default to spin count 300000
17638 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
17642 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
17643 at the end if sync builtins aren't supported.
17645 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17647 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
17649 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17651 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
17653 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
17655 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
17657 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
17658 Tobias Burnus <burnus@net-b.de>
17662 * configure: Regenerate.
17664 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
17666 * config/linux/futex.h: New.
17667 * config/linux/arm/mutex.h: New.
17668 * configure.tgt (arm*-*-linux*): Add config path.
17670 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
17672 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17674 2010-09-23 Tobias Burnus <burnus@net-b.de>
17676 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
17677 Change Fortran datatype to LOGICAL.
17678 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
17679 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
17681 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17683 * configure: Regenerate.
17685 2010-07-26 Jakub Jelinek <jakub@redhat.com>
17687 * libgomp.texi: Add function keyword to a couple of Fortran
17688 interfaces, use integer instead of int for Fortran.
17690 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
17692 * libgomp.texi: Fix spelling and pasto problems throughout.
17693 Adjust prototypes to match code.
17695 2010-07-24 Tobias Burnus <burnus@net-b.de>
17697 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
17698 silence -fwhole-file warning.
17700 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17702 * configure.tgt (*-*-solaris2.[56]*): Removed.
17704 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17706 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
17707 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
17708 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
17709 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
17710 targetting solaris2*.
17711 * configure: Regenerate.
17712 * config.h.in: Regenerate.
17714 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
17715 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
17716 Add libgomp_version_dep.
17717 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
17719 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
17720 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
17721 * Makefile.in: Regenerate.
17723 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
17724 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
17725 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
17726 to common block, protected by
17727 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
17729 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
17731 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
17733 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
17736 * configure: Regenerate.
17738 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17741 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
17742 * configure: Regenerate.
17743 * Makefile.in: Regenerate.
17744 * testsuite/Makefile.in: Regenerate.
17746 2010-04-26 Jakub Jelinek <jakub@redhat.com>
17749 * testsuite/libgomp.c/pr43893.c: New test.
17750 * testsuite/libgomp.c++/pr43893.C: New test.
17752 2010-04-21 Jakub Jelinek <jakub@redhat.com>
17754 PR middle-end/43570
17755 * testsuite/libgomp.fortran/vla8.f90: New test.
17757 2010-04-20 Jakub Jelinek <jakub@redhat.com>
17760 * config/linux/affinity.c (gomp_init_affinity): Decrease
17761 gomp_available_cpus if affinity mask confines the process to fewer
17763 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
17764 non-NULL, just return gomp_available_cpus.
17767 * sections.c (gomp_sections_init): Initialize ws->mode.
17769 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
17771 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
17772 not unused bar variable.
17773 * configure: Regenerate.
17775 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17777 * Makefile.in: Regenerate.
17778 * aclocal.m4: Regenerate.
17779 * testsuite/Makefile.in: Regenerate.
17781 2010-03-22 Jakub Jelinek <jakub@redhat.com>
17784 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
17785 (initialize_env): Adjust callers.
17786 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
17787 when the argument is 0.
17789 * testsuite/libgomp.c/pr42942.c: New test.
17791 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
17793 PR middle-end/42644
17794 PR middle-end/42130
17795 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17796 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
17798 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17800 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
17801 * testsuite/libgomp.c++/task-6.C: Likewise.
17803 2010-01-28 Steve Ellcey <sje@cup.hp.com>
17805 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
17807 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
17809 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
17810 * configure: Regenerate.
17812 2010-01-26 Jakub Jelinek <jakub@redhat.com>
17815 * testsuite/libgomp.fortran/allocatable5.f90: New test.
17817 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
17819 * configure.ac: Test for executability of GFORTRAN.
17820 * configure: Regenerate.
17822 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17824 * configure: Regenerate.
17826 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
17829 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
17831 2010-01-03 Richard Guenther <rguenther@suse.de>
17833 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
17835 2009-12-23 Sebastian Pop <sebpop@gmail.com>
17837 * testsuite/libgomp.graphite/pr4118.c: New.
17839 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17841 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
17842 for darwin, protect the test with require-effective-target tls_runtime.
17843 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
17845 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17848 * testsuite/lib/libgomp.exp: Provide -B options to allow for
17849 link spec %s substitutions for static libraries.
17851 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
17854 * libgomp.graphite/force-parallel-2.c: Reduce array size.
17856 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17858 * Makefile.in: Regenerate.
17859 * configure: Regenerate.
17860 * testsuite/Makefile.in: Regenerate.
17862 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
17864 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
17865 settings for LC_ALL and LANG.
17867 2009-11-25 Jakub Jelinek <jakub@redhat.com>
17870 * testsuite/libgomp.fortran/pr42162.f90: New test.
17872 2009-11-13 Jakub Jelinek <jakub@redhat.com>
17874 PR middle-end/42029
17875 * testsuite/libgomp.c/pr42029.c: New test.
17877 2009-10-26 Jakub Jelinek <jakub@redhat.com>
17879 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
17880 *s. Accept ld version without text in ()s.
17881 * configure: Regenerated.
17883 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
17885 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
17887 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17890 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
17891 or a hyphen (happens with fortran language disabled).
17892 * configure: Regenerate.
17894 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17896 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
17897 use sed script portable to Solaris /bin/sed for extracting ld
17899 * configure: Regenerate.
17901 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
17903 * testsuite/libgomp.graphite/bounds.c: New test.
17905 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17907 * Makefile.am (libgomp_la_LINK): New.
17908 * Makefile.in: Regenerate.
17910 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17912 * configure.ac (AC_PREREQ): Bump to 2.64.
17914 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17916 * Makefile.am (install-html, install-pdf): Remove.
17917 * Makefile.in: Regenerate.
17919 * Makefile.in: Regenerate.
17920 * aclocal.m4: Regenerate.
17921 * config.h.in: Regenerate.
17922 * configure: Regenerate.
17923 * testsuite/Makefile.in: Regenerate.
17925 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17927 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
17928 * Makefile.in: Regenerate.
17930 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
17932 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
17933 * Makefile.in: Regenerate.
17935 2009-08-19 Tobias Burnus <burnus@net-b.de>
17938 omp_lib.h.in: Fix -std=f95 errors.
17940 2009-08-14 David Edelsohn <edelsohn@gnu.org>
17942 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
17943 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
17944 * testsuite/libgomp.graphite/graphite.exp: New.
17946 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
17948 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
17951 2009-08-04 David Daney <ddaney@caviumnetworks.com>
17953 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
17954 needed memory barrier semantics.
17955 * config/linux/mips/mutex.h: New file.
17957 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17959 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
17961 2009-07-16 Joseph Myers <joseph@codesourcery.com>
17963 * configure: Regenerate.
17965 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
17970 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
17971 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
17972 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
17974 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
17976 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
17977 options when choosing a multilib.
17979 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
17981 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
17982 ld_library_path. Use add_path. Add just find_libgcc_s to
17983 ld_library_path, not every libgcc multilib directory.
17984 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
17985 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
17986 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
17988 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
17990 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
17992 * Makefile.am (LTLDFLAGS): Define.
17994 * Makefile.in: Regenerate.
17996 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
17999 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18000 libgfortranbegin, check existence of libgfortran.a instead of
18001 libgfortranbegin.a.
18003 2009-05-20 Jakub Jelinek <jakub@redhat.com>
18006 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18007 (gomp_free_pool_helper): Likewise.
18009 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18010 Jakub Jelinek <jakub@redhat.com>
18013 * testsuite/libgomp.fortran/workshare2.f90: New test.
18015 2009-04-09 Nick Clifton <nickc@redhat.com>
18017 * iter.c: Change copyright header to refer to version 3 of the
18018 GNU General Public License with version 3.1 of the GCC Runtime
18019 Library Exception and to point readers at the COPYING3 and
18020 COPYING3.RUNTIME files and the FSF's license web page.
18021 * alloc.c: Likewise.
18022 * barrier.c: Likewise.
18023 * config/bsd/proc.c: Likewise.
18024 * config/linux/affinity.c: Likewise.
18025 * config/linux/alpha/futex.h: Likewise.
18026 * config/linux/bar.c: Likewise.
18027 * config/linux/bar.h: Likewise.
18028 * config/linux/ia64/futex.h: Likewise.
18029 * config/linux/ia64/mutex.h: Likewise.
18030 * config/linux/lock.c: Likewise.
18031 * config/linux/mips/futex.h: Likewise.
18032 * config/linux/mutex.c: Likewise.
18033 * config/linux/mutex.h: Likewise.
18034 * config/linux/powerpc/futex.h: Likewise.
18035 * config/linux/proc.c: Likewise.
18036 * config/linux/ptrlock.c: Likewise.
18037 * config/linux/ptrlock.h: Likewise.
18038 * config/linux/s390/futex.h: Likewise.
18039 * config/linux/sem.c: Likewise.
18040 * config/linux/sem.h: Likewise.
18041 * config/linux/sparc/futex.h: Likewise.
18042 * config/linux/wait.h: Likewise.
18043 * config/linux/x86/futex.h: Likewise.
18044 * config/mingw32/proc.c: Likewise.
18045 * config/mingw32/time.c: Likewise.
18046 * config/posix/affinity.c: Likewise.
18047 * config/posix/bar.c: Likewise.
18048 * config/posix/bar.h: Likewise.
18049 * config/posix/lock.c: Likewise.
18050 * config/posix/mutex.h: Likewise.
18051 * config/posix/proc.c: Likewise.
18052 * config/posix/ptrlock.h: Likewise.
18053 * config/posix/sem.c: Likewise.
18054 * config/posix/sem.h: Likewise.
18055 * config/posix/time.c: Likewise.
18056 * config/posix95/lock.c: Likewise.
18057 * critical.c: Likewise.
18059 * error.c: Likewise.
18060 * fortran.c: Likewise.
18061 * iter_ull.c: Likewise.
18062 * libgomp.h: Likewise.
18063 * libgomp_f.h.in: Likewise.
18064 * libgomp_g.h: Likewise.
18065 * loop.c: Likewise.
18066 * loop_ull.c: Likewise.
18067 * omp.h.in: Likewise.
18068 * omp_lib.f90.in: Likewise.
18069 * omp_lib.h.in: Likewise.
18070 * ordered.c: Likewise.
18071 * parallel.c: Likewise.
18072 * sections.c: Likewise.
18073 * single.c: Likewise.
18074 * task.c: Likewise.
18075 * team.c: Likewise.
18076 * work.c: Likewise.
18078 2009-04-09 Jakub Jelinek <jakub@redhat.com>
18080 * testsuite/config/default.exp: Change copyright header to refer to
18081 version 3 of the GNU General Public License and to point readers
18082 at the COPYING3 file and the FSF's license web page.
18084 2009-04-08 Jakub Jelinek <jakub@redhat.com>
18086 PR middle-end/39573
18087 * libgomp.c++/pr39573.C: New test.
18089 2009-04-01 Jakub Jelinek <jakub@redhat.com>
18092 * testsuite/libgomp.c/pr39591-1.c: New test.
18093 * testsuite/libgomp.c/pr39591-2.c: New test.
18094 * testsuite/libgomp.c/pr39591-3.c: New test.
18096 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
18098 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18099 * testsuite/libgomp.c/atomic-6.c: Ditto.
18101 2009-03-23 Jakub Jelinek <jakub@redhat.com>
18104 * testsuite/libgomp.c/loop-12.c: New test.
18105 * testsuite/libgomp.c/loop-11.c: New test.
18106 * testsuite/libgomp.c++/loop-11.C: New test.
18107 * testsuite/libgomp.c++/loop-12.C: New test.
18108 * testsuite/libgomp.c++/for-8.C: New test.
18110 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18112 * configure: Regenerate.
18114 2009-02-11 Jakub Jelinek <jakub@redhat.com>
18116 PR middle-end/39154
18117 * testsuite/libgomp.c/pr39154.c: New test.
18119 2009-01-30 Ian Lance Taylor <iant@google.com>
18121 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18122 libgomp_ld_is_gold. Get gold version number.
18123 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18124 * configure: Rebuild.
18126 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18128 * testsuite/lib/libgomp.exp: Add -B option for targets that
18129 use libgfortran.a%s in their specs.
18131 2009-01-07 Jakub Jelinek <jakub@redhat.com>
18134 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18135 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18136 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18137 * configure: Regenerated.
18138 * config.h.in: Likewise.
18140 2008-12-28 Jakub Jelinek <jakub@redhat.com>
18143 * testsuite/libgomp.c/pr38650.c: New test.
18144 * testsuite/libgomp.c++/pr38650.C: New test.
18146 2008-12-27 Jakub Jelinek <jakub@redhat.com>
18148 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18150 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
18152 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18154 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18156 * configure: Regenerate.
18158 2008-12-08 Jakub Jelinek <jakub@redhat.com>
18160 PR middle-end/36802
18161 * testsuite/libgomp.c/pr36802-1.c: New test.
18162 * testsuite/libgomp.c/pr36802-2.c: New test.
18163 * testsuite/libgomp.c/pr36802-3.c: New test.
18165 2008-12-01 Janis Johnson <janis187@us.ibm.com>
18168 * config/linux/powerpc/mutex.h: New.
18170 2008-12-01 Jakub Jelinek <jakub@redhat.com>
18173 * testsuite/libgomp.c++/for-7.C: New test.
18176 * testsuite/libgomp.c++/for-6.C: New test.
18178 2008-11-26 Janis Johnson <janis187@us.ibm.com>
18181 * testsuite/lib/libgomp.exp: Include new timeout library files.
18182 (libgomp_target_compile): Set timeout value from new proc.
18184 2008-11-13 Steve Ellcey <sje@cup.hp.com>
18187 * config/linux/ia64/mutex.h: New.
18189 2008-11-04 Tobias Burnus <burnus@net-b.de>
18192 * libgomp.texi (Runtime library routines, environment variables):
18193 Update for OpenMP version 3.0.
18195 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18196 Steve Ellcey <sje@cup.hp.com>
18198 * configure: Regenerate for new libtool.
18199 * Makefile.in: Ditto.
18200 * testsuite/Makefile.in: Ditto.
18202 2008-09-19 Jakub Jelinek <jakub@redhat.com>
18203 Andreas Tobler <a.tobler@schweiz.org>
18205 * config/bsd/proc.c: New file.
18206 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18207 * configure.ac: Check for header <sys/sysctl.h>
18208 * configure: Regenerate.
18209 * config.h.in: Likewise.
18211 2008-09-05 Janis Johnson <janis187@us.ibm.com>
18213 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18215 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18217 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18218 * Makefile.in: Regenerated.
18219 * testsuite/Makefile.in: Regenerated.
18221 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
18223 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18224 depend on blddir if blddir exists.
18225 (libgomp_target_compile): Likewise.
18226 * testsuite/libgomp.c++/c++.exp: Likewise.
18227 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18229 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18231 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18232 Do not list GPL as Invariant Section.
18234 2008-07-28 Ilie Garbacea <ilie@mips.com>
18235 Chao-ying Fu <fu@mips.com>
18237 * configure.tgt: Enable futex for MIPS.
18238 * config/linux/mips/futex.h: New file.
18240 2008-07-16 Jakub Jelinek <jakub@redhat.com>
18242 * team.c (gomp_team_end): Free team immediately if it has
18245 2008-07-08 David Edelsohn <edelsohn@gnu.org>
18247 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18248 * testsuite/libgomp.fortran/fortran.exp: Same.
18249 * testsuite/libgomp.c/c.exp: Same.
18250 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18251 directory to library path first.
18253 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18255 * env.c (parse_stacksize): Add cast to avoid warning.
18256 (parse_spincount): Likewise.
18258 2008-06-27 Jakub Jelinek <jakub@redhat.com>
18260 * testsuite/libgomp.c/loop-10.c: New test.
18261 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18262 * libgomp.c++/loop-6.C (main): Likewise.
18265 * testsuite/libgomp.c/debug-1.c: New test.
18267 2008-06-19 Jakub Jelinek <jakub@redhat.com>
18269 * testsuite/libgomp.c/nqueens-1.c: New test.
18272 * testsuite/libgomp.c++/task-7.C: New function.
18274 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18276 * configure: Regenerate.
18278 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18280 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18281 mutex when HAVE_SYNC_BUILTINS isn't defined.
18283 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18285 * libgomp.texi (omp_test_lock): Fix typo.
18287 2008-06-12 Tobias Burnus <burnus@net-b.de>
18289 * omp_lib.f90.in: Add "implicit none".
18291 2008-06-12 Jakub Jelinek <jakub@redhat.com>
18293 PR middle-end/36506
18294 * testsuite/libgomp.c/reduction-5.c: New test.
18296 2008-06-11 Jakub Jelinek <jakub@redhat.com>
18298 * libgomp.h (struct gomp_task): Add in_tied_task field.
18299 * task.c (gomp_init_task): Initialize it.
18300 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18301 unconditionally. Don't call gomp_team_barrier_wake if
18302 current task is implicit or if(0) from implicit and number of
18303 running tasks is equal to nthreads - 1.
18306 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18307 omp_get_team_size_8): Fix pastos.
18310 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18311 * configure: Regenerated.
18312 * config.h.in: Regenerated.
18313 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18316 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18319 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18320 (GOMP_loop_ull_dynamic_start): Likewise.
18321 (GOMP_loop_ull_guided_start): Likewise.
18322 (GOMP_loop_ull_ordered_static_start): Likewise.
18323 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18324 (GOMP_loop_ull_ordered_guided_start): Likewise.
18326 2008-06-06 Jakub Jelinek <jakub@redhat.com>
18327 Richard Henderson <rth@redhat.com>
18328 Ulrich Drepper <drepper@redhat.com>
18329 Jakob Blomer <jakob.blomer@ira.uka.de>
18331 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18332 Substitute also OMP_*LOCK_25*.
18333 * configure: Regenerated.
18334 * config.h.in: Regenerated.
18335 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18336 ptrlock.c and task.c.
18337 * Makefile.in: Regenerated.
18338 * testsuite/Makefile.in: Regenerated.
18339 * task.c: New file.
18340 * loop_ull.c: New file.
18341 * iter_ull.c: New file.
18342 * libgomp.h: Include ptrlock.h.
18343 (enum gomp_task_kind): New type.
18344 (struct gomp_team): Add task_lock, task_queue, task_count,
18345 task_running_count, single_count fields. Add
18346 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18347 Remove work_share_lock, generation_mask,
18348 oldest_live_gen, num_live_gen and init_work_shares fields, add
18349 work work_share_list_alloc, work_share_list_free and work_share_chunk
18350 fields. Change work_shares from pointer to pointers into an array.
18351 Change ordered_release field into gomp_sem_t ** from flexible array
18352 member. Add implicit_task and initial_work_shares fields.
18353 Move close to the end of the struct.
18354 (struct gomp_team_state): Add single_count, last_work_share,
18355 active_level and level fields, remove work_share_generation.
18356 (gomp_barrier_handle_tasks): New prototype.
18357 (gomp_finish_task): New inline function.
18358 (struct gomp_work_share): Move chunk_size, end, incr into
18359 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18360 next_ll fields. Reshuffle fields. Add next_alloc,
18361 next_ws, next_free and inline_ordered_team_ids fields, change
18362 ordered_team_ids into pointer from flexible array member.
18363 Add mode field. Put lock and next into a different cache line
18364 from most of the write-once fields.
18365 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18366 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18367 gomp_iter_ull_guided_next): New prototypes.
18368 (gomp_new_icv): New prototype.
18369 (struct gomp_thread): Add thread_pool and task fields.
18370 (struct gomp_thread_pool): New type.
18371 (gomp_new_team): New prototype.
18372 (gomp_team_start): Change type of last argument.
18373 (gomp_new_work_share): Removed.
18374 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18375 (gomp_work_share_init_done): New static inline.
18376 (gomp_throttled_spin_count_var, gomp_available_cpus,
18377 gomp_managed_threads): New extern decls.
18378 (gomp_init_task): New prototype.
18379 (gomp_spin_count_var): New extern var decl.
18380 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18381 or no alias support, or if not PIC.
18382 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18383 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18384 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18385 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18386 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18387 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18388 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18389 gomp_test_nest_lock_25): New prototypes.
18390 (omp_lock_symver, strong_alias): Define.
18391 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18393 (gomp_end_task): New.
18394 (struct gomp_task_icv, gomp_global_icv): New.
18395 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18396 (struct gomp_task): New.
18397 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18398 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18400 (gomp_schedule_type): Reorder enum to match
18402 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18404 (gomp_thread_start): Add gomp_team_barrier_wait call.
18405 For non-nested case remove clearing of docked thread thr fields.
18406 Use pool fields instead of global gomp_* variables. Use
18407 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18408 Create tasks for each member thread.
18409 (free_team): Only destroy team barrier, task_lock here and free it.
18410 (gomp_free_thread): Free last_team if non-NULL.
18411 (gomp_team_end): Call gomp_team_barrier_wait instead of
18412 gomp_barrier_wait. For nested case call one extra
18413 gomp_barrier_wait. Move here some destruction from free_team.
18414 Call free_team on pool->last_team if any, rather than freeing
18415 current team. Destroy work_share_list_free_lock ifndef
18416 HAVE_SYNC_BUILTINS.
18417 (gomp_new_icv): New function.
18418 (gomp_threads, gomp_threads_size, gomp_threads_used,
18419 gomp_threads_dock): Removed.
18420 (gomp_thread_destructor): New variable.
18421 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18423 (gomp_team_start): Create new pool if current thread doesn't have
18424 one. Use pool fields instead of global gomp_* variables.
18425 Initialize thread_pool field for new threads. Clear single_count.
18426 Change last argument from ws to team, don't create
18427 new team, set ts.work_share to &team->work_shares[0] and clear
18428 ts.last_work_share. Don't clear ts.work_share_generation.
18429 If number of threads changed, adjust atomically gomp_managed_threads.
18430 Use gomp_init_task instead of gomp_new_task,
18431 set thr->task to the corresponding implicit_task array entry.
18432 Create tasks for each member thread. Initialize ts.level.
18433 (initialize_team): Call pthread_key_create on
18434 gomp_thread_destructor.
18435 (team_destructor): New function.
18436 (new_team): Removed.
18437 (gomp_new_team): New function.
18438 (free_team): Free gomp_work_share blocks chained through next_alloc,
18439 instead of freeing work_shares and destroying work_share_lock.
18440 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18441 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18442 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18443 of gomp_barrier_wait.
18444 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18445 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18446 if gomp_work_share_start returned true. Don't unlock ws->lock.
18447 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18448 of gomp_barrier_wait.
18449 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18450 gomp_work_share_init_done if gomp_work_share_start returned true.
18451 Don't unlock ws->lock.
18452 * work.c: Include stddef.h.
18453 (free_work_share): Use work_share_list_free_lock instead
18454 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18455 Call gomp_fini_work_share and then either free ws if orphaned, or
18456 put it into work_share_list_free list of the current team.
18457 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18459 (gomp_work_share_start, gomp_work_share_end,
18460 gomp_work_share_end_nowait): Rewritten.
18461 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18462 (openmp_version): Set to 200805.
18463 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18464 omp_sched_guided, omp_sched_auto): New parameters.
18465 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18466 omp_set_max_active_levels, omp_get_max_active_levels,
18467 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18468 omp_get_active_level): New interfaces.
18469 * omp_lib.h.in (openmp_version): Set to 200805.
18470 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18471 omp_sched_guided, omp_sched_auto): New parameters.
18472 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18473 omp_set_max_active_levels, omp_get_max_active_levels,
18474 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18475 omp_get_active_level): New externals.
18476 * loop.c: Include limits.h.
18477 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18479 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18480 Likewise. Use gomp_icv.
18481 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18482 ts.static_trip here.
18483 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18484 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18485 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18486 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18487 don't unlock ws->lock, otherwise lock it.
18488 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18489 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18490 (gomp_parallel_loop_start): Call gomp_new_team instead of
18491 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18492 Adjust gomp_team_start caller. Pass 0 as second argument to
18493 gomp_resolve_num_threads.
18494 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18495 If adding ws->chunk_size nthreads + 1 times after end won't
18496 overflow, set ws->mode to 1.
18497 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18498 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18499 GOMP_loop_ull_ordered_static_start,
18500 GOMP_loop_ull_ordered_dynamic_start,
18501 GOMP_loop_ull_ordered_guided_start,
18502 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18503 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18504 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18505 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18506 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18508 * libgomp.map: Export lock routines also @@OMP_2.0.
18509 (GOMP_loop_ordered_dynamic_first,
18510 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18511 GOMP_loop_ordered_static_first): Remove.
18512 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18513 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18514 GOMP_loop_ull_ordered_dynamic_next,
18515 GOMP_loop_ull_ordered_dynamic_start,
18516 GOMP_loop_ull_ordered_guided_next,
18517 GOMP_loop_ull_ordered_guided_start,
18518 GOMP_loop_ull_ordered_runtime_next,
18519 GOMP_loop_ull_ordered_runtime_start,
18520 GOMP_loop_ull_ordered_static_next,
18521 GOMP_loop_ull_ordered_static_start,
18522 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18523 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18524 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18525 (omp_set_schedule, omp_get_schedule,
18526 omp_get_thread_limit, omp_set_max_active_levels,
18527 omp_get_max_active_levels, omp_get_level,
18528 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18529 omp_set_schedule_, omp_set_schedule_8_,
18530 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18531 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18532 omp_get_max_active_levels_, omp_get_level_,
18533 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18534 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18535 New exports @@OMP_3.0.
18536 * omp.h.in (omp_sched_t): New type.
18537 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18538 omp_set_max_active_levels, omp_get_max_active_levels,
18539 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18540 omp_get_active_level): New prototypes.
18541 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
18542 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
18543 gomp_thread_limit_var, gomp_remaining_threads_count,
18544 gomp_remaining_threads_lock): New variables.
18545 (parse_spincount): New function.
18546 (initialize_env): Call gomp_init_num_threads unconditionally.
18547 Initialize gomp_available_cpus. Call parse_spincount,
18548 initialize gomp_{,throttled_}spin_count_var
18549 depending on presence and value of OMP_WAIT_POLICY and
18550 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
18551 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
18552 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
18553 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
18554 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
18555 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18556 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18557 (gomp_global_icv): New.
18558 (parse_schedule): Use it. Parse "auto".
18559 (omp_set_num_threads): Use gomp_icv.
18560 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
18562 (omp_get_max_threads): Move from parallel.c.
18563 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18564 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
18566 (parse_stacksize, parse_wait_policy): New functions.
18567 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
18568 both wrappers for compatibility and new locks.
18569 (omp_set_schedule, omp_get_schedule,
18570 omp_get_thread_limit, omp_set_max_active_levels,
18571 omp_get_max_active_levels, omp_get_level,
18572 omp_get_ancestor_thread_num, omp_get_team_size,
18573 omp_get_active_level): New ialias_redirect.
18574 (omp_set_schedule_, omp_set_schedule_8_,
18575 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18576 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18577 omp_get_max_active_levels_, omp_get_level_,
18578 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18579 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18581 * parallel.c: Include limits.h.
18582 (gomp_resolve_num_threads): Add count argument. Rewritten.
18583 (GOMP_parallel_start): Call gomp_new_team and pass that as last
18584 argument to gomp_team_start. Pass 0 as second argument to
18585 gomp_resolve_num_threads.
18586 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
18587 if gomp_thread_limit_var != ULONG_MAX.
18588 (omp_in_parallel): Implement using ts.active_level.
18589 (omp_get_max_threads): Move to env.c.
18590 (omp_get_level, omp_get_ancestor_thread_num,
18591 omp_get_team_size, omp_get_active_level): New functions,
18593 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
18594 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
18595 gomp_iter_dynamic_next instead of the _locked variant and don't take
18596 lock around it, otherwise acquire it before calling
18597 gomp_iter_dynamic_next_locked.
18598 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
18599 gomp_iter_dynamic_next instead of the _locked variant and don't take
18601 (GOMP_parallel_sections_start): Call gomp_new_team instead of
18602 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
18603 Adjust gomp_team_start caller. Pass count as second argument to
18604 gomp_resolve_num_threads, don't adjust num_threads after the call.
18606 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
18607 ws->chunk_size by incr.
18608 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
18610 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
18612 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
18613 (omp_check_defines): Check even the compat defines.
18614 * config/linux/ptrlock.c: New file.
18615 * config/linux/ptrlock.h: New file.
18616 * config/linux/wait.h: New file.
18617 * config/posix/ptrlock.c: New file.
18618 * config/posix/ptrlock.h: New file.
18619 * config/linux/bar.h (gomp_team_barrier_wait,
18620 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18621 (gomp_team_barrier_set_task_pending,
18622 gomp_team_barrier_clear_task_pending,
18623 gomp_team_barrier_set_waiting_for_tasks,
18624 gomp_team_barrier_waiting_for_tasks,
18625 gomp_team_barrier_done): New inlines.
18626 (gomp_barrier_t): Rewritten.
18627 (gomp_barrier_state_t): New typedef.
18628 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
18629 gomp_barrier_wait_start): Rewritten.
18630 (gomp_barrier_wait_end): Change second argument to
18631 gomp_barrier_state_t.
18632 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18634 * config/linux/bar.c: Include wait.h instead of libgomp.h and
18636 (gomp_barrier_wait_end): Rewritten.
18637 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18638 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
18639 * config/posix/bar.h (gomp_barrier_t): Add generation field.
18640 (gomp_barrier_state_t): New typedef.
18641 (gomp_team_barrier_wait,
18642 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18643 (gomp_barrier_wait_start): Or all but low 2 bits from generation
18644 into the return value. Return gomp_barrier_state_t.
18645 (gomp_team_barrier_set_task_pending,
18646 gomp_team_barrier_clear_task_pending,
18647 gomp_team_barrier_set_waiting_for_tasks,
18648 gomp_team_barrier_waiting_for_tasks,
18649 gomp_team_barrier_done): New inlines.
18650 (gomp_barrier_wait_end): Change second argument to
18651 gomp_barrier_state_t.
18652 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18654 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
18655 (gomp_barrier_wait_end): Change second argument to
18656 gomp_barrier_state_t.
18657 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18658 gomp_team_barrier_wake): New functions.
18659 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
18661 (gomp_futex_wake, gomp_futex_wait): New variables.
18662 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
18663 * config/linux/lock.c: Rewrite to make locks task owned,
18664 for backwards compatibility provide the old entrypoints
18665 if symbol versioning. Include wait.h instead of libgomp.h and
18667 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
18668 * config/posix95/lock.c: Rewrite to make locks task owned,
18669 for backwards compatibility provide the old entrypoints
18670 if symbol versioning.
18671 * config/posix/lock.c: Rewrite to make locks task owned,
18672 for backwards compatibility provide the old entrypoints
18673 if symbol versioning.
18674 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
18675 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
18676 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
18677 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18678 (sys_futex0): Return error code.
18679 (futex_wake, futex_wait): If ENOSYS was returned, clear
18680 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18681 (cpu_relax, atomic_write_barrier): New static inlines.
18682 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18683 (futex_wake, futex_wait): If ENOSYS was returned, clear
18684 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18685 (cpu_relax, atomic_write_barrier): New static inlines.
18686 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18687 (sys_futex0): Return error code.
18688 (futex_wake, futex_wait): If ENOSYS was returned, clear
18689 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18690 (cpu_relax, atomic_write_barrier): New static inlines.
18691 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18692 (sys_futex0): Return error code.
18693 (futex_wake, futex_wait): If ENOSYS was returned, clear
18694 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18695 (cpu_relax, atomic_write_barrier): New static inlines.
18696 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18697 (sys_futex0): Return error code.
18698 (futex_wake, futex_wait): If ENOSYS was returned, clear
18699 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18700 (cpu_relax, atomic_write_barrier): New static inlines.
18701 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18702 (sys_futex0): Return error code.
18703 (futex_wake, futex_wait): If ENOSYS was returned, clear
18704 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18705 (cpu_relax, atomic_write_barrier): New static inlines.
18706 * config/linux/sem.c: Include wait.h instead of libgomp.h and
18708 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
18709 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
18710 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
18712 (omp_nest_lock_t): Change owner into void *, add lock field.
18713 * config/posix95/omp-lock.h: Include semaphore.h.
18714 (omp_lock_25_t, omp_nest_lock_25_t): New types.
18715 (omp_lock_t): Use sem_t instead of mutex if semaphores
18717 (omp_nest_lock_t): Likewise. Change owner to void *.
18718 * config/posix/omp-lock.h: Include semaphore.h.
18719 (omp_lock_25_t, omp_nest_lock_25_t): New types.
18720 (omp_lock_t): Use sem_t instead of mutex if semaphores
18722 (omp_nest_lock_t): Likewise. Add owner field.
18724 2008-06-06 Jakub Jelinek <jakub@redhat.com>
18726 * testsuite/libgomp.c/collapse-1.c: New test.
18727 * testsuite/libgomp.c/collapse-2.c: New test.
18728 * testsuite/libgomp.c/collapse-3.c: New test.
18729 * testsuite/libgomp.c/icv-1.c: New test.
18730 * testsuite/libgomp.c/icv-2.c: New test.
18731 * testsuite/libgomp.c/lib-2.c: New test.
18732 * testsuite/libgomp.c/lock-1.c: New test.
18733 * testsuite/libgomp.c/lock-2.c: New test.
18734 * testsuite/libgomp.c/lock-3.c: New test.
18735 * testsuite/libgomp.c/loop-4.c: New test.
18736 * testsuite/libgomp.c/loop-5.c: New test.
18737 * testsuite/libgomp.c/loop-6.c: New test.
18738 * testsuite/libgomp.c/loop-7.c: New test.
18739 * testsuite/libgomp.c/loop-8.c: New test.
18740 * testsuite/libgomp.c/loop-9.c: New test.
18741 * testsuite/libgomp.c/nested-3.c: New test.
18742 * testsuite/libgomp.c/nestedfn-6.c: New test.
18743 * testsuite/libgomp.c/sort-1.c: New test.
18744 * testsuite/libgomp.c/task-1.c: New test.
18745 * testsuite/libgomp.c/task-2.c: New test.
18746 * testsuite/libgomp.c/task-3.c: New test.
18747 * testsuite/libgomp.c/task-4.c: New test.
18748 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
18749 to C++ testsuite default compiler options.
18750 * testsuite/libgomp.c++/collapse-1.C: New test.
18751 * testsuite/libgomp.c++/collapse-2.C: New test.
18752 * testsuite/libgomp.c++/ctor-10.C: New test.
18753 * testsuite/libgomp.c++/for-1.C: New test.
18754 * testsuite/libgomp.c++/for-2.C: New test.
18755 * testsuite/libgomp.c++/for-3.C: New test.
18756 * testsuite/libgomp.c++/for-4.C: New test.
18757 * testsuite/libgomp.c++/for-5.C: New test.
18758 * testsuite/libgomp.c++/loop-8.C: New test.
18759 * testsuite/libgomp.c++/loop-9.C: New test.
18760 * testsuite/libgomp.c++/loop-10.C: New test.
18761 * testsuite/libgomp.c++/task-1.C: New test.
18762 * testsuite/libgomp.c++/task-2.C: New test.
18763 * testsuite/libgomp.c++/task-3.C: New test.
18764 * testsuite/libgomp.c++/task-4.C: New test.
18765 * testsuite/libgomp.c++/task-5.C: New test.
18766 * testsuite/libgomp.c++/task-6.C: New test.
18767 * testsuite/libgomp.fortran/allocatable1.f90: New test.
18768 * testsuite/libgomp.fortran/allocatable2.f90: New test.
18769 * testsuite/libgomp.fortran/allocatable3.f90: New test.
18770 * testsuite/libgomp.fortran/allocatable4.f90: New test.
18771 * testsuite/libgomp.fortran/collapse1.f90: New test.
18772 * testsuite/libgomp.fortran/collapse2.f90: New test.
18773 * testsuite/libgomp.fortran/collapse3.f90: New test.
18774 * testsuite/libgomp.fortran/collapse4.f90: New test.
18775 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
18776 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
18777 * testsuite/libgomp.fortran/lib4.f90: New test.
18778 * testsuite/libgomp.fortran/lock-1.f90: New test.
18779 * testsuite/libgomp.fortran/lock-2.f90: New test.
18780 * testsuite/libgomp.fortran/nested1.f90: New test.
18781 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
18782 * testsuite/libgomp.fortran/strassen.f90: New test.
18783 * testsuite/libgomp.fortran/tabs1.f90: New test.
18784 * testsuite/libgomp.fortran/tabs2.f: New test.
18785 * testsuite/libgomp.fortran/task1.f90: New test.
18786 * testsuite/libgomp.fortran/task2.f90: New test.
18787 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
18788 * testsuite/libgomp.fortran/vla5.f90: Likewise.
18789 * testsuite/libgomp.c/pr26943-2.c: Likewise.
18790 * testsuite/libgomp.c/pr26943-3.c: Likewise.
18791 * testsuite/libgomp.c/pr26943-4.c: Likewise.
18793 2008-05-23 Jakub Jelinek <jakub@redhat.com>
18796 * testsuite/libgomp.c++/ctor-11.C: New test.
18797 * testsuite/libgomp.c++/ctor-12.C: New test.
18799 2008-05-15 Janis Johnson <janis187@us.ibm.com>
18801 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
18803 2008-05-07 Jakub Jelinek <jakub@redhat.com>
18805 PR middle-end/36106
18806 * testsuite/libgomp.c/atomic-5.c: New test.
18807 * testsuite/libgomp.c/atomic-6.c: New test.
18808 * testsuite/libgomp.c/autopar-1.c: New test.
18810 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18812 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
18813 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
18814 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
18815 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
18816 * configure: Regenerate.
18817 * Makefile.in, testsuite/Makefile.in: Likewise.
18819 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
18822 * aclocal.m4: Regenerate.
18823 * configure: Regenerate.
18825 2008-03-18 Jakub Jelinek <jakub@redhat.com>
18827 PR middle-end/35611
18828 * testsuite/libgomp.c/atomic-4.c: New test.
18831 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
18832 (gomp_iter_guided_next): Likewise.
18833 * testsuite/libgomp.c/pr35625.c: New test.
18835 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18837 * aclocal.m4: Regenerate.
18838 * configure: Likewise.
18839 * Makefile.in: Likewise.
18840 * testsuite/Makefile.in: Likewise.
18842 2008-03-13 Jakub Jelinek <jakub@redhat.com>
18844 PR middle-end/35185
18845 * testsuite/libgomp.c++/pr35185.C: New test.
18847 2008-03-12 Jakub Jelinek <jakub@redhat.com>
18849 PR middle-end/35549
18850 * testsuite/libgomp.c/pr35549.c: New test.
18852 2008-03-06 Jakub Jelinek <jakub@redhat.com>
18854 * testsuite/libgomp.c/atomic-3.c: New test.
18856 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18859 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
18860 .F08 file suffixes.
18862 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
18865 * configure.ac: Add ACX_HEADER_STRING.
18866 * env.c: Include strings.h.
18867 * aclocal.m4: Regenerate.
18868 * config.h.in: Regenerate.
18869 * configure: Regenerate.
18870 * Makefile.in: Regenerate.
18871 * testsuite/Makefile.in: Regenerate.
18873 2008-02-15 Jakub Jelinek <jakub@redhat.com>
18875 PR middle-end/35196
18876 * testsuite/libgomp.c/pr35196.c: New test.
18878 PR middle-end/35130
18879 * testsuite/libgomp.fortran/pr35130.f90: New test.
18880 * testsuite/libgomp.c/pr35130.c: New test.
18882 2008-01-25 Jakub Jelinek <jakub@redhat.com>
18884 PR middle-end/33880
18885 * testsuite/libgomp.c/pr33880.c: New test.
18886 * testsuite/libgomp.fortran/pr33880.f90: New test.
18888 2008-01-24 David Edelsohn <edelsohn@gnu.org>
18890 * configure: Regenerate.
18892 2008-01-08 Jakub Jelinek <jakub@redhat.com>
18894 * configure.ac: Move futex checking into ../config/futex.m4.
18895 * configure: Rebuilt.
18896 * aclocal.m4: Rebuilt.
18897 * Makefile.in: Rebuilt.
18899 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
18900 2007-10-15 ../config/tls.m4 change.
18902 2007-12-19 Jakub Jelinek <jakub@redhat.com>
18905 * testsuite/libgomp.c/pr34513.c: New test.
18906 * testsuite/libgomp.c++/pr34513.C: New test.
18908 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
18911 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
18913 2007-12-04 Jakub Jelinek <jakub@redhat.com>
18915 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
18917 2007-12-03 Jakub Jelinek <jakub@redhat.com>
18919 * testsuite/libgomp.c/private-1.c: New test.
18921 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
18922 Paolo Bonzini <bonzini@gnu.org>
18924 * Makefile.am: Use space as vpath separator. Use 'vpath %'
18925 instead of 'VPATH ='.
18926 * Makefile.in: Regenerate.
18928 2007-11-23 Matthias Klose <doko@ubuntu.com>
18930 * configure.ac: Adjust makeinfo version check.
18931 * configure: Regenerate.
18933 2007-11-10 Jakub Jelinek <jakub@redhat.com>
18936 * testsuite/libgomp.fortran/pr34020.f90: New test.
18938 2007-11-06 Jakub Jelinek <jakub@redhat.com>
18941 * testsuite/libgomp.c++/atomic-1.C: New test.
18943 2007-10-25 Jakub Jelinek <jakub@redhat.com>
18946 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
18947 Make x and y integers rather than (implicit) reals. Add private (j)
18948 clause to the last omp parallel.
18950 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
18952 * configure: Regenerate following changes to ../config/tls.m4.
18954 2007-09-28 Jakub Jelinek <jakub@redhat.com>
18956 * testsuite/libgomp.fortran/stack.f90: New test.
18958 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
18960 * config/mingw32/proc.c: New file.
18962 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
18964 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
18965 (main): Use __get_cpuid to get i386 target fetaures.
18966 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
18967 (main): Use __get_cpuid to get x86_64 target fetaures.
18969 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
18972 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
18973 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
18975 2007-07-12 Jakub Jelinek <jakub@redhat.com>
18978 * testsuite/libgomp.fortran/pr32550.f90: New test.
18979 * testsuite/libgomp.fortran/crayptr2.f90: New test.
18981 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
18983 * aclocal.m4: Regenerated.
18985 2007-07-05 Tobias Burnus <burnus@net-b.de>
18988 * testsuite/libgomp.fortran/pr32359.f90: New.
18990 2007-07-02 Jakub Jelinek <jakub@redhat.com>
18993 * sections.c (GOMP_parallel_sections_start): Only decrease
18994 number of threads to COUNT if dyn_var is true.
18995 * testsuite/libgomp.c/pr32468.c: New test.
18997 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19000 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19002 2007-06-21 Jakub Jelinek <jakub@redhat.com>
19004 PR middle-end/32362
19005 * testsuite/libgomp.c/pr32362-1.c: New test.
19006 * testsuite/libgomp.c/pr32362-2.c: New test.
19007 * testsuite/libgomp.c/pr32362-3.c: New test.
19009 2007-06-07 Jakub Jelinek <jakub@redhat.com>
19011 * team.c (gomp_team_start): Fix setting up thread_attr
19014 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
19016 * configure: Regenerate.
19018 2007-05-23 Steve Ellcey <sje@cup.hp.com>
19020 * Makefile.in: Regenerate.
19021 * configure: Regenerate.
19022 * aclocal.m4: Regenerate.
19023 * testsuite/Makefile.in: Regenerate.
19025 2007-05-04 Jakub Jelinek <jakub@redhat.com>
19027 * config/linux/proc.c: New file.
19030 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19032 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
19034 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19036 2007-04-16 Matthias Klose <doko@debian.org>
19038 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19039 flags if not building with -m64.
19040 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19041 flag for i?86-*-* targets, if current target matches -m64.
19043 2007-04-14 Steve Ellcey <sje@cup.hp.com>
19045 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19046 * Makefile.in: Regenerate.
19048 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19051 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19053 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19055 2007-04-04 Jakub Jelinek <jakub@redhat.com>
19057 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19059 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19060 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19061 (parse_affinity): New function.
19062 (initialize_env): Call it and gomp_init_affinity.
19063 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19064 create new pthread_attr_t and call gomp_init_thread_affinity
19065 on it for each thread before passing the attribute to pthread_create.
19066 * config/linux/affinity.c: New file.
19067 * config/posix/affinity.c: New file.
19068 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19069 * configure: Rebuilt.
19070 * config.h.in: Rebuilt.
19071 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19072 * Makefile.in: Rebuilt.
19074 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19076 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19078 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19079 and use it if found.
19081 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
19083 * testsuite/config/default.exp: New file.
19084 * testsuite/lib/libgomp.exp: New file.
19085 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19086 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19087 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19088 (libgomp_load): Remove.
19089 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19090 always_ld_library_path, not ld_library_path. Set additional_flags
19091 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19092 (target_compile): Do not call libgomp_init. Append lang_library_path
19093 and lang_link_flags to options.
19094 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19095 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19097 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19098 always_ld_library_path. Set LD_LIBRARY_PATH here.
19099 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19100 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19101 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19103 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19104 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19105 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19106 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19107 * testsuite/libgomp.c/atomic-10.c: Ditto.
19109 2007-03-21 Jakub Jelinek <jakub@redhat.com>
19111 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19112 dg-final cleanup-modules line.
19113 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19114 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19115 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19116 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19117 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19118 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19119 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19121 2007-03-18 Andreas Schwab <schwab@suse.de>
19123 * acinclude.m4: Adjust regular expression for ld version
19125 * configure: Regenerate.
19127 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19129 * Makefile.am: Add install-pdf target as copied from
19130 automake v1.10 rules.
19131 * Makefile.in: Regenerate
19133 2007-02-07 Jakub Jelinek <jakub@redhat.com>
19136 * configure: Regenerate.
19139 * testsuite/libgomp.c++/pr30703.C: New test.
19141 2007-02-02 Jakub Jelinek <jakub@redhat.com>
19144 2006-07-05 Eric Christopher <echristo@apple.com>
19145 * configure.ac: Depend addition of -pthread on host OS.
19146 * configure: Regenerate.
19148 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19150 * libgomp.texi: Fix spacing after abbreviations.
19152 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
19155 * configure.ac: Add check for makeinfo
19156 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19157 if an appropriate version of makeinfo is found.
19158 * aclocal.m4: Regenerated.
19159 * configure: Regenerated.
19160 * Makefile.in: Regenerated.
19161 * testsuite/Makefile.in: Regenerated.
19163 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
19166 * libgomp.texi: More about implementation-dependent settings.
19168 2007-01-26 Tobias Burnus <burnus@net-b.de>
19170 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19172 2007-01-24 Jakub Jelinek <jakub@redhat.com>
19174 PR middle-end/30494
19175 * testsuite/libgomp.c/pr30494.c: New test.
19177 2007-01-15 Tom Tromey <tromey@redhat.com>
19179 * configure: Rebuilt.
19180 * configure.ac: Fixed comment.
19182 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
19184 * libgomp.texi: Document implementation specific default values of
19185 environment variables.
19187 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
19190 * libgomp.texi: New file.
19191 * configure.ac: Add --enable-generated-files-in-srcdir option.
19192 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19194 * Makefile.in: Regenerated.
19195 * config.h.in: Regenerated.
19196 * testsuite/Makefile.in: Regenerated.
19199 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
19202 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19204 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19206 * configure: Regenerate.
19208 2006-12-04 Jakub Jelinek <jakub@redhat.com>
19211 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19212 start if there shouldn't be any loop iterations.
19213 (gomp_loop_ordered_static_start): Remove start == end test.
19214 * testsuite/libgomp.c/pr29947-1.c: New test.
19215 * testsuite/libgomp.c/pr29947-2.c: New test.
19217 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19219 * configure.tgt: Force initial-exec TLS model on Linux only.
19221 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19223 * configure: Regenerated.
19225 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
19227 * env.c (parse_schedule): Reject out of range values.
19228 (parse_unsigned_long): Reject out of range, negative or zero values.
19230 2006-10-29 Jakub Jelinek <jakub@redhat.com>
19233 * testsuite/libgomp.fortran/pr29629.f90: New test.
19235 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19238 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19239 * config/posix95: New directory.
19240 * config/posix95/omp-lock.h: New file.
19241 * config/posix95/lock.c: Likewise.
19243 2006-10-14 Geoffrey Keating <geoffk@apple.com>
19245 * aclocal.m4: Regenerate.
19246 * configure: Regenerate.
19248 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19250 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19253 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19255 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19257 * configure: Regenerate.
19258 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19260 2006-09-26 Jakub Jelinek <jakub@redhat.com>
19262 PR middle-end/25261
19263 PR middle-end/28790
19264 * testsuite/libgomp.c/nestedfn-4.c: New test.
19265 * testsuite/libgomp.c/nestedfn-5.c: New test.
19266 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19269 * testsuite/libgomp.fortran/condinc1.f: New test.
19270 * testsuite/libgomp.fortran/condinc2.f: New test.
19271 * testsuite/libgomp.fortran/condinc3.f90: New test.
19272 * testsuite/libgomp.fortran/condinc4.f90: New test.
19273 * testsuite/libgomp.fortran/condinc1.inc: New file.
19275 2006-09-18 Tom Tromey <tromey@redhat.com>
19277 * configure: Rebuilt.
19279 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19282 PR preprocessor/14634
19283 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19285 * configure: Regenerate.
19287 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19289 * testsuite/libgomp.fortran/reduction3.f90: Change
19290 -2147483648 to -huge(i)-1 to avoid overflow.
19291 * testsuite/libgomp.fortran/reduction4.f90: Change
19292 Z'ffffffff' to not(0) to avoid overflow.
19294 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19297 * Makefile.am (libsubincludedir): New.
19298 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19299 * Makefile.in: Regenerate.
19301 2006-08-17 Jakub Jelinek <jakub@redhat.com>
19304 * env.c: Include ctype.h.
19305 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19306 leading and/or trailing whitespace and compare strings case
19309 2006-07-16 Jakub Jelinek <jakub@redhat.com>
19312 * testsuite/libgomp.fortran/pr28390.f: New test.
19314 2006-07-05 Eric Christopher <echristo@apple.com>
19316 * configure.ac: Depend addition of -pthread on host OS.
19317 * configure: Regenerate.
19319 2006-06-21 Jakub Jelinek <jakub@redhat.com>
19321 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19322 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19325 2006-06-20 Jakub Jelinek <jakub@redhat.com>
19329 * configure.ac: If neither --enable-linux-futex nor
19330 --disable-linux-futex is passed, determine the default by checking
19331 for compiling and/or running against NPTL. With --enable-linux-futex,
19332 check if SYS_gettid and SYS_futex are defined.
19333 * configure: Rebuilt.
19335 2006-06-14 Richard Henderson <rth@redhat.com>
19338 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19339 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19341 2006-06-09 Richard Henderson <rth@redhat.com>
19343 * env.c (gomp_nthreads_var): Change to unsigned long.
19344 (gomp_run_sched_chunk): Likewise.
19345 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19346 (initialize_env): Initialize gomp_thread_attr.
19347 * libgomp.h (gomp_nthreads_var): Update decl.
19348 (gomp_run_sched_chunk): Likewise.
19349 (gomp_thread_attr): Declare.
19350 * team.c (gomp_thread_attr): Export.
19351 (initialize_team): Don't initialize it.
19353 2006-06-09 Jakub Jelinek <jakub@redhat.com>
19356 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19357 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19359 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19361 * config/mingw32/time.c: New file.
19362 * configure.tgt: Use it.
19364 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19366 * Makefile.am: Add install-html target. Add install-html to .PHONY
19367 * Makefile.in: Regenerate.
19369 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19372 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19373 * testsuite/libgomp.c/critical-1.c: Likewise.
19374 * testsuite/libgomp.c/loop-1.c: Likewise.
19375 * testsuite/libgomp.c/loop-2.c: Likewise.
19376 * testsuite/libgomp.c/single-1.c: Likewise.
19377 * testsuite/libgomp.c/ordered-1.c: Likewise.
19378 * testsuite/libgomp.c/ordered-2.c: Likewise.
19380 2006-05-15 Jakub Jelinek <jakub@redhat.com>
19382 PR middle-end/27416
19383 * libgomp.fortran/pr27416-1.f90: New test.
19385 2006-05-03 Jakub Jelinek <jakub@redhat.com>
19388 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19389 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19391 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19394 * testsuite/libgomp.c/pr26943-1.c: New test.
19395 * testsuite/libgomp.c/pr26943-2.c: New test.
19396 * testsuite/libgomp.c/pr26943-3.c: New test.
19397 * testsuite/libgomp.c/pr26943-4.c: New test.
19398 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19399 * testsuite/libgomp.c++/pr26943.C: New test.
19401 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19403 PR middle-end/27337
19404 * testsuite/libgomp.c++/pr27337.C: New test.
19406 2006-04-26 Jakub Jelinek <jakub@redhat.com>
19409 * testsuite/libgomp.c/pr26171.c: New test.
19411 2006-04-25 Richard Henderson <rth@redhat.com>
19414 * configure.ac: Use GCC_CHECK_TLS.
19415 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19416 * Makefile.in, aclocal.m4, configure: Regenerate.
19418 2006-04-10 Matthias Klose <doko@debian.org>
19420 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19421 directory names containing underscores.
19423 2006-03-21 Jakub Jelinek <jakub@redhat.com>
19426 * testsuite/libgomp.c++/pr26691.C: New test.
19428 2006-03-13 Jakub Jelinek <jakub@redhat.com>
19430 * testsuite/libgomp.fortran/retval2.f90: New test.
19432 2006-03-09 Diego Novillo <dnovillo@redhat.com>
19434 * testsuite/libgomp.c++: New directory.
19436 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
19438 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19439 * config/posix/sem.c: Implement the above.
19441 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19443 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19444 define HAVE_BROKEN_POSIX_SEMAPHORES.
19445 * configure: Rebuilt.
19446 * config.h.in: Rebuilt.
19448 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19451 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19452 for the other pthread check.
19453 * configure: Regenerate.
19454 * config.h.in: Regenerate.
19456 2006-02-15 Jakub Jelinek <jakub@redhat.com>
19460 * Makefile.am (fincludedir): New variable.
19461 (nodist_include_HEADERS): Remove Fortran files.
19462 (nodist_finclude_HEADERS): New variable.
19463 * Makefile.in: Regenerated.
19465 2006-02-13 Jakub Jelinek <jakub@redhat.com>
19467 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19468 Remove tests for returning assumed character length arrays.
19470 2006-02-12 Roger Sayle <roger@eyesopen.com>
19471 John David Anglin <dave@hiauly1.hia.nrc.ca>
19474 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
19476 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19478 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19480 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19482 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19483 part of LD_LIBRARY_PATH manually.
19485 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19488 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19491 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
19494 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19495 * configure.ac (PERL): Don't set.
19496 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19497 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19498 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19499 * omp.h.in: Wrap the new configure substitutions with @ characters.
19500 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19501 * aclocal.m4, configure, Makefile.in: Regenerate.
19502 * mkomp_h.pl: Delete.
19504 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
19507 * configure.ac: Use GCC_HEADER_STDINT.
19508 * libgomp.h: Include gstdint.h.
19509 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19510 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19512 2006-01-24 Richard Henderson <rth@redhat.com>
19515 * configure.ac: Add AM_MAINTAINER_MODE.
19516 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19518 2006-01-24 Diego Novillo <dnovillo@redhat.com>
19520 * Makefile.in: Regenerate.
19521 * testsuite/Makefile.in: Regenerate.
19522 * aclocal.m4: Regenerate.
19524 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
19526 * config/posix/proc.c: Conditional include of sys/loadavg.h for
19528 * configure.ac: Add check for loadavg.h.
19529 (link_gomp): Adjust comment.
19530 * configure: Regenerate.
19531 * config.h.in: Regenerate.
19533 2006-01-21 Steve Ellcey <sje@cup.hp.com>
19536 * configure.ac: Remove check for alloca.h.
19537 * configure: Regenerate.
19538 * config.h.in: Regenerate.
19539 * libgomp.h: define gomp_alloca to be __builtin_alloca.
19540 * team.c: Remove use of alloca.h.
19541 Call gomp_alloca instead of alloca.
19543 2006-01-20 Steve Ellcey <sje@cup.hp.com>
19546 * team.c: Add include of alloca.h.
19547 * configure.ac: Add check for alloca.h.
19548 * configure: Regenerate.
19549 * config.h.in: Regenerate.
19551 2006-01-17 Jakub Jelinek <jakub@redhat.com>
19554 * testsuite/libgomp.fortran/pr25219.f90: New test.
19556 2005-12-05 Uros Bizjak <uros@kss-loka.si>
19558 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
19559 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
19560 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19561 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19562 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
19563 testsuite/libgomp.fortran/threadprivate1.f90,
19564 testsuite/libgomp.fortran/threadprivate2.f90,
19565 testsuite/libgomp.fortran/threadprivate3.f90,
19566 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19567 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19568 testsuite/libgomp.fortran/omp_parse3.f90: Change required
19569 effective-target to TLS runtime.
19571 * testsuite/libgomp.fortran/pr25162.f: Require
19572 effective-target TLS runtime.
19574 2005-12-01 Jakub Jelinek <jakub@redhat.com>
19576 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
19577 * testsuite/libgomp.c/nestedfn-3.c: New test.
19579 2005-11-30 Jakub Jelinek <jakub@redhat.com>
19582 * testsuite/libgomp.fortran/pr25162.f: New test.
19584 2005-11-28 Jakub Jelinek <jakub@redhat.com>
19586 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
19587 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
19589 2005-11-25 Jakub Jelinek <jakub@redhat.com>
19591 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
19592 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
19593 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
19594 single.c, team.c, work.c, config/linux/alpha/futex.h,
19595 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
19596 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
19597 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
19598 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
19599 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
19600 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
19601 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
19604 2005-11-18 Jakub Jelinek <jakub@redhat.com>
19606 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
19607 to nodist_noinst_HEADERS.
19608 * Makefile.in: Rebuilt.
19610 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
19611 add integer count field.
19612 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
19613 omp_nest_lock_t type change.
19614 (omp_init_nest_lock): Likewise. Initialize count to 0.
19615 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
19617 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
19619 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
19620 Increment count if successful and return the new nesting level.
19621 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
19622 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
19623 * testsuite/libgomp.c/lib-1.c: New test.
19624 * testsuite/libgomp.fortran/lib1.f90: New test.
19625 * testsuite/libgomp.fortran/lib2.f: New test.
19626 * testsuite/libgomp.fortran/lib3.f: New test.
19628 2005-11-17 Richard Henderson <rth@redhat.com>
19631 * Makefile.am (nodist_toolexeclib_HEADERS): New.
19632 * configure.ac (link_gomp): New. Substitute it.
19633 (AC_CONFIG_FILES): Add libgomp.spec.
19634 * libgomp.spec.in: New file.
19635 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
19636 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
19638 2005-11-18 Jakub Jelinek <jakub@redhat.com>
19640 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
19641 reduction(-:var) behaving the same as reduction(+:var).
19642 * testsuite/libgomp.c/reduction-4.c: New test.
19644 2005-11-15 Uros Bizjak <uros@kss-loka.si>
19646 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
19647 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
19648 testsuite/libgomp.c/copyin-3.c,
19649 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19650 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19651 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
19652 testsuite/libgomp.c++/pr24455.C,
19653 testsuite/libgomp.fortran/threadprivate1.f90,
19654 testsuite/libgomp.fortran/threadprivate2.f90,
19655 testsuite/libgomp.fortran/threadprivate3.f90,
19656 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19657 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19658 testsuite/libgomp.fortran/omp_parse3.f90: Require
19659 effective-target TLS.
19661 2005-11-14 Diego Novillo <dnovillo@redhat.com>
19665 2005-11-13 Jakub Jelinek <jakub@redhat.com>
19668 * team.c (initialize_team): Pass NULL rather than free as
19669 pthread_key_create destructor. Initialize thread specific data
19670 pointer in initial thread to a static local variable rather than
19673 2005-11-11 Uros Bizjak <uros@kss-loka.si>
19675 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
19676 its location to ld_library_path.
19678 2005-11-10 Diego Novillo <dnovillo@redhat.com>
19680 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
19682 2005-11-10 Diego Novillo <dnovillo@redhat.com>
19684 * testsuite/libgomp.c: Rename from libgomp.dg.
19686 2005-11-09 Diego Novillo <dnovillo@redhat.com>
19688 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
19689 threadprivate variable 'i'.
19691 2005-11-09 Jakub Jelinek <jakub@redhat.com>
19693 * config/linux/s390/futex.h: New file.
19694 * configure.tgt: Use it.
19696 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
19697 before the parallel.
19699 2005-11-08 Jakub Jelinek <jakub@redhat.com>
19702 * testsuite/libgomp.c++/master-1.C: New test.
19704 2005-11-07 Jakub Jelinek <jakub@redhat.com>
19706 * testsuite/libgomp.dg/copyin-3.c: New test.
19708 2005-11-07 Jakub Jelinek <jakub@redhat.com>
19710 * testsuite/libgomp.fortran/retval1.f90: New test.
19711 * testsuite/libgomp.fortran/vla7.f90: New test.
19713 2005-11-06 Jakub Jelinek <jakub@redhat.com>
19715 * testsuite/libgomp.fortran/vla2.f90: New test.
19716 * testsuite/libgomp.fortran/vla3.f90: New test.
19717 * testsuite/libgomp.fortran/vla4.f90: New test.
19718 * testsuite/libgomp.fortran/vla5.f90: New test.
19719 * testsuite/libgomp.fortran/vla6.f90: New test.
19721 2005-11-01 Jakub Jelinek <jakub@redhat.com>
19723 * config/linux/sparc/futex.h: New file.
19724 * configure.tgt: Use it.
19725 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
19727 * critical.c: Include stdlib.h.
19728 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
19729 ignoring return value.
19730 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
19731 LIBGOMP_CHECK_SYNC_BUILTINS check.
19732 * configure: Rebuilt.
19734 2005-10-31 Jakub Jelinek <jakub@redhat.com>
19736 * testsuite/libgomp.fortran/vla1.f90: New test.
19738 2005-10-31 Richard Henderson <rth@redhat.com>
19740 * testsuite/libgomp.fortran/character2.f90: Fix race condition
19741 setting 's' in different threads.
19743 2005-10-31 Jakub Jelinek <jakub@redhat.com>
19745 * libgomp.h (attribute_hidden, ialias): Define.
19746 * config/posix/proc.c (omp_get_num_procs): Add ialias.
19747 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
19748 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
19749 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19750 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19751 omp_test_lock, omp_test_nest_lock): Likewise.
19752 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
19753 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19754 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19755 omp_test_lock, omp_test_nest_lock): Likewise.
19756 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
19757 omp_get_dynamic, omp_get_nested): Likewise.
19758 * parallel.c (omp_get_num_threads, omp_get_max_threads,
19759 omp_get_thread_num, omp_in_parallel): Likewise.
19760 * fortran.c (ialias_redirect): Define.
19761 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
19762 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
19763 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
19764 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
19765 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
19766 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
19767 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
19768 omp_get_wtime): Add ialias_redirect.
19770 2005-10-30 Jakub Jelinek <jakub@redhat.com>
19772 * fortran.c: Include stdlib.h.
19774 2005-10-29 Jakub Jelinek <jakub@redhat.com>
19776 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
19777 * Makefile.in: Regenerated.
19779 2005-10-28 Jakub Jelinek <jakub@redhat.com>
19781 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
19782 * libgomp_f.h.in (omp_check_defines): New function.
19783 * env.c: Include libgomp_f.h.
19784 (initialize_env): Call omp_check_defines.
19786 * testsuite/libgomp.dg/copyin-2.c: New test.
19787 * testsuite/libgomp.c++/copyin-2.C: New test.
19788 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
19790 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
19791 * testsuite/libgomp.fortran/sharing2.f90: New test.
19793 * testsuite/libgomp.dg/copyin-1.c: New test.
19794 * testsuite/libgomp.c++/copyin-1.C: New test.
19796 2005-10-26 Jakub Jelinek <jakub@redhat.com>
19798 * testsuite/libgomp.fortran/crayptr1.f90: New test.
19800 * testsuite/libgomp.fortran/workshare1.f90: New test.
19802 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
19804 * libgomp.fortran/sharing1.f90: New test.
19806 2005-10-24 Jakub Jelinek <jakub@redhat.com>
19809 * testsuite/libgomp.c++/loop-7.C: New test.
19811 * testsuite/libgomp.dg/nestedfn-2.c: New test.
19813 * testsuite/libgomp.dg/nestedfn-1.c: New test.
19814 * testsuite/libgomp.fortran/reduction6.f90: New test.
19815 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
19817 2005-10-23 Richard Henderson <rth@redhat.com>
19819 * testsuite/libgomp.c++/ctor-1.C: New.
19820 * testsuite/libgomp.c++/ctor-2.C: New.
19821 * testsuite/libgomp.c++/ctor-3.C: New.
19822 * testsuite/libgomp.c++/ctor-4.C: New.
19823 * testsuite/libgomp.c++/ctor-5.C: New.
19824 * testsuite/libgomp.c++/ctor-6.C: New.
19825 * testsuite/libgomp.c++/ctor-7.C: New.
19826 * testsuite/libgomp.c++/ctor-8.C: New.
19827 * testsuite/libgomp.c++/ctor-9.C: New.
19829 2005-10-21 Diego Novillo <dnovillo@redhat.com>
19832 * testsuite/libgomp.c++/pr24455-1.C: New test.
19833 * testsuite/libgomp.c++/pr24455.C: New test.
19834 * testsuite/libgomp.dg/pr24455-1.c: New test.
19835 * testsuite/libgomp.dg/pr24455.c: New test.
19837 2005-10-20 Richard Henderson <rth@redhat.com>
19839 * testsuite/libgomp.c++/loop-6.C: New.
19840 * testsuite/libgomp.dg/loop-3.c: New.
19842 2005-10-20 Jakub Jelinek <jakub@redhat.com>
19844 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
19845 explicitly private.
19846 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
19849 2005-10-19 Diego Novillo <dnovillo@redhat.com>
19851 * testsuite/libgomp.fortran/jacobi.f: New test.
19853 2005-10-19 Richard Henderson <rth@redhat.com>
19855 * configure.tgt (i?86-linux): Default to with_arch instead of
19856 CFLAGS. Add -mtune to match target_cpu.
19857 (x86_64-linux): Tune to i686.
19859 * fortran.c (omp_test_nest_lock_): Fix typo.
19861 2005-10-19 Jakub Jelinek <jakub@redhat.com>
19863 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19864 gomp_ordered_sync): Do nothing if team->nthreads == 1.
19865 * testsuite/libgomp.dg/ordered-3.c: New test.
19867 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
19868 Remove volatile keyword.
19870 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
19871 in COMMON block to avoid warnings on 64-bit targets.
19873 2005-10-18 Diego Novillo <dnovillo@redhat.com>
19875 * testsuite/libgomp.dg/shared-3.c: New test.
19877 2005-10-18 Jakub Jelinek <jakub@redhat.com>
19879 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
19880 * testsuite/libgomp.fortran/reduction5.f90: New test.
19882 2005-10-18 Jakub Jelinek <jakub@redhat.com>
19884 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
19886 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
19887 flush loop now that __sync_synchronize has proper memory barrier.
19888 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
19889 Add -ffixed-form to dg-options.
19891 2005-10-17 Diego Novillo <dnovillo@redhat.com>
19893 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
19894 from subdirectories.
19895 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
19896 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
19897 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
19898 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
19899 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
19900 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
19901 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
19902 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
19903 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
19904 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
19905 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
19906 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
19907 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
19908 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
19909 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
19910 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
19911 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
19912 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
19913 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
19914 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
19915 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
19916 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
19917 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
19918 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
19919 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
19921 2005-10-17 Jakub Jelinek <jakub@redhat.com>
19923 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
19924 lang_library_path exists. Use find instead of glob to gather tests.
19925 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
19927 2005-10-17 Diego Novillo <dnovillo@redhat.com>
19929 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
19930 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
19931 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
19932 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
19933 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
19934 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
19935 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
19936 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
19937 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
19938 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
19939 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
19940 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
19941 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
19943 2005-10-15 Jakub Jelinek <jakub@redhat.com>
19945 * testsuite/libgomp.dg/vla-1.c: New test.
19947 * testsuite/libgomp.fortran/reference2.f90: New test.
19949 * testsuite/libgomp.fortran/character2.f90: Remove explicit
19950 declaration of omp_get_thread_num.
19951 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
19954 * testsuite/libgomp.fortran/reduction1.f90: New test.
19955 * testsuite/libgomp.fortran/reduction2.f90: New test.
19956 * testsuite/libgomp.fortran/reduction3.f90: New test.
19957 * testsuite/libgomp.fortran/reduction4.f90: New test.
19959 2005-10-13 Richard Henderson <rth@redhat.com>
19961 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
19962 * Makefile.in: Regenerate.
19963 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
19964 * libgomp.h: Include bar.h.
19965 (struct gomp_barrier): Remove.
19966 (struct gomp_team): Add barrier. Replace master_barrier with
19967 master_release. Replace threads with ordered_release.
19968 (struct gomp_thread): Replace barrier with release.
19969 * ordered.c (gomp_ordered_first): Update for ordered_release change.
19970 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
19971 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
19972 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
19973 (GOMP_single_copy_end): Likewise.
19974 * team.c (gomp_threads_dock): New.
19975 (gomp_barrier_init, gomp_barrier_destroy): Remove.
19976 (gomp_thread_start): Use gomp_barrier_wait.
19977 (new_team, free_team): Update for gomp_team changes.
19978 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
19979 (gomp_team_end): Use gomp_barrier_wait.
19980 (initialize_team): Update for gomp_thread changes.
19981 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
19982 (gomp_work_share_end_nowait): Use atomic ops when available.
19983 * config/linux/bar.c, config/linux/bar.h: New files.
19984 * config/posix/bar.c, config/posix/bar.h: New files.
19986 2005-10-13 Jakub Jelinek <jakub@redhat.com>
19988 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
19989 * testsuite/libgomp.dg/single-2.c: New test.
19991 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
19992 lang_link_flags): Unset, so that they aren't inherited from previously
19995 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
19997 2005-10-12 Richard Henderson <rth@redhat.com>
19999 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20000 (libgomp_init): Use lang_test_file, lang_library_path, and
20001 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20003 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20004 (lang_test_file, lang_link_flags): New.
20005 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20007 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20008 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20009 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20010 testsuite/libgomp.c++/parallel-1.C,
20011 testsuite/libgomp.c++/reduction-1.C,
20012 testsuite/libgomp.c++/reduction-2.C,
20013 testsuite/libgomp.c++/reduction-3.C,
20014 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20015 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20016 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20017 New files, largely cribbed from the C testsuite.
20019 2005-10-12 Jakub Jelinek <jakub@redhat.com>
20021 * testsuite/libgomp.fortran/character1.f90: New test.
20022 * testsuite/libgomp.fortran/character2.f90: New test.
20024 * testsuite/libgomp.dg/nested-1.c: New test.
20025 * testsuite/libgomp.dg/nested-2.c: New test.
20026 * testsuite/libgomp.fortran/do1.f90: New test.
20027 * testsuite/libgomp.fortran/do2.f90: New test.
20029 * testsuite/libgomp.fortran/reference1.f90: New test.
20031 2005-10-11 Jakub Jelinek <jakub@redhat.com>
20033 * testsuite/libgomp.dg/reduction-1.c: New test.
20034 * testsuite/libgomp.dg/reduction-2.c: New test.
20035 * testsuite/libgomp.dg/reduction-3.c: New test.
20037 2005-10-10 Jakub Jelinek <jakub@redhat.com>
20039 * testsuite/libgomp.dg/atomic-1.c: New test.
20040 * testsuite/libgomp.dg/atomic-2.c: New test.
20042 2005-10-09 Richard Henderson <rth@redhat.com>
20044 * critical.c (atomic_lock): New.
20045 (initialize_critical): Initialize it.
20046 (GOMP_atomic_start, GOMP_atomic_end): New.
20047 * libgomp.map: Export them.
20048 * libgomp_g.h: Declare them.
20050 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20052 2005-10-02 Richard Henderson <rth@redhat.com>
20054 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20055 to XCFLAGS instead of CFLAGS.
20057 2005-09-30 Richard Henderson <rth@redhat.com>
20059 * configure.ac: Determine whether -pthread or -lpthread is needed.
20060 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20061 * Makefile.in, configure: Rebuild.
20063 2005-09-28 Richard Henderson <rth@redhat.com>
20065 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20066 * testsuite/libgomp.dg/omp-single-3.c: New test.
20068 2005-09-28 Diego Novillo <dnovillo@redhat.com>
20070 * testsuite/libgomp.dg/omp-single-2.c: New test.
20071 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20073 2005-09-27 Richard Henderson <rth@redhat.com>
20075 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20076 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20078 2005-09-27 Jakub Jelinek <jakub@redhat.com>
20080 * testsuite/libgomp.dg/omp-loop03.c: New test.
20082 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20084 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20086 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20088 * testsuite/libgomp.dg/omp-single-1.c: New test.
20089 * testsuite/libgomp.dg/shared-1.c: Return 0.
20090 Add prototype for abort.
20091 * testsuite/libgomp.dg/shared-2.c: Likewise.
20093 2005-09-26 Jakub Jelinek <jakub@redhat.com>
20095 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20098 2005-09-26 Diego Novillo <dnovillo@redhat.com>
20100 * testsuite/libgomp.dg/shared-1.c: New test.
20101 * testsuite/libgomp.dg/shared-2.c: New test.
20103 2005-09-24 Richard Henderson <rth@redhat.com>
20105 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20107 2005-09-24 Richard Henderson <rth@redhat.com>
20109 * iter.c (gomp_iter_static_next): Round up when computing number
20110 of iterations. Don't bother distributing a remainder equally.
20112 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20113 Don't call srand. Zero b before testing.
20116 2005-09-24 Jakub Jelinek <jakub@redhat.com>
20118 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20119 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20121 2005-09-23 Jakub Jelinek <jakub@redhat.com>
20123 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20124 without !$omp end do, followed immediately by subroutine end.
20126 2005-09-23 Diego Novillo <dnovillo@redhat.com>
20128 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20130 2005-09-22 Richard Henderson <rth@redhat.com>
20132 * critical.c (GOMP_critical_name_start): Change argument to void**.
20133 Reuse the pointer space if the mutex fits.
20134 (GOMP_critical_name_end): Likewise.
20135 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20136 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20137 (GOMP_critical_name_end): Likewise.
20138 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20139 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20141 2005-09-20 Richard Henderson <rth@redhat.com>
20143 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20144 (create_lock_lock): New.
20145 (initialize_critical): Initialize it.
20146 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20147 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20149 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20151 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20153 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20155 * testsuite/libgomp.dg/omp-loop01.c: New test.
20156 * testsuite/libgomp.dg/omp-loop02.c: New test.
20158 2005-09-20 Jakub Jelinek <jakub@redhat.com>
20160 * configure.ac (AC_PROG_FC): Add.
20161 (USE_FORTRAN): New automake conditional.
20162 * configure: Rebuilt.
20163 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20164 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20165 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20166 Add rules to build them.
20167 * Makefile.in: Rebuilt.
20168 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20169 OMP_NEST_LOCK_KIND.
20170 * libgomp.map: Add Fortran wrappers.
20171 * libgomp_f.h.in: New file.
20172 * omp_lib.h.in: New file.
20173 * omp_lib.f90.in: New file.
20174 * fortran.c: New file.
20175 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20176 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20177 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20178 libgfortran has been built.
20179 * testsuite/libgomp.fortran/fortran.exp: New file.
20180 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20181 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20182 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20183 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20184 * testsuite/libgomp.fortran/omp_hello.f: New test.
20185 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20186 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20187 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20188 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20189 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20190 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20191 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20192 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20194 2005-08-30 Richard Henderson <rth@redhat.com>
20196 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20197 function for when aliases are not usable.
20198 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20199 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20200 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20201 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20202 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20203 GOMP_loop_ordered_guided_next): Likewise.
20204 * ordered.c (GOMP_ordered_start): Likewise.
20206 2005-08-01 Diego Novillo <dnovillo@redhat.com>
20208 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20209 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20210 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20211 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20212 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20213 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20214 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20215 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20216 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20218 2005-07-07 Eric Christopher <echristo@redhat.com>
20219 Diego Novillo <dnovillo@redhat.com>
20221 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20222 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20224 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20225 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20226 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20227 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20228 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20229 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20230 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20232 2005-06-13 Diego Novillo <dnovillo@redhat.com>
20234 * TOPLEVEL.patch: Remove.
20236 2005-05-16 Richard Henderson <rth@redhat.com>
20238 * configure.ac: Test for clock_gettime.
20239 * config.h.in, configure: Rebuild.
20240 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20241 (omp_get_wtime): Use clock_gettime if available.
20242 (omp_get_wtick): Use clock_getres if available.
20244 2005-05-11 Richard Henderson <rth@redhat.com>
20246 * config/linux/ia64/futex.h: New file.
20247 * configure.tgt: Use it.
20249 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20251 2005-05-07 Richard Henderson <rth@redhat.com>
20253 * config/linux/powerpc/futex.h: New file.
20254 * configure.tgt: Use it.
20256 * config/linux/i486/futex.h: Merge ...
20257 * config/linux/x86_64/futex.h: ... into ...
20258 * config/linux/x86/futex.h: ... here.
20259 * configure.tgt: Update to match.
20261 2005-05-06 Richard Henderson <rth@redhat.com>
20263 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20264 * config/linux/i486/futex.h: Likewise.
20265 * config/linux/x86_64/futex.h: Likewise.
20267 * config/linux/lock.c: New file.
20268 * config/linux/omp-lock.h: New file.
20270 * critical.c, env.h: Don't include omp.h
20271 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20272 * config/posix/time.c: Likewise.
20273 * config/posix/omp-lock.h: New file.
20274 * libgomp.h: Include omp-lock.h and omp.h.
20275 * Makefile.am (nodist_include_HEADERS): New.
20277 * configure.ac (PERL): New.
20278 * mkomp_h.pl: New file.
20279 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20281 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20283 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20284 build directory. Re-add -march=i486 hack.
20286 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20287 (libgomp_link_flags): Remove.
20288 (libgomp_initialized): Remove.
20289 (libgomp_init): Don't protect from reinitialization. Copy code
20290 from libstdc++ for getting the multilib set correctly.
20292 2005-05-05 Richard Henderson <rth@redhat.com>
20294 * config/linux/alpha/futex.h: New file.
20295 * configure.tgt (alpha*-*-linux*): Use it.
20297 * config/posix/mutex.c: New file.
20298 * config/posix/sem.c: Use libgomp.h.
20300 * configure.tgt (x86_64-linux): Also test CC for -m32.
20301 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20303 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20306 * Makefile.am (SUBDIRS): New.
20307 (libgomp_la_LDFLAGS): Add -lpthread.
20308 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20309 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20311 * libgomp_g.h: New file.
20312 * libgomp.h: Split out all public declarations to libgomp_g.h.
20313 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20314 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20315 * config/linux/sem.h: Likewise.
20316 * config/posix/sem.h: Likewise.
20318 * Makefile.am (AM_LDFLAGS): New.
20319 (libgomp_version_script): Split out from ...
20320 (libgomp_la_LDFLAGS): ... here.
20321 (libgomp_version_info): New.
20322 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20323 (LIBGOMP_ENABLE): New.
20324 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20325 (LIBGOMP_ENABLE_SYMVERS): New.
20326 * configure.ac (AC_INIT): Version 1.0.
20327 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20328 (enable-linux-futex): Likewise. Rename from enable-futex.
20329 (libtool_VERSION): New.
20330 (LIBGOMP_ENABLE_SYMVERS): Use it.
20331 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20332 * Makefile.in, aclocal.m4, configure: Rebuild.
20334 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20335 (gomp_mutex_unlock_slow): Fix typo.
20336 * config/linux/sem.c: Similarly.
20337 (gomp_sem_post_slow): Fix typo.
20338 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20339 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20340 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20342 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20343 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20344 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20345 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20346 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20347 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20348 LDFLAGS. Pull enable_futex check to top-level.
20349 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20350 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20352 First attempt at real configury.
20353 * Makefile, config.h: Remove file.
20354 * Makefile.am, Makefile.in: New file.
20355 * acinclude.m4 aclocal.m4: New file.
20356 * configure.ac, configure.tgt, configure: New file.
20358 * config/posix/lock.c: Rename from sys-lock.c.
20359 * config/posix/mutex.h: Rename from sys-mutex.h.
20360 * config/posix/sem.c: Rename from sys-sem.c.
20361 * config/posix/sem.h: Rename from sys-sem.h.
20362 * config/posix/proc.c: Rename from sys-proc.c.
20363 * config/posix/time.c: Rename from sys-proc.c.
20365 * config/linux/mutex.c: New file.
20366 * config/linux/mutex.h: New file.
20367 * config/linux/sem.c: New file.
20368 * config/linux/sem.h: New file.
20369 * config/linux/i486/futex.h: New file.
20370 * config/linux/x86_64/futex.h: New file.
20372 2005-05-04 Richard Henderson <rth@redhat.com>
20374 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20375 * libgomp.h: Declare them.
20376 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20377 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20379 2005-05-04 Richard Henderson <rth@redhat.com>
20381 * libgomp-1 code drop
20383 2005-05-04 Richard Henderson <rth@redhat.com>
20385 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20386 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20387 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20388 (gomp_iter_static_next): Update.
20389 (gomp_ordered_static_next): Update.
20390 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20391 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20392 totally empty range.
20393 (gomp_loop_ordered_static_next): Refine test for calling
20394 gomp_ordered_static_next.
20395 * testsuite/ordered-1.c: Add case for more threads than iterations.
20397 * iter.c (gomp_iter_runtime_next_locked): Remove.
20398 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
20399 gomp_loop_guided_start, gomp_loop_ordered_static_start,
20400 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20401 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20402 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20403 gomp_loop_ordered_guided_next): Downcase name, make static, add
20404 an external alias with the old name.
20405 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20406 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20407 switch and call one of the above static functions.
20408 * libgomp.h: Update.
20410 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20411 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20412 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20413 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20414 GOMP_loop_ordered_guided_start): Update to match.
20415 * sections.c (GOMP_sections_start): Likewise.
20416 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20418 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20419 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20420 Use bounds check instead of modulus.
20421 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20422 (gomp_ordered_last): Don't sync with ordered_owner here.
20423 (gomp_ordered_next): Likewise.
20424 (gomp_ordered_static_loop_next): Likewise.
20425 * loop.c, libgomp.h: Update to match.
20427 * libgomp.h (GOMP_barrier): Declare.
20429 * testsuite/barrier-1.c: New file.
20430 * testsuite/critical-1.c: New file.
20431 * testsuite/ordered-2.c: New file.
20432 * testsuite/ordered-1.c: New file.
20433 * testsuite/sections-1.c: New file.
20434 * testsuite/single-1.c: New file.
20435 * testsuite/Makefile (TESTS): Add them.
20437 2005-05-04 Richard Henderson <rth@redhat.com>
20439 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20440 * loop.c (GOMP_loop_static_start): If not the startup thread,
20441 acquire the mutex to wait for initialization complete.
20442 (GOMP_loop_ordered_static_start): Likewise.
20443 (GOMP_loop_ordered_runtime_start): Likewise.
20444 (GOMP_loop_ordered_static_first): Remove.
20445 (GOMP_loop_ordered_dynamic_first): Remove.
20446 (GOMP_loop_ordered_guided_first): Remove.
20447 (GOMP_loop_ordered_runtime_first): Remove.
20448 * ordered.c (gomp_ordered_loop_first): Post to own release when
20449 we're the first thread.
20450 (gomp_ordered_loop_last): Wait on release if not owner.
20451 (gomp_ordered_loop_next): Likewise.
20452 (gomp_ordered_static_loop_init): New.
20453 (gomp_ordered_static_loop_next): Use ordered_owner.
20454 (GOMP_ordered_start): Likewise.
20455 * work.c (gomp_new_work_share): Initialize ordered_owner.
20457 2005-05-03 Richard Henderson <rth@redhat.com>
20459 * Makefile (OPT): New.
20462 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20463 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20464 * libgomp.h, libgomp.map, NOTES: Update to match.
20466 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20467 Add initialized and thr members.
20468 (gomp_thread_start): Pause when initially spawned to wait for
20469 the whole team to be created.
20470 (gomp_team_start): Release team members at the end.
20472 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20473 (f_foo_1): Use GOMP_loop_end.
20474 (f_foo_2): Use GOMP_loop_end_nowait.
20476 * testsuite/loop-2.c: New file.
20477 * testsuite/Makefile (TESTS): Add it.
20479 2005-05-03 Richard Henderson <rth@redhat.com>
20481 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20482 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20483 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20484 initial work_share.
20486 * testsuite/Makefile: New file.
20487 * testsuite/loop-1.c: New file.
20489 2005-05-03 Richard Henderson <rth@redhat.com>
20491 Initial implementation and checkin.
20493 Copyright (C) 2005-2023 Free Software Foundation, Inc.
20495 Copying and distribution of this file, with or without modification,
20496 are permitted in any medium without royalty provided the copyright
20497 notice and this notice are preserved.